什么是 gtag,为什么我必须将其与 google 标签管理器分开添加?

What is gtag and why do I have to add that separately from google tag manager?

我发现 Google 关于 Google 标签管理器 (GTM) 的文档在帮助我弄清楚哪些位去哪里方面很糟糕。

据我所知,GTM 要求您在页面上放置一个 <script> 片段,该片段应该引入其他代码片段,可以由 non-technical 用户配置。

不过,我是一名技术用户。也许这就是问题所在!我还发现 Google 使用 "tag" 一词来指代 HTML 元素标签(如 <script>)或他们自己专有使用该词来表示调用的问题另一个脚本中的函数 ("triggering a tag"),也无助地称为标记。

他们还有"gtag"这是什么——帮手?使您能够通过 GTM API 发送一般分析事件的东西? docs 简单地说:

The global site tag (gtag.js) is a JavaScript tagging framework and API that allows you to send event data to Google Analytics, Google Ads, and Google Marketing Platform.

...但是我们已经可以发送分析了吗?这增加了什么?

例如,我希望发送 e-commerce 购买事件

我发现要做到这一点,我需要向网站上的 header 添加带有两个 <script> 标签的新代码片段(我认为 GTM 意味着我不需要做这个?)来源 gtag.js,然后我可以在我的 javascript:

中的适当位置调用以下内容
gtag('event', 'purchase', { value: 1.23, transaction_id: 'test' });

或者没有它(虽然这似乎不起作用):

ga('require', 'ec');
ga('ec:addProduct', {name: 'test product', price: 1.23})
ga('ec:setAction', 'purchase', { id: 'test_id_1', revenue: 1.23 })

所以我的问题是:什么时候使用 gtag() 而不是 ga(),为什么 GTM 不能安装 gtag?

When would you use gtag() over ga()?

如果要将数据发送到支持的 Google 产品而不是 Google Analytics,请使用 gtag。正如您所指出的,“全局站点代码 (gtag.js) 是一个 JavaScript 标记框架,API 允许您将事件数据发送到 Google Analytics,Google 广告和 Google 营销平台。”,而 ga 仅适用于 Google 分析。 但是(见下文),您可能决定永远不使用 gtagga,而是始终使用 GTM.

Why can't GTM install gtag?

它可以(您可以让 GTM 标签插入一些 gtag 代码)但它不是重点,因为它们旨在用作 2 种不同的解决方案

  • gtag is a purely programmatic tracking tool 用于发送数据并且仅适用于 3 个 Google 产品(到目前为止 - 分析、广告、营销平台 - 将来可能会添加更多),它是通过简单的 copy/paste + 少量代码(如果需要定制)提供基本的开箱即用跟踪。

  • GTM is a tag manager:它可以以编程方式工作,但需要通过 GTM UI 对容器进行最低限度的配置(默认容器不会向任何地方发送数据),并且可以将数据发送到任何你想要的产品(只需要在 GTM 中设置相应的标签),同时具有一系列其他功能

几个问题帮你选择:

  • 我是否将数据发送到 Google Analytics/Ads/Marketing 平台以外的其他工具?
  • 我是否想使用 GTM 提供的一些额外功能(UI、版本控制、模板、调试、环境等...)?
  • 是否有一些跟踪通过纯自定义 JS(例如滚动跟踪)来实现会很繁重,而 GTM 可以使用其内置的侦听器(例如滚动跟踪)来实现?

If YES to any of the above, then use GTM

我个人从不使用 gtag,我总是用 GTM 代替它,因为它比 gtag 强大得多。

Google 正在做的是逐步用 gtag 替换他们所有的默认代码片段,这样他们只有 1 个统一的 API 需要维护,它是 对用户来说 copy/paste 很简单 (请记住,大多数用户并不精通技术,只需要将代码片段粘贴到他们的 CMS 中)。 强迫人们使用 GTM 会产生很大的摩擦 因为开箱即用的 GTM 根本无法跟踪任何东西,人们需要学习和配置 GTM,工作量太大与简单的 copy/paste.

注意:内置事件不使用类别、标签和值。发送这些事件时请注意使用正确的密钥。