Google Tag Manager变量(Variables)入门指南(2025)

Google Tag Manager Haran 9年前 (2016-05-04) 9613次浏览 0个评论
文章目录[隐藏]

更新时间:2024年12月3号

认识变量

变量就是一个获取和存储值的,可以被代码和触发器引用。

如Page URL,它在https://www.ichdata.com/about-me.html的值就是“https://www.ichdata.com/about-me.html”

 

变量的分类

变量可以分为:

  • 内置变量是一种预先创建且不可自定义的特殊类别的变量,只需要勾选就可以使用,非常方便。
  • 用户定义的变量:就是自定义变量,需要配置才可以使用,灵活度高。

内置变量

在GTM里点击「变量」,就可以看到内置内置变量

Google Tag Manager变量(Variables)入门指南(2025)

新容器一开始没有用户定义的变量,而是需要预先启用一些内置变量,点击“配置”就可以可以根据自己的需要快速启用任何其他变量

网页

  • Page URL(网页网址):提供当前网页的完整网址。Eg:网页网址=网页主机名+网页路径 http://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 之间的随机整数。
  • HTML ID(已启用广告跟踪):允许自定义 HTML 代码表明其已触发成功或失败;与代码触发顺序结合使用。

错误

  • 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”键,由“点击”触发器设置。

表单

这些变量往往与表单提交触发器结合使用,延伸阅读:GTM上用表单提交触发器做表单提交跟踪

  • 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”键,由“历史记录更改”触发器设置

视频

这些变量往往与Youtube视频触发器结合使用,延伸阅读:Google Analytics 4 中对YouTube视频做跟踪两种方法

  • Video Current Time(视频当前时间):访问 dataLayer 中的 gtm.videoCurrentTime 键,是一个整数,表示视频中事件的发生时间(以秒为单位)。
  • Video Duration(视频持续时间):访问 dataLayer 中的 gtm.videoDuration 键,是一个整数,表示视频的总时长(以秒为单位)。
  • Video Percent(视频百分比):访问 dataLayer 中的 gtm.VideoPercent 键,是一个整数 (0-100),表示事件发生时已播放的视频所占百分比。
  • Video Provider(视频提供商):访问 dataLayer 中的 gtm.videoProvider 键,由“YouTube 视频”触发器设置。这是视频提供商的名称,即“YouTube”。
  • Video Status(视频状态):访问 dataLayer 中的 gtm.videoStatus 键,表示检测到事件时视频所处的状态,如“play”、“pause”等。
  • Video Title(视频标题):访问 dataLayer 中的 gtm.videoTitle 键,由“YouTube 视频”触发器设置。这是视频的标题。
  • Video URL(视频网址):访问 dataLayer 中的 gtm.videoUrl 键,由“YouTube 视频”触发器设置。这是视频的网址,如“https://www.youtube.com/watch?v=gvHcXIF0rTU”。
  • Video Visible(视频可见):访问 dataLayer 中的 gtm.videoVisible 键,由“YouTube 视频”触发器设置。如果视频在视口中可见,则设置为 true,如果视频未在视口中显示(例如,不在首屏或在后台标签中播放),则为 false。

滚动

这些变量与滚动深度触发器结合使用,延伸阅读:用GTM里的滚动深度触发器跟踪页面访问深度

  • Scroll Depth Threshold(滚动深度阈值):访问 dataLayer 中的 gtm.scrollThreshold 键,由“滚动深度”触发器设置。这是一个数值,用于表明导致触发器触发的滚动深度。对于百分比阈值,将是一个范围为 (0-100) 的数值。对于像素,此数值表示被指定为阈值的像素数。
  • Scroll Depth Units(滚动深度单位):访问 dataLayer 中的 gtm.scrollUnits 键,由“滚动深度”触发器设置。其值为“像素”或“百分比”,表示为触发器触发阈值指定的单位。
  • Scroll Direction(滚动方向):访问 dataLayer 中的 gtm.scrollDirection 键,由“滚动深度”触发器设置。其值为“垂直”或“水平”,表示触发器触发阈值的方向。

公开范围

这些变量与元素可见性触发器结合使用,延伸阅读:「GTM」用元素可见性触发器跟踪表单提交

  • Percent Visible(可见百分比):访问 dataLayer 中的 gtm.visibleRatio 键,由“元素可见性”触发器设置,是一个数值 (0-100),表示当触发器触发时,有多少百分比的所选元素可见。
  • On-Screen Duration(在屏显示时长):访问 dataLayer 中的 gtm.visibleTime 键,由“元素可见性”触发器设置,是一个数值,表示当触发器触发时,所选元素在多少毫秒内保持可见。

上面是GTM默认已有的内置变量,只需要勾选就开启。

 

用户自定义变量

Google Tag Manager变量(Variables)入门指南(2025)

导航

  • HTTP引荐来源网址:上一级页面来源。
  • 网址:当前页面,可供选择的网址组成部分包括协议、主机名、端口、路径、查询、片段和文件扩展名。

 

网页变量

  • JavaScript变量:抓取页面的全局变量,如Userid,ABtest时分类的标示字段
  • 数据层变量:接受数据层里面的变量
  • 第一方Cookie:获取当前域名第一方Cookie的值,如有多个同名cookie,则获取第一个。
  • 自定义JavaScript:可以使用js去对一些变量做计算,然后返回值

 

页面元素

  • DOM元素:获取DOM元素文字或属性的值
  • 元素可见性:设置DOM元素的可见状态
  • 自动事件变量捕获有关触发事件(例如,点击、表单提交、元素可见性等)的项目的信息

 

实用工具

  • Google Analytics设置:Google Analytics一些基本设置,能重复使用。UA版本里的,已经弃用。
  • Google 代码:事件设置:设置事件参数和用户属性,延伸阅读:设置Google Analytics 4设置变量
  • Google 代码:配置设置:设置GA4一些基本设置,能重复使用,延伸阅读:设置Google Analytics 4设置变量
  • 对照表:通过对照表,您可以创建一个值随另一个变量的值而变化的变量,常用于多环境下不同GA4的管理,延伸阅读:「GTM」用对照表去管理多环境下的多个衡量ID
  • 常量:定义一个常量,如代码中经常需要使用的衡量ID可以定义为常量,后续直接选择该常量就行
  • 未定义的值:JavaScript中Undefined值。
  • 正则表达式表格:正则表达式表格变量类似于对照表变量,除对照表的功能外,它还可以针对您希望匹配的项运行正则表达式模式
  • 环境名称:返回在预览模式下查看的环境的名称。
  • 自定义事件:该值设置为推送到数据层的自定义事件的名称。
  • 随机数字:该值设置为介于 0 到 2147483647 之间的一个随机数字。

 

容器数据

  • 容器ID:返回跟踪代码管理器容器的 ID,例如“GTM-101010”。
  • 容器版本号:当容器处于预览模式时,容器版本变量会返回容器的预览版本号。在其他情况下,此变量将返回容器的实际版本号。
  • 调试模式:如果容器处于预览和调试模式,则该值设置为 true,否则设置为 false。

 

 

 

延伸阅读:

 


如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~
喜欢 (8)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址