我正在尝试使用Google通用分析及其自定义维度。
在一个页面上,我想为一个(和一个)维度发送多个值。
我试过了:
ga('send', 'pageview', {'dimension1': 'grumpy cat'})
ga('send', 'pageview', {'dimension1': 'happy cat'})
当我使用谷歌API时,我可以获得我刚刚发送的所有值的维度1 - 所以它运作良好。
但是我认为(我不确定)我不应该在同一页面上多次发送一次网页浏览,因为它会破坏网页浏览指标。
所以我尝试使用自定义指标(网页浏览毕竟是指标):
ga('send', 'metric1', {'dimension1': 'grumpy cat'})
ga('send', 'metric1', {'dimension1': 'happy cat'})
但是这个根本不起作用:(
似乎ga.('send'...
只接受pageview
,但它很奇怪(如果它是可能的唯一值,为什么在参数中指定pageview
?)
如何解决我的问题?这只是一个语法问题,自定义维度/自定义指标是不可能的?我可以实际使用pageview
来做吗?我应该使用自定义事件吗?
谢谢!
*编辑*
我实际上发现我可能会使用带有以下标签的事件:
ga('send', 'event', 'cat', 'view', 'grumpy')
ga('send', 'event', 'cat', 'view', 'happy')
(如果有人可以确认或发表评论我会对此感到满意)
答案 0 :(得分:16)
我有一段时间遇到过类似的问题。问题是,您无法在Google Analytics(GA)和Universal Analytics(UA)中将多个值推送到单个自定义变量(维度或指标)。当您将多个值推送到单个页面(或会话或用户,取决于自定义变量的范围,维度或指标,如果您使用的是UA)的自定义变量,维度或指标时,会发生什么?最后报告的值是唯一记录的值。最后一个值将覆盖先前设置的值。因此,您尝试使用2个不同的值为自定义变量(或维度)记录两个综合浏览量。
在您的情况下,假设一个人在包含两个类别grumpy cat
和happy cat
后加载搜索结果页,并且您希望通过报告自定义变量或维度将其记录在自定义变量或维度中变量(或维度)两次,如果按照你提到的顺序发送它们,
ga('send', 'pageview', {'dimension1': 'grumpy cat'});
ga('send', 'pageview', {'dimension1': 'happy cat'});
您只是记录两种不同的综合浏览量(这将以无数种方式扭曲您的报告,具体取决于您可能拥有的数量或类别)。例如,如果一个人访问超过5个类别,您将有重复的综合浏览量,并且您的页面上的时间将大大减少,因为根据UA(或GA)这些综合浏览量(最后一个除外)将持续少于不到一秒钟。
此外,您要链接到这些自定义变量(或维度)的任何事件都只会链接到上次推送的网页浏览或自定义变量(或维度)。例如,如果您设置了事件跟踪,以确定与搜索结果进行了多少人互动,以及您是否希望按类别进行过滤(现在在您的情况下为dimension1
),则了解有多少人互动当dimension1
等于grumpy cat
时,页面会显示为0,因为只有d dimension1
等于happy cat
的网页浏览才会记录事件,因为那是页面哪个GA(或UA)认为用户在触发事件时一直在查看,该页面只有dimension1
设置为happy cat
。由于这两个电话都是async
,你实际上永远无法知道这些事件是否被发送到你认为它去过的网页浏览,就像我解释的那样。
记录此类数据的更好方法是使用url编码的类别名称,空格分隔,以及附加到列表末尾的空格。例如,您必须将网页浏览发送为,
ga('send','pageview',{'dimension1':'grumpy-cat happy-cat '});
或更好,as,
ga('set',{'dimension1':'grumpy-cat happy-cat '});
ga('send','pageview');
注意最后的空间。这个额外的空间允许您使用reg-ex <categoryName>\s
根据自定义变量过滤任何报告。例如,要查看有多少人查看了类别为Grumpy Cat的页面,您将过滤报告,以使dimension1
与正则表达式grumpy\-cat\s
匹配。我使用-
转义了正则表达式中的\-
字符,\s
代表空格字符。好消息是,这样的报告会抓取您所有的综合浏览量(或任何您想要查看的内容),只有grumpy cat
作为类别名称的报告,以及那些在grumpy cat
中有cat1 cat1-subcat1 cat1-subcat2 cat2 cat2-subcat1
的报告。页面所属的类别。
添加子类别的方法是将维度发送为cat1\s
,以便正则表达式cat1
将处理所有类别级别的页面,而正则表达式cat1
将处理所有页面它具有类别cat1
或具有属于dimension1
的子类别。
希望有所帮助。 :)
另一方面,对包含类别的页面的视图使用事件并不是记录它的好方法。因为,如果您分配尺寸(这是引入自定义尺寸的原因之一,因为不同的网站有不同的类别而Google无法全部命名),您的活动也会带有页面的尺寸,这会有很大的帮助通过简单地按照您的情况分割报告{{1}}来确定哪些类别需要哪些类别。例如,您将了解哪个类别的SEO访问率最高,哪个类别具有最佳转化率和内容。快乐分析! :)
答案 1 :(得分:0)
如前所述,您不能一次推送多个值。但是,这仅表示收集事件数据的方法不正确,也就是说,这不再是页面查看事件。我的情况不同,但是解决方法如下:
['white', 'grumpy', 'hungry'].forEach(condition =>
dataLayer.push({event: 'cat-condition', condition})
)
代码段假定您已在页面上配置了GTM容器以启用dataLayer。
最后,在GA中创建自定义报告以处理猫的状况。当然,您可以根据每只猫的病情推送更多详细信息,以便将其与页面详细信息等相关联,但是通过这种方式,您将拥有一个非常灵活的解决方案,可以从一开始就对数据进行标准化。