如何在Google Analytics事件中一次性传递多个变量?
好问题!其实你完全可以通过一次ga('send', 'event')调用同时传递type和id这两个变量,核心是利用Analytics.js事件参数的灵活性,下面给你两种常用的实现方案:
方案1:利用默认的label和value字段
Analytics.js的事件调用支持以下参数结构:
ga('send', 'event', [category], [action], [label], [value]);
你可以把type的值放在label字段,id的数值放在value字段,同时给事件设置一个统一的action(比如save,根据你的业务场景命名即可),合并后的调用代码如下:
onclick="ga('send', 'event', 'favorite', 'save', 'a', 100);"
category:保持你原来的favorite,代表事件所属的类别action:设为save(可自定义),描述这次事件的核心动作label:传递type的值a,用于标识事件的具体类型value:传递id的数值100,注意这个字段仅支持整数类型
这样在Google Analytics的事件报表中,你可以通过label筛选不同的type,通过value查看对应的id,同时这只会生成1条事件记录,而非原来的2条。
方案2:使用自定义维度(更适合单独分析两个变量)
如果你需要在GA后台对type和id进行单独的筛选、分组分析,推荐使用自定义维度。首先需要在Google Analytics后台(管理面板→自定义定义→自定义维度)创建两个事件级别的自定义维度(比如分别命名为"Favorite Type"和"Favorite ID"),假设它们的索引分别是1和2,然后通过fieldsObject参数传递这两个值:
onclick="ga('send', 'event', 'favorite', 'save', { 'dimension1': 'a', 'dimension2': 100 });"
这里的fieldsObject是可选参数,专门用来传递自定义维度、指标或其他事件配置项。之后你就可以在GA的报表中,通过这两个自定义维度拆分事件数据,单独分析不同type或id的表现。
需要注意的是:合并调用后只会产生1条事件记录,而原来的两次调用会产生2条。如果你的业务需要统计两次事件的触发次数,那合并就不适用;但如果只是需要在单个事件中携带这两个变量信息,上面的方案就完全满足需求。
内容的提问来源于stack exchange,提问作者user9528659

