
五月29,2019
Google跟踪代码管理器最佳做法:24条可行的技巧
于2019年5月29日更新。 Google跟踪代码管理器(GTM)是一款功能强大的工具,可让您添加和编辑跟踪代码(标签),而无需IT部门的大量干预。在一个仪表板中控制所有标签比将它们分散在您的网站上要方便得多’s source code.
但是在GTM中创建和管理标签,触发器和变量仍然需要一定的技能。如果您不确定如何最好地使用GTM,您可能会在帐户中遇到麻烦,或者在最坏的情况下可能会破坏网站功能并给客户/公司造成重大财务损失。您应立即遵循以下24种Google跟踪代码管理器最佳做法。
在我们继续之前,我’想要请你帮个忙– please 阅读本指南 carefully. 如果你 see that some Google Tag Manager best practices are missing, please let me know in the comments. The objective of this guide is to become an ultimate resource for beginners who are just starting to understand how tag management works.
我们有协议吗?好的!首先,让’首先从Google跟踪代码管理器最佳做法的候选清单入手,然后我们’将单独处理每个提示。

Google跟踪代码管理器最佳做法:各章
- 账户结构
- 变量,自动事件侦听器
- 开发者不是你的敌人
- 优化是当务之急
- 测验
- 部署方式
- 从硬编码解决方案迁移
- 保持饥饿,保持愚蠢
- Google跟踪代码管理器最佳做法:结论
Google跟踪代码管理器帐户结构
#1正确构造您的GTM帐户
Google跟踪代码管理器由帐户,容器和代码组成。这里的想法有点类似于Google Analytics(分析)帐户结构–一个帐户可容纳多个容器(在GA中’的属性)。每个容器都有其自己的Javascript代码,必须将其放置在网站中’s source code.
Google建议每个公司仅使用一个帐户,每个网站使用一个容器标签。但是我看到许多安装情况,其中仅为一家公司创建了多个GTM帐户,或者仅为一个网站创建了多个容器标签。多个GTM帐户/容器迟早会引起跟踪和诊断问题。
此外,随着帐户数量的增长,管理分布在多个帐户/容器中的标签,触发器和变量可能会成为噩梦。每个公司只能使用一个GTM帐户,每个网站只能使用一个容器标签。
当然,可能会有一些例外,例如两个网站(由于它们的主要相似点)可能使用相同的GTM容器代码。但是在这种情况下,仅在一个网站上设置触发器时,您将必须非常小心。
#2。使用命名约定
我可以’请充分强调这个Google跟踪代码管理器最佳实践对我来说有多重要。
如果你’如果您曾经真正使用过GTM,那么您可能已经发现,标记,触发器和变量的数量会迅速增长,从而难以管理混乱。因此,您应该使用明确的命名准则,这将帮助您更轻松地管理GTM实施。对您和您的队友来说更容易。更轻松=更少的风险,更少的时间以及更少的标签浪费。否则,将发生以下情况:

该图片的作者对我来说是未知的(可以’找不到)。我记得在GTM Google+社区中看到过它,然后从我的记忆中重新创建了它。
命名标签,触发器和变量的最佳技巧:
- 如果要创建Google Analytics(分析)标签,请包含跟踪类型。例如,标记名称中可以包含Pageview,Event或Social。对于AdWords标签,名称中可以包含标签类型,例如转化或再营销。
- 包括特定页面。 如果标签应在特定页面或一组页面(例如子目录)上触发,请在标签名称中包含页面/子目录。例子:
- GA浏览量–联系表。
- AW再营销–谢谢页面。
- 有关更多命名约定的提示 阅读这些提示

