Google Tag Manager 基础

GTM内有五个选项:概览、代码、触发器、变量,文件夹
概览(Overview)主要是看代码的版本号和谁修改的记录
代码(Tag)是主要是设置各种tag,满足触发器条件时向GA发送数据,或往页面添加代码
触发器(Trigger)主要是设置促发条件,如特定点击,页面浏览,接收数据层事件等
变量(Variable)主要是预定义一些基础的字段,如Cookie,常量,抓页面属性,对照表,数据层变量等用于触发器和代码的使用
文件夹(Folders)主要是项目合并,方便管理
整体来说主要使用的是变量、触发器和代码

右上角的发布包含发布,预览,新建版本
发布就是发布到正式环境,通常发布一次会生成一个新版本
预览是线上环境的debug,如果在demo环境做debug还需要使用 Tag Manager Injector
新建版本就将当前环境保存为一个新的版本,然后再发布

账号、容器、版本和管理:
账号(Account)就是登录GTM的账号,一般用Google账号,可以一起使用google anlaytics,google sheet等谷歌产品
容器(Container)对应是一个网站或APP,对应一套GTM代码
版本(Versions)就是每次发布会生成一个新的版本号
管理(Admin)主要是授权和账号设置
主要使用到的是版本,每发布一次就会生成一个新的版本,如果有意外出现,可以回退旧版本。

内置变量

内置变量是一种预先创建且不可自定义的特殊类别的变量。内置变量取代了以往创建新容器时生成的变量。
新容器一开始没有用户定义的变量,而是需要预先启用一些内置变量。用户可以根据自己的需要快速启用任何其他变量。
在整个跟踪代码管理器(如“变量选择”下拉菜单等位置)中都可使用已启用的内置变量。选定的内置变量启用后,即可按照使用其他变量的方法使用它们。
undefined

网页(网站和移动)

Page URL(网页网址):提供当前网页的完整网址。Eg:网页网址=网页主机名+网页路径 www.ichdata.com/2016/08/tag/analytics
Page Hostname(网页主机名):提供当前网址的主机名部分。Eg:www.ichdata.com
Page Path(网页路径):提供当前网址的路径部分。Eg:/2016/08/tag/googleanalytics
Page Referrer(网页引荐来源网址):提供当前网页的完整引荐来源网址。Eg:主要是包含广告系统的一些广告参数,如www.ichdata.com/2016/08/tag/analytics?id123&PPC=456&ADID=789,能够提供完成的网址URL

实用工具(网站和移动)

Event(事件):访问 dataLayer 中的“event”键,是当前 dataLayer 事件的名称(如 gtm.js、gtm.dom、gtm.load 或自定义事件名称)。Eg:预定义dataLayer的event,可以再页面促发的时候直接dataLayer.push 事件的形式,用触发器的的自定义事件接受
Environment Name(环境名称):如果通过环境“共享预览”链接或通过环境代码段发出容器请求,则返回用户提供的当前环境名称。对于内置环境,将返回“已发布”、“最新”或“正在修改”。在包括非环境容器请求的其他所有情况下,会返回空字符串。
Container ID(容器 ID):提供容器的公共 ID(如 GTM-XKCD)。
Container Version(容器版本):以字符串的形式提供容器的版本号。
Random Number(随机数字):生成一个介于 0 到 2147483647 之间的随机整数。
Advertising Tracking Enabled(已启用广告跟踪):对于 Android,如果启用了广告跟踪,返回 true,如果用户选择停用针对用户兴趣的广告,则返回 false。v4 以前的 SDK 版本将始终返回 false。对于 iOS 及更高版本,该值设置为advertisingTrackingEnabled 属性。否则,该值设置为 true。

错误(网站和移动)

Error Message(错误消息):访问 dataLayer 中的“gtm.errorMessage”键,由 JavaScript 错误触发器设置。这是一个包含错误消息的字符串。
Error URL(错误网址):访问 dataLayer 中的“gtm.errorUrl”键,由 JavaScript 错误触发器设置。这是一个包含出现错误的网址的字符串。
Error Line(错误行):访问 dataLayer 中的“gtm.errorLine”键,由 JavaScript 错误触发器设置。这是一个出现错误的网址中的行号。
Debug Mode(调试模式):如果容器当前在预览模式下运行,将返回 true。

