【问题标题】:Universal Analytics - push multiple values for one dimension and one pageviewUniversal Analytics - 为一个维度和一个综合浏览量推送多个值
【发布时间】:2019-10-08 05:26:35
【问题描述】:

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

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

我试过了:

ga('send', 'pageview', {'dimension1': 'grumpy cat'})
ga('send', 'pageview', {'dimension1': 'happy cat'})

当我使用 google API 时,我可以为我的 dimension1 获取我刚刚发送的所有值 - 所以效果很好。

但是我认为(我不确定)我不应该在同一页面上发送多次浏览量点击,因为它会破坏浏览量指标。

所以我尝试使用自定义指标(浏览量毕竟是一个指标):

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

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

【问题讨论】:

  • 您的目标到底是什么?标签和自定义维度不是一回事。
  • 我想跟踪哪些猫出现在搜索结果列表中(该列表是异步加载的)。我正在考虑使用像“cat_id”这样的自定义维度和像“search_hit”这样的自定义指标。 Google API 在自定义事件方面也非常强大,所以我不确定哪种方法是最好的方法。

标签: google-analytics


【解决方案1】:

不久前我遇到了类似的问题。问题是,在 Google Analytics (GA) 和 Universal Analytics (UA) 中,您不能将多个值推送到单个自定义变量(维度或指标)。当您将多个值推送到单个页面(或会话或用户,取决于自定义变量、维度或指标的范围,如果您使用 UA)的自定义变量、维度或指标时会发生什么情况是最后报告的值是唯一记录的值。最后一个值覆盖先前设置的值。因此,您尝试使用自定义变量(或维度)的 2 个不同值记录两次综合浏览量。

在您的情况下,假设某人在包含 grumpy cathappy 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 与正则表达式 grumpy\-cat\s 匹配。我已经使用\- 转义了正则表达式中的- 字符,\s 代表空白字符。好消息是,这样的报告会为您获取所有页面浏览量(或您想查看的任何内容),仅以 grumpy cat 作为类别名称的页面,以及在 类别中具有 grumpy cat 的页面 页面所属的页面。

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

希望对您有所帮助。 :)

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

【讨论】:

  • 你知道在一行中计算所有结果的方法吗?例如,如果你想计算 'grumpy-cat' 你会得到每个 grumpy-cat 外观的不同行,比如 'happy-cat grumpy-cat sad-cat'、'grumpy-cat'、'happy-cat grumpy -猫'。每个都有一个结果值,我想把它们全部加起来。
  • 我不是很有经验的谷歌分析用户,但你不能把你的维度设置为:ga('set',{'dimension1':'grumpy-cat,happy-cat'}); - 用逗号分隔,最后没有空格 - 然后过滤你的报告只有grumpy\-cat,最后没有空格正则表达式?
【解决方案2】:

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

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

代码 sn-p 假设您在页面上配置了 GTM 容器以启用 dataLayer。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    相关资源
    最近更新 更多