GTM包含三部分
- tag: 添加到页面中的代码段
- trigger: 定义tags会执行的地点、时间
- variable: 用于接收和存储tag和trigger用到的信息
GTM出现的缘由
GTM出现之前,页面上的js代码是硬编码的。团队开发中,如果有一些很小的改动,可能你就被迫需要跟着改动。如果添加事件来实现,可能不适于紧急需求,并且需要定期维护。而且如果你在负责更新某一网页,追踪这些改动可能会带来麻烦。
GTM提供了一种更为友好的交互,会带领你一步一步创建tag,减少与js进行大范围的改动。首先需要将定制生成的追踪代码(也成为container tag)加入页面中。
这样,GTM就能允许任何有着合适的用户权限的人去添加、修改、调试你页面里的tag代码段。
更重要的是,你可以控制你的tag,并以你设计的任意方式快速便捷地实现追踪,而不需要受其他开发者的变动影响。
GTM和GA的关系
两者是完全不同的独立的工具,但是也可以配合使用。
GTM和GA搭配使用
有很多常见的方式可以让二者一起使用,比如:使用GTM发送数据的不同片段给GA,例如pageview和event(如果使用GTM,就不需要额外添加js到你的页面上)
示例:如何使用GTM发送数据给GA,统计网页上的资源(PDF,docx,xls等)下载量。需要关注两件事:
(1)有多少人下载了该资源
(2)当资源被下载时用户停留在哪个页面
GTM是你能便捷地设置一个click trigger和GA tag来帮你获取什么资源在哪里被下载的信息,而不需要给你的页面额外添加代码。
还可以使用GTM来设置这个数据什么时候需要被发送给GA。例如,你可能想在用户点击资源下载链接的时候发送一个虚拟pageview,可以使用GTM的trigger来定制这些条件。
GTM特别之处
免费;
由你控制:只需要插入一次代码段,就可以在任何你需要的时候作出修改。通过可用的debug工具和预览模式,你能清晰地在上线前知悉你做了什么;
不受限制:可自己定制符合需求的代码段,可以插入到移动端;
和GA一同带来炫酷的特性:GTM使得一些复杂的GA特性的实现变得简单,例如uer id的追踪(测量真实用户而不是设备的数据),以及一些通用特性例如定制维度、跨域追踪、增强的电子商务;
便捷地追踪更多的东西,例如网页上的youtube视频、打印追踪和AJAX表格提交;
无需担心安全问题;
debug中心化:通过debug选项、内建的错误检查和版本控制,你使用GTM所做的一切在上线前都会被测试和调试。
应该什么时候迁移至GTM
任何时候都可以,尤其是当你还没有升级至GA的最新版本时。
LunaMetrics
LunaMetrics是GTM的搭档,可以帮助你更好实现GTM和GA。
virtual pageview
当客户端从经典的GA升级到GTM实现的通用的分析工具时,我们可能会疑惑这些virtual pageview是如何从内联代码转变为通过GTM实现的。这里提供几种方式帮助迁移到GTM实现的分析工具。
什么是virtual pageview
向GA发送页面访问记录而不重新加载页面,这就是virtual pageview.
当GA在一个页面上加载时,会触发一个标准的页面访问记录。有时候我们想触发一次页面访问记录,但是不想重新加载页面或者真的跳转到另一页面。如以下场景,可以使用virtual pageview来帮助解决:
- 一个联系人表格,动态提交到它本身,而不需要重新加载页面;
- 追踪资源文件的下载;
- 图片的模态框弹出窗口,或信息抓取的表格;
- 多步骤的动态购物车页面。
以前触发virtual pageview的方式
|
|
这些代码靠手工加入内联HTML代码中,会耗费开发人力资源,如果这样的代码很多的话,纯靠手工容易出错。
用使用GTM触发virtual pageview的方式
首先需要安装GTM;
使用以下代码来替代上述代码段:
|
|
dataLayer
是供GTM在页面上读取的对象,它允许我们发送指令给GTM。
这段代码可以根据你要发送给GA的virtual url和virtual title的不同进行修改,可以内联放置,也可以放在页面任何位置的javascript函数中。当它执行时,会将命令插入dataLayer
中,GTM会获取并执行。
创建必要的tag, rule和macro
只有在GTM设置好必要的2个macro(分别对应上述的virtualPageURL和virtualPageTitle), 1条rule(对应于上述event), 1个tag之后,在不同的地方插入的上述代码才能执行。文中有一些配置示例截图。
设置好了之后,当上述代码被触发时,无论dataLayer.push
传入了什么信息,都会触发一个virtual pageview。上百个内联代码或脚本实现也都是触发那2个macro, 1条rule和1个tag。
PDF下载以及表格提交的追踪配置
还以前面的资源下载链接为例,页面中有几千个PDF文件下载链接,你想以同一个virtual pageview来追踪它,而不改变其中任一链接。
在GTM创建一个单击链接和的监听器, rule, tag,将其放入要追踪PDF下载情况的页面里。
文中有一些配置示例截图。
总结
根据我对这些资料的理解,GTM的出现是为了让开发者从纷繁的第三方追踪tag中解放出来,节省开发人员在追踪页面某些功能上耗费的精力。
GTM主要包括container, tag和trigger。一个container包括这个网站需要的所有tag,每个tag都用于追踪某一事件,trigger用于触发相应的tag.