点击(网站)(主要用于页面具体位置)

Click Element(点击元素):访问 dataLayer 中的“gtm.element”键,由“点击”触发器设置。这是对发生点击的 DOM 元素的引用。
Click Classes(点击类):访问 dataLayer 中的“gtm.elementClasses”键,由“点击”触发器设置。这是被点击的 DOM 元素的类属性的字符串值。
Click ID(点击 ID):访问 dataLayer 中的“gtm.elementId”键,由“点击”触发器设置。这是被点击的 DOM 元素的 ID 属性的字符串值。
Click Target(点击目标):访问 dataLayer 中的“gtm.elementTarget”键,由“点击”触发器设置。
Click URL(点击网址):访问 dataLayer 中的“gtm.elementUrl”键,由“点击”触发器设置。
Click Text(点击文字):访问 dataLayer 中的“gtm.elementText”键,由“点击”触发器设置。

表单(网站)(表单分析使用,事实上用ga-data的方式更简便)

Form Element(表单元素):访问 dataLayer 中的“gtm.element”键,由“表单”触发器设置。这是对表单的 DOM 元素的引用。
Form Classes(表单类):访问 dataLayer 中的“gtm.elementClasses”键,由“表单”触发器设置。这是表单的类属性的字符串值。
Form ID(表单 ID):访问 dataLayer 中“gtm.elementId”键,由“表单”触发器设置。这是表单的 ID 属性的字符串值。
Form Target(表单目标):访问 dataLayer 中的“gtm.elementTarget”键,由“表单”触发器设置。
Form URL(表单网址):访问 dataLayer 中的“gtm.elementUrl”键,由“表单”触发器设置。
Form Text(表单文字):访问 dataLayer 中的“gtm.elementText”键,由“表单”触发器设置。

历史记录(网站)

New History Fragment(新历史记录片段):访问 dataLayer 中的“gtm.newUrlFragment”键,由“历史记录更改”触发器设置。这是发生历史记录事件后相应网页网址的片段(即哈希)部分的字符串值。
Old History Fragment(旧历史记录片段):访问 dataLayer 中的“gtm.oldUrlFragment”键,由“历史记录更改”触发器设置。这是发生历史记录事件前相应网页网址的片段(即哈希)部分的字符串值。
New History State(新历史记录状态):访问 dataLayer 中的“gtm.newHistoryState”键,由“历史记录更改”触发器设置。这是网页推送到历史记录以触发历史记录事件的状态对象。
Old History State(旧历史记录状态):访问 dataLayer 中的“gtm.oldHistoryState”键,由“历史记录更改”触发器设置。这是发生历史记录事件前处于活动状态的状态对象。
History Source(历史记录来源):访问 dataLayer 中的“gtm.historyChangeSource”键,由“历史记录更改”触发器设置
上面是GTM默认已有的基础变量,但实际使用的过程中还经常会用到其他一些自定义变量

常用自定义变量:undefined

1、第一方Cookie

第一方Cookie变量返回的是浏览器cookie中该变量的值,例如cookie中有个字段是SERVICEID,值为karviainen,在Tag中设置该name,就可以在GTM中将该值读入。undefined
undefined

2、Http引荐来源网址

主要是拿到完整的URL,相关的参数或URL上面的关键字段,配置变量有如下
以http://www.ichdata.com/2016/08/tag/analytics?id123&PPC=456&ADID=789#test为例子
完整网址:完整的URL,www.ichdata.com/2016/08/tag/analytics?id123&PPC=456&ADID=789#test
协议:Http,这这个主要包含两种http和https
主机名:www.ichdata.com
端口:默认80,具体取决于网站设置
路径:/2016/08/tag/googleanalytics
查询:可以通过一个变量储存等号后面的字符,即提取URL上面的字段为GTM的变量,进一步可以将这个变量转成GA的自定义维度,多个字段的中间只能用&隔开(这种方法可以用于提取上面的广告参数转成维度)
片段:即#后面的字符

