不久前我遇到了类似的问题。问题是,您不能在 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,因为事件只会被记录为 ddimension1
等于的综合浏览量,happy cat
因为这是 GA(或 UA)认为用户在触发事件时一直在查看的页面,并且该页面仅dimension1
设置为happy cat
. 由于这两个电话是async
,您实际上永远无法知道事件是否已发送到您认为它到达的综合浏览量,即使正如我解释的那样。
记录此类数据的更好方法是使用 url 编码的类别名称,空格分隔,并在列表末尾附加一个空格。例如,您必须将综合浏览量发送为,
ga('send','pageview',{'dimension1':'grumpy-cat happy-cat '});
或者更好,如,
ga('set',{'dimension1':'grumpy-cat happy-cat '});
ga('send','pageview');
还要注意末尾的空格。这个额外的空间允许您使用 reg-ex 过滤基于自定义变量的任何报告<categoryName>\s
。例如,要了解有多少人查看了类别为 Grumpy Cat 的页面,您将过滤报告以dimension1
匹配 regex grumpy\-cat\s
。我已经使用 , 转义了-
正则表达式中的字符\-
,并\s
代表空白字符。好消息是,这样的报告会为您获取所有页面浏览量(或您想要查看的任何内容),仅具有grumpy cat
as 类别名称的页面,以及页面所属类别grumpy cat
中的页面。
添加子类别的一种方法是发送维度,cat1 cat1-subcat1 cat1-subcat2 cat2 cat2-subcat1
以便正则表达式cat1\s
处理所有类别级别的页面,而正则表达式cat1
将处理所有具有类别cat1
或具有属于的子类别的页面cat1
。
希望有帮助。:)
附带说明一下,使用事件来查看包含类别的页面并不是记录它的好方法。因为,如果您分配维度(这是引入自定义维度的原因之一,因为不同的网站有不同的类别,Google 无法全部命名),您的事件也将携带页面的维度,这很有帮助确定哪些类别需要什么,只需将您的报告细分为,在您的情况下,dimension1
。例如,您将了解哪个类别的 SEO 访问量最高,哪个类别的转化率最高,等等。快乐分析!:)