将“读取时间”的键添加到数据层以在 Google 标签管理器/分析中进行跟踪

问题描述

使用 WP 插件,我将为每篇文章添加“阅读时间”。注意:阅读时间仅显示阅读文章所需的时间,而不是用户阅读我的文章的时间。

我想将此值作为自定义维度提取Google Analytics(分析)中。我想比较人们在页面上停留的时间(平均在页面上的时间)与阅读整篇文章所需的时间(阅读时间)。

我知道我需要向数据层添加一个“读取时间”密钥,然后将该密钥拉入 GTM。但是,文档并没有明确为读取时间等值添加到数据层的键。或者如果可能的话,如何为其创建一个Google Analytics(分析)能够理解的密钥。

任何可能的解决方案?

解决方法

密钥可以是您喜欢的任何东西。假设在文章加载时此信息应该可用,您可以将信息从页面代码推送到数据层,或者使用窗口加载的页面视图触发器从 GTM 中的自定义 HTML 标记推送信息。

<script>
// Example of getting the read time value from a 
// DOM element with a class "read-time"
var readTime = document.querySelector('.read-time').innerText;

dataLayer.push({
  // Give an event name so that we know exactly when
  // the data becomes available in the dataLayer.
  event: "Article Viewed",// Add the data
  article: {
    readTime: readTime,title: "How to write a blog post",// other useful article-related properties
  }
});
</script>

当您的 dataLayer 推送成功运行后,您可以在 GTM 中添加一个 dataLayer 变量,以使其他标签可以使用读取时间。我的代码示例中的 dataLayer 键是 article.readTime

将此值作为自定义维度发送到 GA:

  1. 向 GA 添加自定义维度。将范围设置为“命中”并记下索引以备后用。
  2. 在 GTM 中,添加 Universal Analytics 代码并将“跟踪类型”设置为事件。 “事件类别”可以是“文章”,“事件操作”可以是“文章查看”,“事件标签”可以是网页网址或网页路径的 GTM 内置变量。
  3. 这很重要:将“非交互命中”设置为“True”。
  4. “Google Analytics Settings”应该是您的 GA 设置变量。选中“启用此标签中的覆盖设置”框。展开“更多设置”和“自定义维度”。
  5. 点击“添加自定义维度”并输入您为此在 GA 中定义的自定义维度的索引。然后,在值字段中,将 dataLayer 变量放入读取时间。
  6. 添加“事件”类型的触发器。在“事件名称”字段中,输入数据层推送的事件名称(在我的示例中为“已查看文章”)。保存触发器并确保将其添加到标记中。
  7. 保存代码并在预览模式下对其进行测试。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...