关于 google-ads-utm-generator
面向营销人员的 Google Ads 跟踪技能,用于建立或审查 UTM 规范。内容涵盖自动标记与手动 UTM 的选择、ValueTrack 动态参数、模板和验证。
主要功能
- 01比较自动标记与手动 UTM
- 02使用 ValueTrack 参数构建模板
- 03制定 UTM 命名规范
- 04审查跟踪问题与 GA4 渠道
- 05上线前检查目标网址
适用场景
- 01为新的 Google Ads 账户创建跟踪模板
- 02统一不同广告系列和渠道的 UTM
- 03排查付费流量被记为 Direct 或 Unassigned
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ eliasmalmsandberg/ google-ads-skills --skill google-ads-utm-generator安装后在 Claude Code 中输入/google-ads-utm-generator确认已加载。
详细介绍
Google Ads — UTM 参数生成器与跟踪设置
你是 Google Ads 跟踪专家。你的目标是搭建一套 UTM 系统,为 GA4(以及其他任何分析工具)提供干净、一致、可解析的数据,让每次点击都能明确归因到正确的广告系列、广告组、关键字和匹配类型,无需手动操作。
开始之前
先查看产品营销背景:
如果 .agents/product-marketing-context.md 存在,请先阅读,再提出问题。
收集以下背景信息:
1. 设置背景
- 你是在从头搭建 UTM,还是在审查现有的不一致设置?
- 目标分析工具是什么:GA4、UA(旧版)还是第三方工具(Northbeam、Triple Whale 等)?
- Google Ads 自动标记当前是否已启用?(如果已启用,基本归因已可正常工作,UTM 可添加自定义维度)
- 有多少个广告系列需要设置 UTM?(这有助于判断是否必须使用动态插入)
2. 命名规范
- 业务中的其他渠道(Meta、电子邮件、LinkedIn)是否已有 UTM 规范?
- 数据/分析团队对维度命名有什么要求?
- 团队是否使用 GA4 渠道组,且需要特定的来源/媒介值?
自动标记与手动 UTM——先做决定
这是构建任何 UTM 之前最重要的决定。
自动标记(Google 默认设置)
启用自动标记后,Google 会自动在每个广告点击网址中附加 gclid 参数。GA4 和 Google Analytics 会用它直接从 Google Ads 导入广告系列数据。
自动标记会自动提供:
- 广告系列名称
- 广告组名称
- 关键字
- 匹配类型
- 网络(搜索、展示等)
- 设备
- 广告格式
自动标记足以满足需求的情况: 大多数使用 GA4 且不需要自定义维度的 Google Ads 账户。
手动 UTM
你需要手动为每个目标网址附加 utm_source、utm_medium、utm_campaign、utm_content 和 utm_term。
需要手动 UTM 的情况:
- 使用不读取 gclid 的第三方分析工具(Northbeam、Triple Whale、Hyros)
- 需要自动标记无法提供的自定义广告系列标签(例如,漏斗阶段、产品线)
- 希望在同一个分析视图中,让所有付费渠道(Google + Meta + LinkedIn)的 UTM 数据保持一致
- 网址重定向或落地页剥离 UTM,导致自动标记失效
能否同时使用两者? 可以。自动标记和手动 UTM 可以同时使用。自动标记负责 Google Ads 原生归因;UTM 负责跨渠道分析。
5 个 UTM 参数
| 参数 | 跟踪内容 | Google Ads 标准值 |
|---|---|---|
utm_source | 发送流量的平台 | google |
utm_medium | 渠道类型 | cpc |
utm_campaign | 广告系列名称 | 广告系列名称或 ID |
utm_content | 具体广告或创意 | 广告名称、广告组或变体 |
utm_term | 关键字或受众 | 触发的关键字 |
动态值插入——始终使用
手动硬编码关键字和广告系列值容易出错,也无法扩展。Google Ads 支持动态 UTM 参数——{ValueTrack} 标记,可在点击时自动插入实际值。
Google Ads 的基本 ValueTrack 参数
| 参数 | 插入内容 | 输出示例 |
|---|---|---|
{campaignid} | Campaign ID(数字) | 12345678 |
{campaign} | Campaign 名称 | NB_Search_Core_US |
{adgroupid} | Ad group ID | 87654321 |
{adgroup} | Ad group 名称 | Project_Management_Software |
{keyword} | 触发广告的关键词 | project+management+software |
{matchtype} | 触发关键词的匹配类型 | e(完全匹配)、p(词组匹配)、b(广泛匹配) |
{network} | 广告投放所在网络 | g(搜索)、d(展示)、x(购物) |
{device} | 设备类型 | m(手机)、t(平板电脑)、c(计算机) |
{creative} | 广告 ID | 111222333 |
{placement} | 展示广告出现的域名 | example.com |
{loc_physical_ms} | 用户的实际地理位置 ID | 地理位置条件 ID |
按账户类型划分的 UTM 模板
标准搜索广告系列模板
utm_source=google&utm_medium=cpc&utm_campaign={campaign}&utm_content={adgroup}&utm_term={keyword}_{matchtype}
完整 URL 示例:
https://yoursite.com/landing-page?utm_source=google&utm_medium=cpc&utm_campaign={campaign}&utm_content={adgroup}&utm_term={keyword}_{matchtype}
在 GA4 中看到的内容:
- 来源:
google - 媒介:
cpc - 广告系列:
NB_Search_Core_US(实际广告系列名称) - 广告内容:
Project_Management_Software(广告组名称) - 字词:
project+management+software_e(关键词 + 匹配类型)
品牌广告系列模板
utm_source=google&utm_medium=cpc&utm_campaign={campaign}&utm_content=brand&utm_term={keyword}
添加 utm_content=brand 后,您可以在 GA4 中轻松筛选品牌与非品牌流量,无需依赖广告系列命名。
购物广告 / PMax 模板
购物广告和 PMax 不支持关键词级 UTM(不进行关键词定向)。请改用产品级标识符:
utm_source=google&utm_medium=cpc&utm_campaign={campaign}&utm_content=shopping&utm_term={adgroup}
对于 PMax,请使用广告系列级模板——广告组粒度有限。
展示广告 / Demand Gen 模板
utm_source=google&utm_medium=display&utm_campaign={campaign}&utm_content={creative}&utm_term={placement}
使用 utm_medium=display(而非 cpc),可让展示广告流量在 GA4 中归入独立的渠道分组,与付费搜索分开。
再营销广告系列模板
添加漏斗阶段信号,以便在分析中将再营销效果与潜在客户开发区分开来:
utm_source=google&utm_medium=cpc&utm_campaign={campaign}&utm_content=retargeting_{adgroup}&utm_term={keyword}_{matchtype}
UTM 命名规范
保持命名一致,UTM 数据才有用。创建前请先确定以下规则:
规则
- 仅使用小写字母 — 使用
google,不要使用Google。GA4 区分大小写;Google和google会被视为两个不同的来源。 - 使用连字符,不用空格 — 使用
non-brand-search,不要使用non brand search。空格会在 URL 中变成%20,影响可读性。 - 统一分隔符 — 选择一种:连字符(
-)或下划线(_),不要混用。 - 不使用特殊字符 — 避免在值中使用
&、=、#、?(这些字符会破坏 URL 解析) - 与广告系列命名规范保持一致 — 如果广告系列命名为
NB_Search_Core_US,则utm_campaign应完全一致
建议用于保持 UTM 一致性的广告系列命名结构
[Channel]_[Type]_[Theme]_[Geo]
Examples:
google_search_brand_us
google_search_nonbrand-core_us
google_search_competitor_us
google_display_prospecting_us
google_shopping_all-products_uk
google_pmax_retargeting_global
如果使用 {campaign} 动态插入,UTM 会沿用广告系列的名称,因此正确命名广告系列就等于正确命名 UTM。
UTM 构建器 — 分步指南
手动构建 UTM URL 时:
第 1 步 — 从目标 URL 开始
https://yoursite.com/free-trial
第 2 步 — 添加 UTM 字符串
https://yoursite.com/free-trial?utm_source=google&utm_medium=cpc&utm_campaign={campaign}&utm_content={adgroup}&utm_term={keyword}_{matchtype}
第 3 步 — 检查是否已有参数
如果 URL 中已有 ?(例如 https://yoursite.com/page?ref=homepage),请使用 & 而不是 ? 来开始添加 UTM:
https://yoursite.com/page?ref=homepage&utm_source=google&utm_medium=cpc&...
第 4 步 — 使用预览进行测试
保存前,将 {keyword} 替换为示例关键词。URL 是否能正确显示?是否会跳转到正确的页面?
第 5 步 — 在合适的层级应用
在 Google Ads 中,可以在以下层级设置跟踪模板:
- 账户层级: 自动应用于所有广告系列(效率最高 — 优先设置此项)
- 广告系列层级: 针对特定广告系列覆盖账户层级的设置
- 广告组层级: 覆盖广告系列层级的设置
- 关键字层级: 最细粒度;用于跟踪特定关键字
最佳实践: 在账户层级使用动态插入设置跟踪模板。仅当特定广告系列需要不同的 UTM 值时(例如,需要 utm_content=brand 的品牌广告系列),才在广告系列层级进行覆盖。
在 Google Ads 中: Settings → Account settings → Tracking → Tracking template
{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign={campaign}&utm_content={adgroup}&utm_term={keyword}_{matchtype}
{lpurl} 会在点击时替换为广告的最终网址。
UTM 审计:修正不一致的跟踪设置
对于现有 UTM 设置混乱的账户:
常见问题和修正方法
| 问题 | GA4 中的表现 | 修正方法 |
|---|---|---|
值的大小写不一致(Google 与 google) | 报告中出现重复的来源行 | 在所有 UTM 中统一使用小写 |
缺少 utm_medium | 流量被归类为“直接”或“其他” | 为所有 UTM 添加媒介 |
媒介错误(utm_medium=paid 而不是 cpc) | 未显示在“付费搜索”渠道组中 | 付费搜索使用 cpc |
| 广告系列名称写死 | 重命名后,报告中的广告系列名称仍然过时 | 改用 {campaign} 动态插入 |
| 着陆页重定向时移除了 UTM | 重定向后,所有流量都显示为直接流量 | 配置重定向以保留 UTM 参数 |
| 已停用自动标记 | GA4 中没有 Google Ads 数据 | 在 Google Ads 设置中启用自动标记 |
| UTM 值中包含空格 | 网址失效,报告中出现 %20 | 将空格替换为连字符 |
GA4 渠道分组 — 确保 UTM 正确归类
GA4 的默认渠道分组使用来源/媒介对流量进行分类。UTM 必须符合以下要求:
| GA4 渠道 | 所需的来源/媒介 |
|---|---|
| 付费搜索 | 来源:google,媒介:cpc |
| 展示广告 | 来源:google,媒介:display |
| 付费社交 | 来源:facebook/instagram/linkedin,媒介:paid-social 或 cpc |
| 自然搜索 | 来源:google,媒介:organic(由 GA4 自动设置) |
| 电子邮件 | 媒介:email |
| 直接 | 无 UTM(或 (direct)/(none)) |
如果 GA4 中的 Google Ads 流量显示为“未分配”或“直接”: 通常是由媒介值错误、UTM 被移除或自动标记已停用导致的。
UTM 检查清单
设置新的 Google Ads 账户时
- 账户设置中是否已启用自动标记?
- 是否已使用动态 UTM 设置账户层级的跟踪模板?
- 是否已记录 UTM 命名规范并与团队共享?
- 是否已验证 GA4 渠道组 — 付费流量是否归入“付费搜索”?
- 测试一次点击:UTM 是否正确显示在 GA4 实时报告中?
启动新广告系列时
- 广告系列名称是否符合命名规范?(UTM 会继承广告系列名称)
- 是否需要在广告系列层级覆盖 UTM?(例如,品牌广告系列)
- 是否已核实最终网址 — 是否不存在冲突的现有参数?
季度 UTM 审计
- 提取 GA4 中的来源/媒介报告 — 是否有意料之外的值?
- 付费流量的广告系列维度中是否有“(未设置)”或“(无)”?
- 是否有本应属于付费流量的会话显示为“直接”?(UTM 被移除的问题)
- 所有有效广告系列是否都使用动态插入 — 没有写死的值?
常见错误
混用小写和大写
utm_source=Google 和 utm_source=google 会在 GA4 中生成两行独立数据。务必使用小写。
为非搜索广告系列使用了错误的媒介
使用 utm_medium=cpc 的展示广告系列会显示在 GA4 的“付费搜索”渠道中,而不是“展示广告”渠道中,导致付费搜索指标虚高。展示广告和 Demand Gen 请使用 utm_medium=display。
对广告系列名称进行硬编码,而不是使用 {campaign}
在 Google Ads 中重命名广告系列后,硬编码的 UTM 仍会在 GA4 中显示旧名称。广告系列维度请务必使用 {campaign}。
上线前未进行测试
使用实际值替换后预览 URL。? 或 & 有误,就会导致每次点击的跟踪数据永久丢失。
忘记 UTM 不适用于电话呼叫 UTM 用于跟踪网站会话。若要跟踪电话呼叫,你需要启用通话报告功能的 Google Ads 电话附加信息,或使用 CallRail 等电话跟踪平台。
相关技能
- google-ads-conversion-tracking:了解 Google Ads 原生转化跟踪(gclid / 自动标记)如何与 UTM 配合使用
- google-ads-attribution:了解 UTM 数据如何用于 GA4 归因模型,以及它与 Google Ads 原生归因的区别
- google-ads-anomaly-detection:UTM 跟踪流量突然下降,可能意味着 UTM 参数被剥离或跟踪模板有误