3、对照表

主要用于ga-data和大量event的解析转义,如表单分析中有很多需要用户填的表框,不同位置用一个数值表示,用户点击的时候就会将该数据发送回来,对照表将数值与具体的行为对应,输出。

4、常量

定义一个常量,如代码中经常需要使用的ga tracking id可以定义为常量,后续直接选择该常量就行

5、自定义js

可以通过js处理达到特定需要的变量,如抓取页面的id属性为变量,可以用于后续事件的精准定位

function() {var elem = {{element}},    attr = "id", // change this to the attribute that you want to get        result = (elem.getAttribute && elem.getAttribute(attr)) || null;if( !result ) {var attrs = elem.attributes,l = attrs.length;for(var i = 0; i < l; i++) {if(attrs[i].nodeName === attr)result = attrs[i].nodeValue;                }}return result;}

6、网址

有点类似Http引荐来源网址

7、JavaScript变量

抓取页面的全局变量,如Userid,ABtest时分类的标示字段

8、数据层变量

主要用于datalayer.push,这个主要配合对照表使用,批量做事件监控的时候会用到

9、自动事件变量

GTM内置的,但还不是变量,需要将里面的字段都用变量表示,后续会经常会使用

触发器

具体类型取决于事件,里面会用到各种变量用于定位
1、页面浏览
定位指定页面
2、点击
定位具体点击
3、自定义事件
接收variable 工具中event的值,也是datalayer.push的形式
里面还有可以做过滤,如定位具体页面,具体位置

代码:

Universal Analytics:
向特定的GA view发送数据
自定义html:
网页面插入代码,可用于事件监控,再营销代码部署,GA基础代码部署


来源:GA小站

GTM debug

GTM在配置后需要调试,看对应的代码(tag)是否促发,数据返回正确与否,特别是有代码(tag)使用js的时候,会往网页注入代码,因为这段代码是和页面代码一样运行的,如果错误可能会导致站点崩溃。
测试分两种,一种是在线上环境,一个是demo站点

线上环境:

主要是GTM中的“预览”,页面会出现下面的界面,简单的就是模拟过程,然后在GA的实时事件中查看对应的event是否促发。
undefined
如果没有,再检查这个页面:
首先是看左侧的,event是点击、还是浏览,主动push event,对应得选择该类型,如果不确定,可以重新模拟操作一次,然后观察左侧促发的类型,选择该类型,一般来说事件监控大部分是点击类型

然后看Tags Fired On This Event中,对应的tag是否被促发,如果没有,找到该促发tag,看哪个条件有问题,同时看variable中tag使用的字段是否有值,variable是GTM可以拿到的变量,如果是undefined就是没有值的意思;如果variable中需要使用的字段没有值,就是variable没有拿到,需要对variable做修改,如果variable有值,但tag没促发 ,可以点开该tag,可以看到具体是触发器的哪个位置有错,对应对触发器做调整。
最后就是重复上面的过程,直接event准确促发

demo站点:

如果在demo上测试,需要在chrome使用T
ag Manager Injector插件,其他的跟线上的一样,测试返回的数据也是在GA里面
undefined


来源:GA小站

GA中自定义数据导入

有时候需要将外部的数据导入到GA中进行修正或分析,GA提供了两种方式的数据导入,一种是直接导入utf-8的csv,利用API去导入,这里讲解如何导入csv格式的。
过程
1、新建数据集,这里有很多种格式可以,不同格式表示导入数据的不同类型,GA已经内置了多种格式,这里我们选用户数据集
GA中自定义数据导入
2、给数据集命名后,选择对应导入进入的视图后可以看到key和importdata,key表示的是GA数据的外键,也就是需要关联的字段,importdata表示要导入的数据集字段,然后根据需要选择是否覆盖,保存即可
GA中自定义数据导入
3、这里注意的是,导入csv的必须是utf-8的,为避免格式问题导致的错误,我们直接用上面卸载csv模板下来
GA中自定义数据导入
4、然后给模板文件填上数据就可以上传了
GA中自定义数据导入
上传成功


来源:GA小站

Leave a comment