mcpField
G
google-ads-utm-generator

google-ads-utm-generator

github.com/eliasmalmsandberg营销与增长14112 次安装13 周前更新
代码仓库

关于 google-ads-utm-generator

面向营销人员的 Google Ads 跟踪技能,用于建立或审查 UTM 规范。内容涵盖自动标记与手动 UTM 的选择、ValueTrack 动态参数、模板和验证。

主要功能

  1. 01比较自动标记与手动 UTM
  2. 02使用 ValueTrack 参数构建模板
  3. 03制定 UTM 命名规范
  4. 04审查跟踪问题与 GA4 渠道
  5. 05上线前检查目标网址

适用场景

  1. 01为新的 Google Ads 账户创建跟踪模板
  2. 02统一不同广告系列和渠道的 UTM
  3. 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 ID87654321
{adgroup}Ad group 名称Project_Management_Software
{keyword}触发广告的关键词project+management+software
{matchtype}触发关键词的匹配类型e(完全匹配)、p(词组匹配)、b(广泛匹配)
{network}广告投放所在网络g(搜索)、d(展示)、x(购物)
{device}设备类型m(手机)、t(平板电脑)、c(计算机)
{creative}广告 ID111222333
{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 数据才有用。创建前请先确定以下规则:

规则
  1. 仅使用小写字母 — 使用 google,不要使用 Google。GA4 区分大小写;Google 和 google 会被视为两个不同的来源。
  2. 使用连字符,不用空格 — 使用 non-brand-search,不要使用 non brand search。空格会在 URL 中变成 %20,影响可读性。
  3. 统一分隔符 — 选择一种:连字符(-)或下划线(_),不要混用。
  4. 不使用特殊字符 — 避免在值中使用 &、=、#、?(这些字符会破坏 URL 解析)
  5. 与广告系列命名规范保持一致 — 如果广告系列命名为 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 参数被剥离或跟踪模板有误

评论

支持 Markdown