关于 google-tag-manager
面向营销和分析团队的 Google Tag Manager 指导技能,涵盖容器审计、标签设计、Consent Mode v2、服务端标记和问题排查,并按影响与工作量排列建议。
主要功能
- 01审计标签、触发器、变量和组织结构
- 02提供 GA4、Ads 和 Meta 标签指导
- 03提供 Consent Mode v2 实施建议
- 04评估服务端 GTM 的决策因素
- 05使用预览、Tag Assistant 和浏览器调试
适用场景
- 01检查 GTM 容器的跟踪与同意设置缺口
- 02排查 GA4 事件值缺失问题
- 03将转化触发器限定到正确页面
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ thatrebeccarae/ claude-marketing --skill google-tag-manager安装后在 Claude Code 中输入/google-tag-manager确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
EXAMPLES.mdLICENSEREFERENCE.md详细介绍
Google Tag Manager
Google Tag Manager 专家级指南——涵盖容器审计、标签与触发器架构设计、触发问题调试、Consent Mode v2 实施,以及服务端标记建议。
安装
git clone https://github.com/thatrebeccarae/claude-marketing.git && cp -r claude-marketing/skills/google-tag-manager ~/.claude/skills/
核心功能
容器审计与优化
全面审计容器的六个核心方面:概览统计、标签清单、触发器检查、变量审计、文件夹整理和命名规范评估。识别未使用的标签、重复的 GA4 配置标签、转换标签中过于宽泛的触发器、未定义的变量路径,以及 Consent Mode 配置缺口。按影响和工作量对建议进行优先级排序。
标签架构
为所有常见标签类型提供专家指导:
- GA4 Configuration (
gaawc) — 每个域名使用一个,包含衡量 ID(始终通过常量变量设置)、增强型转化设置和共享配置。所有 GA4 事件标签都必须将其指定为配置标签。 - GA4 Event (
gaawe) — 触发单个事件,其参数来源于数据层变量。引用gaawc配置标签。 - Google Ads Conversion Tracking — 转化 ID + 标签,值和币种来自数据层;增强型转化使用去重标签 ID。
- Google Ads Remarketing — 转化 ID,以及用于受众构建的自定义参数。
- Meta Pixel — 基础代码 + 标准事件(PageView、ViewContent、AddToCart、InitiateCheckout、Purchase)。应使用模板库中的社区模板,而不是自定义 HTML。
- Custom HTML — 不受沙盒限制的 JavaScript,会带来 CSP 风险。仅在模板库中没有可用替代方案时使用。
- Community Templates — 经过审核的第三方模板,适用于 Cookiebot、OneTrust、HotJar、Meta Pixel、LinkedIn Insight Tag 等。始终优先于 Custom HTML 使用。
触发器设计
将触发器与标签正确匹配并限定范围,是影响数据质量的最大因素。完整的触发器类型分类请参阅 REFERENCE.md。关键原则:
- 对需要 DOM 的分析标签,使用 Page Load 触发器(Page View、DOM Ready、Window Loaded)
- 对数据层事件使用 Custom Event 触发器——事件名称必须完全匹配
- 使用 Element Visibility 衡量滚动深度和首屏内容
- 使用 Consent Initialization 触发器设置同意默认值——必须先于所有衡量标签触发
- 转化或再营销标签绝不能使用 All Pages 触发器
变量策略
Data Layer Variables (v2) 是采集跟踪值的正确方式。关键策略:
- 使用常量变量设置所有衡量 ID、API 密钥和容器 ID——更新一次即可应用到所有位置
- 使用带点号路径的 Data Layer Variables 访问嵌套电商对象(
ecommerce.value、ecommerce.transaction_id) - 使用 Lookup Table 变量将内部类别名称映射为跟踪值
- 使用 Custom JavaScript 变量计算衍生值——请注意沙盒限制(无法访问 DOM、无法使用 fetch、无法异步执行)
- 使用 Event Settings Variable,在多个事件标签之间共享可复用的 GA4 事件参数集
Consent Mode v2
四个同意参数决定用户拒绝同意时 Google 标签的行为:
analytics_storage— GA4、Google Analyticsad_storage— Google Ads Cookie 存储ad_user_data— 向 Google Ads 发送用户数据以进行匹配ad_personalization— 再营销和个性化功能
Advanced mode(建议用于 DTC):用户拒绝同意时,标签会以无 Cookie 的方式触发,从而支持 Google 的转化建模。需要设置 wait_for_update,让 CMP 有时间在标签触发前确定用户选择。
实施顺序很重要——默认同意状态必须在任何衡量标签加载前触发。完整实施细节请参阅 REFERENCE.md 的 Consent Mode v2 部分。
服务器端 GTM
服务器端 GTM 会将标签处理从浏览器移至服务器容器(GCP 或其他替代方案),从而提高数据质量、避免广告拦截器的影响,并支持服务器端数据丰富。关键决策因素包括:广告拦截器导致的数据损失率、隐私要求、Meta CAPI 需求、托管预算(在 GCP 上约为每月 $30-50),以及设置所需的技术能力。
服务器容器无法自动获取浏览器中的同意状态 — 必须在浏览器向 sGTM 端点发送的请求中显式传递同意状态。
调试
- 预览模式 — 在配对的浏览器标签页中启动 GTM 调试器。左侧面板显示事件时间线;右侧面板显示每个事件的标签触发状态、变量值和数据层状态。
- Tag Assistant — 与 GTM 预览模式集成。同意状态标签页显示每个事件的同意参数状态。
- 浏览器控制台 — 检查
window.dataLayer,按事件名称筛选 - 网络面板 — 检查 GA4 collect 请求,验证参数,并检查表示同意状态的
gcs参数
工作流:完整容器审计
要求审计 GTM 容器时:
-
转化跟踪验证 — 确认存在 GA4 配置标签,测量 ID 存储在常量变量中(而非硬编码),已启用增强型转化,且 Google Ads 转化标签存在并正确配置。
-
标签清单 — 列出所有标签:名称、类型、状态(已暂停/已启用)、触发器,以及标签触发选项(不限次数/每页一次/每个事件一次)。标记未使用、已暂停或重复的标签。
-
触发器审查 — 列出所有触发器及其条件。标记任何关联到所有页面触发器的转化或再营销标签。检查转化触发器的条件是否指定了具体 URL。
-
变量审计 — 确认已启用建议的内置变量(Page URL、Page Path、Click Classes、Click ID、Form ID)。检查所有用户定义的变量 — 是否有变量返回 undefined?确认数据层变量路径与实际的 dataLayer 推送结构一致。
-
组织检查 — 是否设置了文件夹结构?工作区名称是否具有描述性,还是都叫“Default Workspace”?查看发布历史 — 共有多少个版本、发布频率如何,以及描述是否有参考价值?
-
命名规范评估 — 标签/触发器/变量名称是否遵循一致的框架?新团队成员能否理解该容器?将不一致之处标记为维护风险。
-
同意模式检查 — 是否存在一个在 Consent Initialization 时触发的同意默认值标签?是否配置了全部四个参数?是否存在 CMP 模板?是否兼容 TCF v2.3?在预览模式的同意状态标签页中进行验证。
-
优先级建议 — 汇总所有发现,并按影响(收入/数据质量/合规风险)和工作量(低/中/高)排序。优先列出可快速完成的改进。
硬性规则
每项建议都必须遵守以下约束:
- 当数据层可用时,绝不建议抓取 DOM。 CSS 选择器或 JS 变量探测都很脆弱。数据层是开发人员与分析人员之间的约定。
- 绝不建议将“所有页面”触发器用于转化标记。 在“所有页面”上触发转化和再营销标记会推高成本并破坏归因。
- 存在社区模板时,绝不建议使用自定义 HTML。 社区模板经过沙盒隔离和审核。自定义 HTML 不受沙盒隔离,会带来 CSP 和安全风险。
- 务必确认同意模式默认设置先于衡量标记加载。 初始化顺序错误意味着未应用同意设置——这是合规问题。
- 务必建议使用常量变量存储衡量 ID。 切勿将衡量 ID、转化 ID 或 API 密钥直接硬编码在标记中。更新一次即可同步到所有位置。
- 务必指出应移除已弃用的 Universal Analytics 标记。 UA 已于 2024 年 7 月全面停止服务。容器中的失效标记会造成杂乱,也说明整体维护状况值得警惕。
- 每次推送新的电商数据前,务必清除之前的电商数据。 在每次推送前执行
dataLayer.push({ ecommerce: null }),可避免之前事件的数据污染下一个事件。 - 绝不跳过工作区隔离。 每个工作区只包含一组变更。切勿在默认工作区中操作。使用描述性名称的命名工作区是专家的标准做法。
相关工具
google-analytics技能——用于 GTM 实施后的 GA4 数据分析。GTM 用于配置标记;google-analytics技能则涵盖这些标记收集的数据的指标、维度、报告和归因分析。gtm-implementerAgent——用于通过 GTM API 编写 GTM 变更。负责工作区预检、创建受速率限制的变量/触发器/标记,以及构造负载。google-tag-manager技能负责分析;gtm-implementerAgent 负责执行。当用户要求实施 GTM 变更(而非仅进行审核或提供建议)时,请引导他们使用该 Agent。
如何使用此技能
可以提出以下问题:
- “审核我们的 GTM 容器——我们觉得有些标记没有正确触发”
- “在 GTM 中使用 Cookiebot 设置同意模式 v2。我们的客户来自欧盟。”
- “我们的 GA4 purchase 事件已触发,但 DebugView 中的交易金额显示为 undefined”
- “我们应该改用服务器端 GTM 吗?广告拦截器导致我们损失了约 15% 的数据”
- “检查我们的命名约定,并告诉我哪些需要更改”
- “我们的转化标记在每个页面上都会触发——帮我正确限定触发范围”
- “Shopify 商店使用 GA4、Google Ads 和 Meta Pixel 时,应该使用哪些触发器?”
- “排查为什么我们的 Add to Cart 事件不再触发”
如需了解完整的标记类型参考、触发器分类、变量类型、同意模式 v2 参数、sGTM 架构详情、命名约定和反模式,请参阅 REFERENCE.md。
如需查看容器审核、同意模式设置、标记触发调试和 sGTM 建议的完整示例,请参阅 EXAMPLES.md。