Javascript 基于cookie值的谷歌分析数据

Javascript 基于cookie值的谷歌分析数据,javascript,cookies,google-analytics,embed,Javascript,Cookies,Google Analytics,Embed,我们有一个网站,使用GA跟踪跟踪交通,并能够使用嵌入GA组件到我们的CMS 但是,我们有一个实例,其中它只有一个站点,但其中的位置不同,因此客户可以选择一个位置,并且只显示相关数据。这都是由浏览器上的cookies值处理的 例如,cookie name=“LocationId” cookie value=“墨尔本” 在GA中(也在嵌入式GA中)是否可以显示依赖于网站cookie值的数据?不是默认情况下,而是通过少量编程和配置 GA中没有数据字段“cookieValue”,因此您必须自己创建。转到

我们有一个网站,使用GA跟踪跟踪交通,并能够使用嵌入GA组件到我们的CMS

但是,我们有一个实例,其中它只有一个站点,但其中的位置不同,因此客户可以选择一个位置,并且只显示相关数据。这都是由浏览器上的cookies值处理的 例如,cookie name=“LocationId” cookie value=“墨尔本”


在GA中(也在嵌入式GA中)是否可以显示依赖于网站cookie值的数据?

不是默认情况下,而是通过少量编程和配置

GA中没有数据字段“cookieValue”,因此您必须自己创建。转到特性设置、自定义定义、自定义标注,然后单击“新建自定义标注”

您需要决定自定义维度的“范围”。由于客户端位置在会话期间可能不会更改,因此您可能会选择“会话范围”,这意味着最后选择的值将应用于会话中的所有点击

您的新维度将有一个在接口中使用的名称,以及一个向此数据字段发送数据所需的数字索引。如果这是您的第一个自定义维度,则索引将为1

接下来,您需要获取cookie值。javascript有很多cookie getter函数,最简单的可能是

window.getCookie = function(name) {
  match = document.cookie.match(new RegExp(name + '=([^;]+)'));
  if (match) return match[1];
}
在调用该函数定义之前,请确保该函数定义包含在页面中。只有当cookie只存储一个值时,它才会非常有效

然后,您可以将该值发送到Google Analytics。自定义维度需要与交互点击(页面视图、事件、计时等)一起发送

您可以将它们与每次点击一起发送:

... (code that loads analytics.js)....
ga('create', 'UA-XXXXX-Y', 'auto');
// event will be only applied to the pageview, not the event
ga('send', 'pageview', {
  'dimension1':  getCookie('LocationId');
});
ga('send','event','eventCategory','eventAction');
... (other page code) ...
如果您查看send调用,您会发现第三个参数用花括号括起来,即所谓的配置对象,它允许您为命中传递一个或多个配置值;在本例中,它用于设置自定义维度的值,该值由“dimension”关键字后跟要向其发送数据的维度的数字索引来表示

另一种语法是使用“set”调用。这将发送一次值,并使其与所有后续交互调用一起发送:

... (code that loads analytics.js)....
ga('create', 'UA-XXXXX-Y', 'auto');
ga('set','dimension1', getCookie('LocationId'));
// dimension will be applied to both pageview and event
ga('send', 'pageview');
ga('send','event','eventCategory','eventAction');
... (other page code) ...
但是,对于会话范围的自定义维度,这并不重要,因为每个会话只需设置一次值就足够了

自定义维度不是标准报表的一部分(它们毕竟是自定义的),但您可以选择它们(根据您在配置期间提供的名称)作为辅助维度,将它们用于分段,创建自定义报表或Google Data Studio报表,或在API集成中使用它们