Google Tag Manager Introduction
在一个网站中,可能会用到 Google Analytics 代码、 Google Adwords 再营销代码、以及 Double Click 相关的跟踪代码,代码的部署可能会反复修改,网络营销人员需要和网站技术反复沟通和确认。大量的代码部署难免出错,为了解决这个问题,Google Tag Manager(下文简称GTM) 应运而生。使用它,只需点击几下鼠标就可以发布新代码,无需反复更新调试,也无需为了网站代码更新等待数周。
使用 GTM 之前,需要在网站添加一份 GTM 代码,在此之后的任何修改,都不用修改网站的代码,只需要在 GTM 的后台配置即可。
GTM 的账号结构
GTM 的账号结构如下图:
使用 GTM 之前,必须得有一个 Google 账号进行登入,登入之后,会进入一个账户列表的界面,一个 Google 账户下可以存在多个 GTM 账户。通常情况下,一个公司只需要一个 GTM 帐户,如果需要管理多个公司的网站,则通过多个帐户进行管理。
一个 GTM 账户下可以有多个容器,一般来说,一个容器就是一个站点,用于保存某个特定网站的所有跟踪代码。
一个容器下可以有多份代码,也就是说一个站点下既可以有 Google Analytics 代码,也可以有 Google Adwords 代码。需要说明的是,这里的一份代码只代表一个功能,比如,都是 GA 的代码,在某个情况下触发 pageview 的代码,在另一种情况下触发事件代码,这算作两份独立的代码,需要分别配置。
名词解释和操作说明
前文中已经提到诸如 GTM 账号、容器这些名词,除此以外,还有一些名词需要注意:
- 宏
- 规则
- 代码
举个例子,“当用户的状态为登陆时,用户的访问通过自定义变量标记为已登录,反之,标记为未登录”,翻译成 GTM 的语言,可以是这样:
当第一方 cookie isLogin 的值等于 1 时,用户的访问通过自定义变量标记为已登录;
当第一方 cookie isLogin 的值等于 0 时,用户的访问通过自定义变量标记为未登录。
1. 这两句话中的 “第一方 cookie isLogin” 部分,指的就是“宏”
利用宏,您可以指定基于动态条件的规则,宏的设置界面如下图:
除了第一方 Cookie,宏的类型还可以是以下其中之一:
- DOM 元素
- HTTP 引荐来源网址
- JavaScript 变量
- 常量字符串
- 数据层变量
- 随即数字
- 网址
- 自定义事件
2. “当第一方 cookie isLogin 的值等于 1 时” 表示一个规则,这里的“是否登陆”就是引用了刚刚我们创建的宏
在 GTM 后台设置这条规则如上图所示。等于是一种匹配规则,除了等于,可以选择的匹配规则还有下面十几种:
规则是独立存在的,只有将 规则 和 代码 结合,规则才有意义,下面将说明如何配置它们。
3.”用户的访问通过自定义变量标记为已登录” 这句话表示一条代码
还是以 GA 为例,新建一个 GA 代码时,需要指定代码类型、网络媒体资源 ID、跟踪类型等信息:
在更多设置里添加自定义变量,具体的设置如下图:
同时,需要设定触发规则,限制只有登陆状态的用户访问才附加上面的自定义变量。这里选择我们刚刚创建的名字叫 登陆状态 的规则。
然后保存该条代码。同样的道理,再建立一条非登陆用户触发的代码,在未登录的情况下触发。
版本和调试
类似于项目的发布,GTM 的更新也有调试和版本管理的功能。
为了防止误操作引起数据异常,在代码正式上线之前需要进行调试和创建版本。打开调试之后,会在您的网站页面下方嵌入一个调试窗口,告诉你哪些代码在该页面触发了,哪些代码没有被触发,如果结果并不是你预料的那样,就去检查一下哪个设置项有问题,如果全部准确无误,就可以创建一个新版本了。
创建一个新版本的代码之后系统默认并不会立即使用最新版本的代码,而是需要手动发布该版本,发布之后线上的网站才会使用刚刚发布的那个版本的代码。
使用限制
虽然 GTM 预定义了很多实用的宏和规则,但它也不是万能的,比如需要监测某个按钮的点击次数,这时候 GTM 就无济于事,只能乖乖地在页面上给那个按钮绑定 onclick 事件。
GTM 确实可以简化代码部署的流程,同时更易于统一管理,对于使用 Google 服务的大中型网站来说,还是值得尝试的。本文转自http://ratwu.com/2013/05/google-tag-manager/