12

我正在尝试使用谷歌通用分析及其自定义维度。

在一页上,我想为一个(并且只有一个)维度发送多个值。

我试过了:

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')

(如果有人可以确认或有意见,我会很高兴)

4

2 回答 2

23

不久前我遇到了类似的问题。问题是,您不能在 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 catas 类别名称的页面,以及页面所属类别grumpy cat中的页面。

添加子类别的一种方法是发送维度,cat1 cat1-subcat1 cat1-subcat2 cat2 cat2-subcat1以便正则表达式cat1\s处理所有类别级别的页面,而正则表达式cat1将处理所有具有类别cat1或具有属于的子类别的页面cat1

希望有帮助。:)

附带说明一下,使用事件来查看包含类别的页面并不是记录它的好方法。因为,如果您分配维度(这是引入自定义维度的原因之一,因为不同的网站有不同的类别,Google 无法全部命名),您的事件也将携带页面的维度,这很有帮助确定哪些类别需要什么,只需将您的报告细分为,在您的情况下,dimension1。例如,您将了解哪个类别的 SEO 访问量最高,哪个类别的转化率最高,等等。快乐分析!:)

于 2014-01-14T07:58:58.253 回答
0

如前所述,您不能一次推送多个值。但是,这只是表明收集事件数据的方法不正确,即这不再是页面查看事件。我的情况不同,但解决方案如下:

  • 你有多个值可以同时推入 UA,比如猫的特征,例如白色、脾气暴躁、饥饿
  • 现在,您实际上意识到这不是页面查看事件,而是另一个维度 - 猫视图/条件/功能 - 将其命名为您喜欢的任何名称;
  • 您在 GTM 中创建了一个自定义事件,称为“cat-condition”;
  • 您在 GTM 收集猫条件中创建一个新标签;
  • 您在 GA 和 GTM 中创建该自定义维度,并且每次必须记录猫的状况时,您都会执行类似于以下的操作(极其简化的代码示例
['white', 'grumpy', 'hungry'].forEach(condition =>
     dataLayer.push({event: 'cat-condition', condition})
)

代码片段假定您在页面上配置了 GTM 容器以启用 dataLayer。

最后,在 GA 中创建一个自定义报告来处理猫的情况。当然,您可以为每只猫的状况推送更多详细信息,以便能够将其与页面详细信息等相关联,但这样您就有了一个非常灵活的解决方案,数据从一开始就被规范化。

于 2019-10-07T21:26:35.830 回答