Google 标签管理器 - 它是如何工作的?(建筑学)

Ale*_*uck 5 google-tag-manager

我不知道这是不是该问的地方,但它是编程(在某种程度上)。Google 标签管理器是如何工作的?

我的看法是:

  1. 页面加载
  2. GTM 代码加载并执行它的事情 _makes 检查 _creates dataLayer 对象 _invokes gtm.js 库(在浏览器中加载它整个) _pushes 基本对象到 dataLayer _“导入”标签、触发器和变量 _将它们附加到文档节点
  3. 配置为在“pageLoad”触发时触发的任何标记(将数据推送到 dataLayer)
  4. DOM 就绪(为“DOM 就绪”配置的任何标签触发)
  5. 窗口加载(为 'windowLoaded' fire 配置的任何标签)
  6. “触发器”(“规则”)等待附加到正确的 DOM 节点

用户与文档(页面)交互:

  1. 事件发生
  2. 规则('触发器')被评估
  3. 规则触发标签
  4. 标签将事件的信息推送到数据层

然后如何将来自 dataLayer 的数据发送到 Google Analytics、AdWords 或其他配置的服务?哪一段代码做到了这一点?

负责将事件推送到 dataLayer 的标签是否也可能将其发送到 GA 服务?或者是否有其他通用 GA 标签可以提取写入 DL 的所有内容,然后将其发送到 GA?

变量如何融入这个故事?在我看来,它既可以写入变量(标签可以将某些内容存储到预先设置的变量中),也可以在变量中预定义并由标签使用。

感谢您对此的任何澄清。

Kee*_*gan 0

所以你的一切基本上都是正确的,除了“4:标签将事件信息推送到数据层”。

标签是将数据发送到您选择的数据/分析平台的东西。

大多数情况下,您会使用需要 UA 代码的“Universal Analytics”标签。该代码会自动将您想要的任何类型的数据发送到您的 GA 帐户。您可以发送以下信息

  • 页面预览
  • 事件
  • 交易
  • 社会的
  • 定时
  • 装饰链接
  • 装饰形式

这些项目中的每一项都需要配置以允许您发送不同类型的信息。例如,发送事件时,需要包含事件类别、事件操作和事件标签。

变量的工作方式如您所提到的:

“某些东西可以在变量中预定义并由标签使用”

例如,没有 GTM 预定义变量来从下载按钮获取文件名。因此,我可以自己创建一个变量,然后在使用触发器或标签时引用该变量。在预览模式下,实际变量被推送到数据层,可以在那里找到。

把它包起来。如果您想跟踪 pdf 下载作为一个事件,请参阅这篇文章。在页面上查找我的答案,它应该为您的问题提供更全面、更适用的答案。

希望这能为您提供一些澄清。