在 Google 跟踪代码管理器中使用 GA Bigquery 导出架构变量

Posted

技术标签:

【中文标题】在 Google 跟踪代码管理器中使用 GA Bigquery 导出架构变量【英文标题】:Using GA Bigquery Export Schema Variables in Google Tag Manger 【发布时间】:2018-09-24 16:51:21 【问题描述】:

是否有一种简单的方法可以访问谷歌标签管理器中的分析会话变量?

我正在使用 BigQuery 连接多个数据库。一个主要挑战是将 GA 会话与在同一会话中触发的特定标记(更具体地说,双击标记)连接起来。

我有一个变量(用户 ID),可用于将我的 GA 会话与该标签连接起来。但是要获得触发该标签的特定会话,我必须使用时间戳做很多变通方法。

在我的双击代码中触发会话 ID(访问 ID 和 Google 客户端 ID)会容易得多。这样,稍后将通过 BigQuery 中的简单 JOIN 语句解决问题。但我不知道如何在 Google 标签管理器中定义这些变量。一定有简单的方法吧?

【问题讨论】:

客户端代码中没有 Google Analytics(分析)会话标识符(因为 2012 年引入了 Universal Analytics,会话是在 GA 服务器上计算的)。有关实用的解决方法,请参阅 Xtothels 的回答 - 根据定义,会话范围的自定义维度每个会话只有一个值,因此可以用作代理会话标识符(并且也将导出到 BQ)。 双击我猜你的意思是 dfp(对于发布者)并且你正在尝试使用 BQGTM 模拟 Dmp。在您达到 dfp 的限制之前,这听起来不错。请记住这一点;) 【参考方案1】:

您可以尝试定义自定义 JS 变量并生成会话 ID,如下所示:

function() 
  var SID = sessionStorage.getItem('mySID');
  if(SID == null)
    sessionStorage.setItem('mySID',Date.now()+"-"+Math.random());
  
  return SID;

然后将其存储在会话范围的自定义维度中。

【讨论】:

这将是一个不错的解决方案,但我猜它只适用于浏览器会话,而不适用于同一浏览器会话中的不同 GA 会话? 到目前为止,我的解决方案是使用一个公共变量(在本例中为 GA ID),然后使用标记触发时间戳来匹配每个 GA 会话 30 分钟窗口。 sessionStorage 数据应该比 GA 会话“持续”短,因为 GA 中的自定义维度设置为会话范围 CD,它应该匹配 GA 的会话定义。或者,您可以每次生成一个新 id,因为它是一个会话范围的 CD,它将应用于整个 GA 会话。 另请注意,GA 会话并非严格意义上的 30 分钟。默认设置是会话在 30 分钟不活动后结束。这并不意味着会话都是 30 分钟长。例如,如果用户在 0 分钟访问页面,在 29 分钟点击发送,然后在 58 分钟发送另一个点击,那么在该时间点会话仍然是相同会话,时长为 58 分钟。 当我们进行此操作时,会话也会在午夜(在您的 GA 设置的时区)、500 次点击后或(根据定义)频道属性发生变化时结束。

以上是关于在 Google 跟踪代码管理器中使用 GA Bigquery 导出架构变量的主要内容,如果未能解决你的问题,请参考以下文章

Google跟踪代码管理器不工作?

Javascript 在 Google 跟踪代码管理器中获取选中的单选字段的值 [重复]

尽管正在执行DataLayer推送,但未触发Google跟踪代码管理器代码

使用跟踪代码管理器未在 Analytics 中显示增强型电子商务数据

使用唯一的用户ID下载Google Analytics信息

javascript 使用Google Analytics和BU GA跟踪器跟踪下载情况