#3。使用资料夹
请记住,您可以将标签分组到单独的文件夹中,以便能够轻松对其进行排序并一目了然地了解它们的位置。
例如,您可以为供应商部门(市场,UX等)设置单独的文件夹,或者,如果容器包含多个域的标记,则可以为不同的站点创建文件夹。不幸的是,标记/触发器/变量一次只能位于一个文件夹中。您可以使用每个标签/触发器/变量中的下拉菜单将其保存在文件夹中。
#4。仅将GTM控制权提供给合适的人
Google标记管理器是一种非常强大的工具,如果以不负责任的方式使用或未经适当的考虑,计划和测试,可能会破坏您的网站功能。因此,您应该只允许那些真正参与标签部署的人员访问此工具。
GTM允许您在帐户和容器级别将访问权限委派给其他用户。可以授予用户在“帐户”级别查看或管理其他用户的权限,还可以在“容器”级别授予用户读取,编辑,批准或发布权限。
要添加或修改用户,请在标签管理器菜单栏中单击管理,选择所需的帐户或容器,然后单击“User Management”。创建一个新用户或编辑一个现有用户。每个用户可以访问以下4种权限级别:
- 读 :用户将看到列出的容器,并且可以浏览容器中的标签,触发器和变量,但是不能进行任何更改。
- 编辑 :用户有权创建工作区和进行编辑,但不能创建版本或发布。
- 批准 :用户有权创建版本,工作区并进行编辑,但不能发布。
- 发布:用户具有创建版本,工作空间,进行编辑和发布的完整权限。
小费– give “Publish”仅向了解GTM在您团队中最出色的团队成员授予许可。
#5。利用工作空间
Google跟踪代码管理器的最佳做法对大型团队特别有用。在GTM中,工作空间使您可以对容器创建多组不同的更改集。不同的用户和团队可以在单独的工作空间中进行这些更改集 与此同时 独立开发和测试标签配置。
使用工作区,您将可以处理多个容器草稿。本质上,在创建工作区时,新的容器草稿与最新的GTM容器版本是分开的,这成为您的新工作区。
每个容器都有一个版本流。创建新版本时,每个工作空间将显示该工作空间已过期的通知,并提示您更新工作空间。
当另一个工作区变成一个版本时,所有其他工作区将收到有关最新容器版本已更改的通知。在新容器版本中实现的任何更改都必须与所有其他工作区同步,然后才能将其转换为新版本。
您不必立即执行此操作,但是您会在“容器概述”中看到通知,提醒您需要使用最新容器版本中的更改来更新当前工作区。
在创建版本并从中发布之前,必须先更新工作空间。如果在更新时同步到您的工作空间的更改与工作空间中已经存在的任何更改之间存在任何冲突,您将在“工作空间概述”页面上看到“发现冲突”指示。选择解决冲突将使您进入冲突解决工具。
我不会详细介绍解决冲突的方法。您可以了解更多 在Simo’s blog post.

变量,自动事件监听器
#6。使用GA设置变量
如果您使用的是Google跟踪代码管理器和Google Analytics(分析),则已经知道您创建的每个新的Analytics(分析)标记都需要Google Analytics(分析)媒体资源ID(也称为跟踪ID),例如UA-XXXX123和其他设置。如果您要创建多个代码,则可能会很痛苦,并且还可能导致可能出现错别字/错误,这将导致您的代码稍后失效,因为您不会将数据发送到正确的GA帐户。
如果有一天您需要切换Google Analytics(分析)帐户并开始将数据发送到新帐户,该怎么办?好吧,你’我们将需要手动更改每个GA标签中的跟踪ID。那太烂了…
您是否知道Google跟踪代码管理器可以为您记住您的Google Analytics(分析)跟踪ID(和其他设置)?这样做可以节省时间,精力和价值。为此,您’ll need to create a Google Analytics(分析)设置变量 并在多个Google Analytics(分析)标签中重复使用。
#7。使用查询表
使用Google跟踪代码管理器中的查找表,可以更轻松地管理跟踪设置中的许多值。它可以大大减少所需标签的数量,并使您凌乱的GTM变成整洁的环境。
Google跟踪代码管理器中的查找表是一个变量,具有另一个变量的值作为输入。它是这样的: 当[输入变量]等于_______时,请将[此输出变量]设置为_______。
根据我的经验,最流行的用例是: 不同的Google Analytics(分析)跟踪ID –一个用于生产(实时)网站,另一个–开发版本。这样,来自“development”网站将被发送到我的GA测试帐户,并且不会破坏我的实际跟踪数据:
- 如果 页面主机名 等于 //www.toddblog.net, 组 查找表’s UA-11111111的值。
- 如果 页面主机名 等于 //dev.toddblog.net ,设定 查找表’s 价值UA-22222222。
你可以看一下 查找表教程 了解更多。
Hungry for more Google Tag Manage best practices? 如果 是, then continue reading. 如果你 feel tired, bookmark this guide 和 come back later.
更新资料 :GTM现在也提供 正则表。它们用作查找表+每个字段都支持正则表达式(更复杂的条件)。
#8。搜索现成的自定义自动事件侦听器
自动事件侦听器是一种Javascript函数,当网页上发生特定的互动时会触发Google跟踪代码管理器事件(又称为数据层事件)。该事件可用作触发代码的触发器。 GTM提供了一堆内置的自动事件侦听器,例如Click,Form,History侦听器。
但是,自动事件侦听器的列表并未在此处结束–您可以在线使用大量自定义监听器,例如这个 GTM食谱扩展库.
因此,如果要跟踪网站上的特定元素/动作,请检查是否可以公开使用现成的自动事件侦听器。
附言 如果你 actually find one, don’急于将其安装在Google跟踪代码管理器容器中。首先阅读下一个最佳实践,并找出原因。
开发者不是你的敌人
#9。在使用未知的Javascript代码之前,请先咨询开发人员
如果你 spot online some custom Javascript code published by top influencers in the Tag Management industry 要么 Digital Analytics in general (e.g. Simo Ahava 要么 Stéphane Hamel), then feel free to use their codes without a doubt in your GTM containers. At least I would do so. They are respected 和 well-known professionals, 和 it’他们极不可能发布一些低质量的材料。
但是,如果您确实找到了鲜为人知的作者发布的可能有用的代码,我强烈建议您在使用前咨询开发人员(如果可能)。尽管我一直与开发人员谈论在我的博客文章和GTM容器中发布Javascript代码,但这并不意味着每个人都这样做。
#10。利用数据层
对于自定义数据和触发器,Google跟踪代码管理器数据层非常有用。尽管对于初学者来说,这是一个很难理解的概念,但它是标签管理的关键部分之一。因此,无论您是否喜欢它,都必须了解它。
如果你 want to track certain parts/features of your 网站 和 default GTM auto-event listeners do not catch any interactions, my recommendation would be utilizing Data Layer.
只需要求您的开发人员将所需的数据放入数据层,然后Google跟踪代码管理器即可轻松访问它并将其用于触发器,标记或变量中。
强烈建议使用数据层的最常见示例:
- 表格追踪。如果GTM表单触发器没有’t catch your form’的提交内容,请开发者解雇 dataLayer.push 事件与您的数据’感兴趣。我已在上发布了详细的分步指南 如何使用数据层跟踪表单提交. 如果你’重新使用GTM进行表单跟踪,请考虑阅读我的扩展指南 使用Google跟踪代码管理器的7种表单跟踪方法.
- 从在线商店传递电子商务数据. 如果你 plan to track Google Analytics Ecommerce transactions with Google Tag Manager, your developers will need to push transaction data into Data Layer (e.g. product ID, price, etc.) by using that very same dataLayer.push 方法。
我还写了一篇关于 Google跟踪代码管理器中的数据层是什么 and how it works.
#11。要求开发人员添加访问者’IP到数据层的地址
如果你’遵循Google Analytics(分析)最佳做法,您已经在过滤公司’内部流量。但这仅影响Google Analytics(分析)报告。
那Facebook Pixel呢?还是AdWords再营销?将您自己的访问也排除在这些系统之外真是太棒了,’t it?
那里’实际上是解决此问题的一种非常简单的方法:
- 要求开发人员添加访客’数据层的IP地址。
- 在Google跟踪代码管理器中创建数据层变量。
- 将此IP例外更新为所有标记和触发器– they mustn’访客走火时’的IP地址等于 *你的办公室’s IP address*.
#12。要求开发人员添加“data-”重要网站元素的前缀
如果可能,请开发人员向您的网站添加其他有用的信息’s source code – e.g. ID 要么 “ data-id = xyz” 到您需要识别以进行跟踪的元素。让我给你看一个例子:
我曾经在一家名为Omnisend的初创公司工作。我们提供了一种电子邮件营销解决方案,可以轻松地与流行的电子商务平台(Shopify,Bigcommerce等)集成。在我们的旧版本中 网站 ,我们展示了电子商务供应商的各种徽标(我们称它们为 平台)。一些徽标将我们的访客重定向到应用商店(可以在其中安装Omnisend)。
因此,我对在我们的网站访问者中最受欢迎的供应商感兴趣。我要求开发者添加 数据- platform 属性分配给每个徽标,然后借助自动事件变量将这些数据传递给Google Analytics(分析)。
我已经写了详细的分步指南 我如何通过“data-platform”借助自动事件变量将其添加到GA.
#13。要求开发人员添加ID’重要网站元素
当您在同一页面上但位置不同时有多个号召性用语按钮时,此技巧很有用。它们都具有相同的CSS类和目标URL。您想在Google Analytics(分析)中单独跟踪它们。您在这里该怎么办?
要求开发人员为每个按钮添加ID,例如:
// ID of the first button is "菜单按钮" <a class="button" ID ="菜单按钮">//www.example.com</a> // ID of the second button is "页脚按钮" <a class="button" ID ="页脚按钮">//www.example.com</a>
然后在GTM中启用内置变量“Click ID”。单击后,在“预览和调试”控制台中’s Variables tab you’ll see that 点击编号 equals either “menu-button” 要么 “footer-button” ID.
您可以随意命名ID。只要确保每个ID在每个网页上都必须是唯一的即可。
优化是当务之急
#14。添加标签或自动事件监听器之前,请三思
如果你’re an avid fan of Google Tag Manager (like myself), you’ve probably many Google跟踪代码管理器食谱,谷歌搜索并测试了一堆其他自定义自动事件监听器(例如 Vimeo ). Are they all installed in your GTM containers? Do you constantly use them? 如果你r answer is 是, 那我的问题是 你也定期检查他们的数据吗?
我在这里的错误是我正在尽我所能追踪网站上的事件和互动。后来我意识到的问题是,我仅利用了大约10%的收集数据。其他一切只是我报告中不必要的干扰。
是的,滚动跟踪是一个了不起的功能,但是我在每个项目中都需要它吗?我是否总是需要跟踪Vimeo或Youtube播放器的互动?答案是 没有 。首先,您需要创建一个测量计划,然后 仅跟踪对特定项目重要的事情。 通过这种思维方式,您可以轻松地(至少)摆脱每个GTM容器中的几个自动事件侦听器。原因如下:
- 每个自动事件侦听器都是需要执行的一段代码。代码和请求越多,窗口完全加载所需的时间就越多。当然,通常,这些代码段很小,但是(假设地)将100毫秒乘以10,就会使页面加载持续时间增加1秒(PS这个示例加上另外的毫秒是不准确的。请接受盐粒)。
这里质量优先于数量。
#15。唐’t设置一次触发的标签过多
This limitation is a result of browsers, rather than of Tag Manager, but the consideration is still important. Browsers limit the number of HTTP requests that can happen at a time. 如果你 fire 10 different tags all on the same dataLayer event, for example, some tags will likely not fire. 如果你 still need fire most of your tags asap, consider 优先标记 或使用 标签排序.
测验
#16. Always Test Before 发布ing
这似乎很容易,但是有时我们仍然会这样做(当更改确实很小时,我们’重新着急)。为此不应该有任何借口!
无论GTM容器中进行了什么更改, 总是必须测试。 GTM提供了很棒的预览和调试模式,还有其他调试工具(例如 标签管理助手),可帮助您测试并快速发现错误。使用它们!
#17。使用调试工具
标签助手 和 GA调试器 是您应该知道的最受欢迎的调试工具之一。这两个都是免费的Google Chrome浏览器扩展程序,可让您的生活更加轻松。
标签助手 帮助解决各种Google标签的安装问题,包括Google Analytics(分析),Google Tag Manager,Adwords Conversion Tracking等。您可以 在这里找到更多。附言截至2月(2017),Tag Assistant仍不支持最新推荐 将GTM容器的代码段放置在网站的<head>,因此您会收到验证错误。我们都希望它将尽快得到解决。同时,您应该忽略它。
至于 GA调试器,我不会经常使用它(因为前面提到的调试工具为我提供了足够有价值的信息)。但是当涉及到电子商务跟踪时, GA调试器 对我来说是无可替代的。启用后,它会显示传递给Google Analytics(分析)的所有数据,因此我可以更快地进行故障排除。
如果你 want to learn more about the proper GTM debugging, 阅读本指南.
#18。查看Google Analytics(分析)实时报告
我已经看到许多初学者一旦通过GTM实施了Google Analytics(分析)跟踪,就不会查看他们的GA实时报告。他们错误地认为,一旦GA标签被触发(根据预览和调试控制台),他们的任务就完成了。但是那’这与事实相去甚远,因为在某些情况下,它们是不小心将数据发送到错误的Google Analytics(分析)媒体资源。不断检查实时报告可避免此问题。
Still thirsty for more Google Tag Manage best practices? 如果 是, then continue reading. 如果你 feel tired, bookmark this guide 和 come back later.
部署方式
#19。撰写清晰的版本说明
每当发布新的容器版本时,您就有机会命名容器版本并添加注释。您应该利用此选项为以后审核站点标记或对更改进行故障排除的人员留下完整的注释。
即使你不’t care about the auditor, you should care about yourself. Six months after you publish a new version of the GTM container, you won’t remember what you did 要么 why you did it. 大documentation will remember for you.
理想的版本说明应包含:
- 一个有意义的名称,反映了对其所做的添加和更改。
- 详细说明包括:
- 谁要求更改
- 谁发布了更改
- 此容器中有哪些新标签,触发器和变量
- 对现有标签,规则和变量进行了哪些更改
#20. 发布/Create versions in smaller chunks
在Google跟踪代码管理器中,容器版本的优点是可以在新实现的某些部分出现错误时还原以前的版本。想象一下,如果在单个版本中实施FB Pixel,GA跟踪,Google Ads跟踪等会发生什么。所有这些配置最终将以单个容器版本出现。如果Facebook Pixel实施不正确怎么办?因此,您必须回滚,以禁用Google Analytics(分析),Google Ads和其他标签(在该版本中)。
如果您首先实施Google Analytics(分析)跟踪并发布它,那就更好了。然后是Google Ads,然后是Facebook。然后在回滚期间,您只需要暂时摆脱Facebook’s标签,以确保GA和G广告标签保持正常运行。
此外,一次部署大型跟踪功能意味着测试过程将更加复杂,您将’我必须立即检查所有内容。
从硬编码实现迁移
#21。收集数据并首先验证
如果你 are migrating from hard-coded Google Analytics (where all tracking codes are scattered across the entire 网站 ) to Google Analytics via GTM, you should first let them both work 与此同时:
- 硬编码跟踪保持正常运行。
- GA通过GTM将数据发送到Google Analytics(分析)测试帐户(临时)。
一个星期左右后,您’我们将需要检查两个帐户中的Google Analytics(分析)报告。这些数字彼此之间的误差应在1-2%之内(它们将不完全匹配)。如果两个GA帐户中的数据似乎都不同步,请调查实施情况,看看是否可以找出不同之处。
Bounteous已发布了有关 如何安全地迁移到Google跟踪代码管理器.
#22。避免双重标记
在你之后’完成验证新的Google跟踪代码管理器实现(请参阅提示#19)后,删除旧的GA代码。这是我在标签部署中看到的最常见的问题之一。
如果你 have deployed tags via Google Tag Manager then you should remove the corresponding hard-coded tags from your 网站 as soon as possible. Failing to do so may result in inflation of your analytics data 和 duplicate pageviews/events.
保持饥饿,保持愚蠢
#23。关注行业新闻
如果您想成为第一个听到GTM新闻,解决问题或获得新想法的人,请加入这两个社区。
也, subscribe to the 分析狂热newsletter 像这样的综合性GTM指南。
#24。查看在线课程以使您入门和运行
当我在2013年初开始使用Google跟踪代码管理器时,我几乎无法解决所有问题。除了用户界面笨拙且难以理解之外,几乎没有关于如何开始并实现有意义的事情的信息。
但 在2015年引入Google跟踪代码管理器V2时,一切都发生了变化。完全重新定义的用户界面,更清晰的工作流程,自动事件监听器以及最重要的是-数量迅速增长的Google跟踪代码管理器在线课程和教程。
您可以从以下几个选项中进行选择:
- 免费的Google跟踪代码管理器迷你课程 (90分钟以上的视频内容)
- 保费 面向初学者的Google跟踪代码管理器课程 (具有9个小时的视频内容)。一世’一直在精心设计这一款它说明了与GTM相关的基本和中间主题,例如表单跟踪,转化和销售跟踪,GDPR等
- 保费 中级Google跟踪代码管理器课程 (+高级主题)。这是您对GTM感到满意(并退出GTM后 初学者专区)。您将学习如何解锁GTM ’潜力,正确测试您的实施,实施GA增强型电子商务等。
Google跟踪代码管理器最佳做法:结论
所以你有它–相当长的Google跟踪代码管理器最佳做法列表–从帐户结构到测试和部署。
我的建议– don’不能立即开始使用它们。尝试一个接一个,看看哪个最适合您的需求(并给出最大的结果)。
I’d要强调帐户结构(+命名约定),数据层和测试的重要性。
- 从长远来看,几乎不可能在混乱的标题标签,触发器和变量中工作。 那’s为什么需要在容器中有严格的订单.
- 如果你 end up in the dead-end 和 cannot track a particular interaction on your 网站 – ask the developer’s help. 他们可以通过以下方式推送数据 dataLayer.push. 通常,这可能花费他们很少的时间。
- 我保证 没有适当的测试,您的大多数营销标签将无法正常工作。我做了一个 一堆错误 并且在测试Google跟踪代码管理器实施时发现了所有这些错误。
哦,别’别忘了保持最新–关注GTM社区,论坛,博客(如Analytics Mania)以及影响者/思想领袖。
您有什么要添加到此博客文章中的吗?我错过了任何Google跟踪代码管理器最佳做法吗?一世’d很高兴在下面的评论中听到您的想法。

大article. Thank you 朱利叶斯 .
不客气,戴夫!
我们的代理机构为客户管理着一百多个网站,我们正在努力寻找最佳方法来管理营销活动的跟踪像素和触发器。目前,我们最大的问题是,让供应商直接访问每个站点GTM以放置像素/触发是否更有意义,或者这是否是我们应该提供的功能。
很想知道您对什么才有意义以及为什么的想法,谢谢!
It's up to you. 如果你r clients are paying you to manage their GTM containers, then do it yourself.
如果你r customers are willing to manage everything by themselves, then you can give them direct access. Although there's a higher risk of breaking the implementation (if your client is not experienced with GTM). 但 in that case you will be able to revert to older (working) container version (in case something goes wrong).
因此,您应该与每个客户分别决定。也许有些客户想要控制,而另一些则不需要。
感谢朱利叶斯的回应!
我想澄清的问题不是关于运行GTM的客户,而是关于让第三方供应商访问放置像素和设置触发器的权限。我们的主要第三方供应商对于具有这种访问级别非常犹豫,尽管其他几个较小的供应商也这样做没有问题。
我们试图确定的是从短期和长期的政策角度来看有意义的,以及对我们的数字营销供应商的合理期望。
如果你 have thoughts on best practice, we'd love to know 和 thanks again for your swift reply!
如果有些供应商犹豫不决并且害怕承担责任(如果我理解正确的话),则只能给他们“读取和编辑”权限,您的内部GTM专家可以批准和发布他们的更改。当然,这种工作流程不会非常灵活和快捷。
真不错的文章Julius,谢谢。
我们希望在我公司为GTM建立一些流程。立即改善的一件事是#15。
我没有更好的了解,所以我将所有最近添加的标签设置为在每个事件上触发。这将是我们要修复的第一件事:-)
在gtm中,客户端会将标签放置在容器中。但是,在站点的前端将需要什么级别的ux工作。
您能否分享有关ux工作的信息?
谢谢,
Prem
取决于您要实现的目标。有许多不同的情况。
您可以下载我的GTM清单(在侧栏中),其中提到了一些内容
非常感谢Juli
大&有用的文章朱利叶斯!谢谢。但是为什么所有文章都是关于GTM网站的?我处在一个模棱两可的情况下,GTM是否对Android应用程序有用,并实现了网站等Firebase事件?我在Analytics(分析)狂热中找不到有关此问题的任何文章。
I just specialize in 网站 tracking. 那's all :)