mcpField
A
analytics-tracking

analytics-tracking

github.com/borghei营销与增长1.0k103 次安装1 周前更新
代码仓库

关于 analytics-tracking

面向营销测量的技能,涵盖使用 GA4 和 Google Tag Manager 规划、实施、审计及调试跟踪。重点包括事件分类、同意设置、转化、UTM 和归因,不涉及活动或产品分析。

主要功能

  1. 01GA4 和 GTM 跟踪规划与实施
  2. 02事件分类和参数设计
  3. 03现有跟踪审计与问题调试
  4. 04广告平台转化跟踪配置
  5. 05UTM 规范与 AI 流量归因

适用场景

  1. 01从零建立营销事件跟踪
  2. 02排查 GA4 中缺失或重复的事件
  3. 03审核同意设置和转化数据
  4. 04制定活动链接的 UTM 规范

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/borghei/claude-skills --skill analytics-tracking

安装后在 Claude Code 中输入/analytics-tracking确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
event_schema_checker.py
funnel_drop_off_analyzer.py
utm_validator.py

详细介绍

分析跟踪——实施与审计

类别: 营销 标签: GA4、Google Tag Manager、事件跟踪、转化跟踪、UTM、分析审计、同意模式

概述

分析跟踪是营销衡量的实施层。错误的跟踪比没有跟踪更糟糕——重复事件、缺少参数、未经同意的数据以及失效的转化,都会导致决策依据不准确的数据。此技能涵盖如何从一开始就正确搭建跟踪,以及如何在跟踪出现问题时找出故障所在。

此技能仅处理实施。要分析营销活动效果数据,请使用 campaign-analytics。对于产品分析和应用内行为,请使用 product-team 技能。


先澄清

在制定跟踪计划之前,请确认以下信息。如果有任何信息未知或含糊不清,请询问——不要自行假设:

  • 运行模式——从头搭建、审计现有跟踪,还是调试特定问题(决定整个工作流)
  • 平台技术栈——GA4、GTM,以及使用哪些广告平台(Google Ads / Meta / LinkedIn)(决定实施和转化跟踪设置)
  • 关键转化与漏斗事件——对业务至关重要的用户操作(决定事件分类和转化配置)
  • 地区 / 同意要求——是否有欧盟 / 欧洲经济区用户?(决定是否需要 Consent Mode v2)

停止规则:只询问对结果影响最大的 2-3 项。如果用户说“直接起草”,就继续处理,并在产出内容顶部列出你的假设。

运行模式

模式 1:从头搭建

尚未部署分析工具。制定跟踪计划,实施 GA4 + GTM,定义事件分类,并配置转化。

模式 2:审计现有跟踪

已有跟踪,但数据不可信。审计覆盖情况,找出缺口,清理重复项,并修复同意问题。

模式 3:调试特定问题

事件缺失、转化数据不匹配,或 GTM 预览显示已触发但 GA4 没有记录。使用结构化的调试工作流。


事件分类设计

在接触 GA4 或 GTM 之前,先做好这一步。事后重整分类既痛苦又昂贵。

命名规范

格式: object_action(snake_case,过去时动词)

正确错误错误原因
form_submittedsubmitForm使用 camelCase,动词在前
plan_selectedclickPricingPlan这是实现细节,而非用户操作
video_startedVideoStart使用 PascalCase,时态不一致
checkout_completedpurchase含义模糊,不是动词短语

规则:

  1. 始终采用 noun_verb 顺序,绝不使用 verb_noun
  2. 仅使用 Snake_case——不要使用 camelCase、连字符或 PascalCase
  3. 使用过去时动词:_started、_completed、_failed、_viewed
  4. 命名要足够具体,避免歧义,但不要冗长得像一句话
  5. 必要时添加领域前缀:onboarding_step_completed、billing_plan_selected
标准事件参数

每个自定义事件都应包含此表中适用的参数:

参数类型示例必填条件
user_idstringusr_abc123始终(已通过身份验证时)
plan_namestringprofessional账单 / 定价事件
valuenumber99.00收入事件
currencystringUSD始终与 value 一起使用
content_groupstringonboarding页面 / 流程分组
methodstringgoogle_oauth注册 / 登录事件
step_namestringconnect_account多步骤流程
step_numbernumber3多步骤流程
sourcestringpricing_pageCTA 点击事件
SaaS 事件分类(参考)

核心漏斗:

visitor_arrived              (automatic page_view in GA4)
signup_started               (user clicked "Sign up")
signup_completed             (account created)
trial_started                (free trial began)
onboarding_step_completed    (params: step_name, step_number)
feature_activated            (params: feature_name)
plan_selected                (params: plan_name, billing_period)
checkout_started             (params: value, currency, plan_name)
checkout_completed           (params: value, currency, transaction_id)
subscription_renewed         (params: value, plan_name)
subscription_cancelled       (params: cancel_reason, plan_name)

微转化:

pricing_viewed
demo_requested               (params: source)
form_submitted               (params: form_name, form_location)
content_downloaded           (params: content_name, content_type)
video_started                (params: video_title)
video_completed              (params: video_title, percent_watched)
chat_opened
help_article_viewed          (params: article_name)
invite_sent                  (params: recipient_role)
integration_connected        (params: integration_name)

GA4 配置

数据流设置
  1. 创建媒体资源:GA4 管理员 > 媒体资源 > 创建
  2. 添加包含你域名的 Web 数据流
  3. 增强型衡量——逐项检查:
    • 网页浏览量:保持启用
    • 滚动:保持启用
    • 出站点击:保持启用
    • 站内搜索:如果你有搜索功能,则启用
    • 视频互动:如果你手动跟踪视频,则停用(避免重复)
    • 文件下载:如果通过 GTM 跟踪,则停用(以获取更完善的参数)
  4. 配置域名:添加转化漏斗中的所有子域名
  5. 数据保留期限:设为 14 个月(免费版 GA4 的上限)
关键事件(以前称为“转化”)

GA4 于 2024 年 3 月将“转化”更名为关键事件;现在,“转化”指的是导入 Google Ads 的关键事件。在 GA4 管理员 > 数据展示 > 事件中将事件标记为关键事件(星形图标):

  • signup_completed
  • checkout_completed
  • demo_requested
  • trial_started

规则:

  • 标准媒体资源最多可设置 30 个关键事件(Analytics 360 最多 50 个)——请谨慎筛选
  • 标记关键事件不会追溯生效——它只影响标记之后的报告,不会影响历史数据
  • 除非要针对微转化优化广告系列,否则不要将微转化标记为关键事件
  • 计数方法:潜在客户事件设为“每次会话一次”,购买事件设为“每次”

来源:将事件标记为关键事件(截至 2026 年 9 月)。

自定义维度

为你想要筛选或细分的任何事件参数注册自定义维度:

参数范围维度名称
plan_name事件计划名称
user_id用户用户 ID
content_group事件内容组
feature_name事件功能名称

在 GA4 管理员 > 自定义定义 > 创建自定义维度中注册。


Google Tag Manager 实现

容器架构
GTM Container
├── Tags
│   ├── GA4 Configuration (All Pages trigger)
│   ├── GA4 Event Tags (one per custom event)
│   ├── Google Ads Conversion Tags (per conversion action)
│   └── Meta Pixel / LinkedIn Insight (if running ads)
├── Triggers
│   ├── All Pages (Page View)
│   ├── DOM Ready
│   ├── Custom Event triggers (one per dataLayer event)
│   └── Element Click triggers (CSS selector based)
└── Variables
    ├── Data Layer Variables (one per dataLayer key)
    ├── Constants (GA4 Measurement ID, etc.)
    └── Lookup Tables (if needed for mapping)
实现模式:推送到数据层

你的应用会将事件推送到数据层。GTM 会接收这些事件并发送到 GA4。

应用代码:

// Push event when user completes signup
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  event: 'signup_completed',
  method: 'email',
  user_id: userId,
  plan_name: 'trial'
});

GTM 配置:

Trigger:
  Type: Custom Event
  Event name: signup_completed

Tag:
  Type: GA4 Event
  Event name: signup_completed
  Parameters:
    method:    {{DLV - method}}
    user_id:   {{DLV - user_id}}
    plan_name: {{DLV - plan_name}}
SPA 处理

单页应用需要特别注意,因为页面浏览量不会在路由更改时自动触发。

选项 A:历史记录更改触发器(GTM 内置)

  • 在 GTM 中启用“历史记录更改”触发器
  • 每次调用 pushState/popState 时触发 GA4 page_view

选项 B:路由更改时推送 DataLayer(控制更灵活)

// In your router (React Router, Next.js, etc.)
router.events.on('routeChangeComplete', (url) => {
  window.dataLayer.push({
    event: 'page_view',
    page_location: url,
    page_title: document.title
  });
});

转化跟踪:广告平台

Google Ads

**推荐方法:**将 GA4 转化导入 Google Ads(以单一数据源为准)。

  1. 关联 GA4 和 Google Ads 账号
  2. 在 Google Ads > 目标 > 转化 > 导入 > Google Analytics 中操作
  3. 选择要导入的 GA4 关键事件(它们会成为 Google Ads 转化)
  4. 设置归因模型:数据驱动型(如果每月有 50 次以上转化),否则选择末次点击
  5. 转化窗口:潜在客户开发设为 30 天,高考虑度 B2B 设为 90 天

**增强型转化:**启用后可将转化衡量效果提升 15–30%。它会发送经过哈希处理的第一方数据(电子邮件、电话号码),以匹配 Cookie 未能捕获的转化。

Meta(Facebook/Instagram)
  1. 通过 GTM 安装 Meta Pixel 基础代码
  2. 配置标准事件:PageView、Lead、CompleteRegistration、Purchase
  3. 转化 API(CAPI):强烈建议启用——由于广告拦截器和 iOS App 跟踪透明度,客户端像素会漏掉约 30% 的转化
  4. 去重:同时使用像素和 CAPI 时,发送相同的 event_id,以避免重复计数
LinkedIn Insight Tag
  1. 通过 GTM 安装(标签类型:LinkedIn Insight)
  2. 在 LinkedIn Campaign Manager 中配置转化事件
  3. 将事件与分类体系对应:signup_completed -> LinkedIn“注册”转化

UTM 策略

规范约束
参数规范示例
utm_source平台名称,使用小写google、linkedin、newsletter
utm_medium流量类型cpc、email、social、organic
utm_campaign活动标识符q1-trial-push、brand-awareness-2026
utm_content创意变体hero-cta-blue、sidebar-text-link
utm_term付费关键词(仅限搜索)saas-analytics-tool

关键规则:

  • 切勿为自然流量添加 UTM 参数(这会覆盖 GA4 的自动归因)
  • 切勿为直接流量或内部链接添加 UTM 参数
  • 使用 UTM 构建器电子表格或工具——手动输入会导致不一致
  • 全部使用小写——在 GA4 中,Google 和 google 是不同的来源
归因窗口
平台默认值SaaS 推荐设置
GA430 天30-90 天(与销售周期匹配)
Google Ads30 天30 天(试用),90 天(企业)
Meta点击后 7 天,浏览后 1 天仅点击后 7 天(浏览归因会夸大数据;7-/28 天浏览窗口已于 2026 年 1 月移除)
LinkedIn30 天30 天

AI 引荐流量

来自 AI 助手(ChatGPT、Gemini、Claude、Copilot、Perplexity 等)的访问量正成为一种日益增长且独特的获客来源。应明确衡量这类流量,而不是让它们混入引荐流量或直接流量。

GA4“AI 助手”渠道(截至 2026 年 9 月)

自 2026 年 5 月 13 日起,GA4 的默认渠道组中包含一个 AI 助手渠道。当引荐来源匹配 Google 认可的 AI 助手列表时,GA4 会将 medium 设为 ai-assistant,将 campaign 设为 (ai-assistant),并将会话归入 AI 助手渠道。无需进行任何配置。此规则的评估顺序在引荐之前。来源:默认渠道组、Google Analytics 中的新增内容。

已知缺口
缺口情况缓解措施
不会追溯应用推出之前的会话仍归入引荐流量使用下方的自定义渠道组进行历史比较
未识别的助手不在 Google 列表中的 AI 工具仍会归入引荐流量使用自定义渠道组和你自己的正则表达式
Google AI Overviews / AI Mode 点击不计入 AI 助手;这些点击来自 google.com,会计入自然搜索使用 Search Console(网页搜索类型 + 生成式 AI 报告)——GA4 无法单独识别这类点击
引荐来源被移除许多来自应用和复制粘贴的访问没有引荐来源,会被归入直接流量为你能控制的链接添加 UTM 参数(例如,llms.txt、文档、GPT/应用列表中的链接);留意与 AI 引用页面匹配的直接流量落地页
助手添加的 UTM 参数某些助手会附加自己的 UTM 参数(根据 OpenAI 面向发布者的常见问题,ChatGPT 会为引荐链接添加 utm_source=chatgpt.com),这会改变来源/媒介的记录方式匹配会话来源(由 UTM 参数设置),而不只是引荐来源
备用方案:自定义渠道组

在 GA4 中创建自定义渠道组(Admin > Data display > Channel groups),添加一个“AI 助手(自定义)”渠道,并将其放在引荐渠道上方,条件设为 会话来源匹配正则表达式:

^(chatgpt\.com|chat\.openai\.com|openai\.com|perplexity\.ai|www\.perplexity\.ai|gemini\.google\.com|bard\.google\.com|claude\.ai|copilot\.microsoft\.com|edgeservices\.bing\.com|chat\.deepseek\.com|grok\.com|meta\.ai|chat\.mistral\.ai|you\.com|phind\.com)$

将此列表纳入版本控制,并每季度审核一次;助手域名会发生变化。campaign-analytics 归因脚本使用相同列表来归类 ai_assistant 渠道。


跨域跟踪

对于跨越多个域名的漏斗(例如,从 acme.com 跳转到 app.acme.com):

  1. GA4 管理员 > 数据流 > 配置代码设置 > 配置您的域名 > 添加两个域名
  2. GTM:GA4 配置代码 > 要设置的字段 > linker > 添加域名
  3. 管理员 > 数据流 > 列出不需要的引荐来源 > 添加两个域名

**验证:**访问域名 A,点击指向域名 B 的链接,然后检查 GA4 DebugView。会话不应重新开始。如果开始了新会话,则跨域跟踪已失效。


同意管理

Consent Mode v2

这是符合欧盟要求以及在严格要求用户同意的市场中保持数据质量的必要条件。

设置无 Consent ModeBasicAdvanced
用户拒绝 Cookie零数据零数据建模数据(GA4 估算值)
对数据质量的影响欧盟数据损失 25-40%数据损失 25-40%数据损失 5-15%
实施工作量无中等中高

**建议:**通过 GTM 搭配 CMP(Cookiebot、OneTrust、Usercentrics)实施 Advanced Consent Mode v2。

各地区的预期同意率:

  • 欧盟/欧洲经济区:60-75%
  • 英国:70-80%
  • 美国:85-95%
  • 世界其他地区:80-90%
通过 GTM 实施
1. Install CMP tag (fires first, before any other tags)
2. Set default consent state:
   - analytics_storage: denied
   - ad_storage: denied
   - ad_user_data: denied
   - ad_personalization: denied
3. CMP updates consent state on user choice
4. GA4 and ad tags respect consent automatically

数据质量审计

审计清单

事件质量:

  • 没有重复事件(在 GTM 预览中检查是否重复触发)
  • 所有自定义事件都包含必需参数
  • 事件名称遵循命名规范
  • 事件参数中不包含个人身份信息(姓名、电子邮件、电话号码)
  • 增强型评估没有重复记录 GTM 自定义事件

配置质量:

  • 数据保留期限设为 14 个月
  • 已启用内部流量过滤器(办公室和开发人员的 IP)
  • 已启用机器人过滤(GA4 默认启用)
  • 跨域跟踪正常工作(如适用)
  • 已为过滤后的参数注册自定义维度
  • 转化事件已正确标记

同意质量:

  • 已实施 Consent Mode v2(如果面向欧盟用户)
  • 首次访问时会显示 CMP 横幅
  • 代码遵循用户同意状态(未获得同意前不会触发)
  • 同意状态会在各页面间保留
常见的数据质量问题
问题症状根本原因修复方法
网页浏览量虚高是预期值的 2 倍GTM page_view + 增强型评估停用增强型 page_view
转化缺失GA4 和 Ads 数值不同归因窗口不匹配统一窗口
页面显示为 (not set)页面显示为 "/(not set)"未处理 SPA 路由实施 SPA 跟踪
自引荐引荐来源报告中出现自己的域名缺少跨域配置将域名添加到引荐来源排除列表
直接流量激增付费流量显示为直接流量缺少 UTM 或 UTM 被移除审查 UTM 使用情况
欧盟数据为零没有来自欧盟市场的流量同意机制阻止了所有跟踪实施 Advanced Consent Mode
调试工作流
Step 1: Open GTM Preview mode
  - Is the tag firing? Check triggers and conditions
  - Is the data layer populated? Check dataLayer in console

Step 2: Check GA4 DebugView (Admin > DebugView)
  - Is the event appearing? If yes, GTM is working
  - Are parameters populated? Check parameter values

Step 3: Check GA4 Realtime report
  - Events appearing with 5-minute delay? Normal
  - Events not appearing at all? Check measurement ID

Step 4: Check Network tab (DevTools)
  - Filter by "collect" or "analytics"
  - Is the request being sent? Check status code
  - Is the request being blocked? Check ad blockers / consent

主动触发条件

主动展示以下发现,无需用户询问:

  • 每次页面加载都会触发参数完全相同的事件:触发器配置错误,导致数据虚高
  • 已登录事件没有 user_id 参数:无法将分析数据与 CRM 关联,也无法了解用户群组
  • GA4 转化次数与 Google Ads 相差超过 15%:归因窗口或去重问题
  • 欧盟市场未启用 consent mode:存在法律风险,且数据低报 25-40%
  • 所有页面都显示为 /(not set):SPA 路由处理不当
  • 已知付费广告系列的 utm_source 显示为 direct:UTM 缺失或在重定向时被移除

相关技能

技能适用场景
campaign-analytics分析营销表现和渠道 ROI(不涉及实施)
ab-test-setup设计实验(此技能的事件会为 A/B 测试提供数据)
launch-strategy跟踪产品发布事件
email-sequence设置电子邮件点击跟踪和 UTM 参数

故障排查

症状可能原因解决方法
隐私变更后,GA4 显示的流量比预期少 50%客户端跟踪被广告拦截器阻止,且 ITP/ETP Cookie 已过期实施服务器端 GTM 标记——在首个季度内可恢复 20-40% 丢失的归因数据
GA4 与 Google Ads 的转化次数相差超过 15%归因窗口不一致,或像素与 CAPI 之间去重失败统一各平台的归因窗口,并确保 event_id 匹配以进行去重
事件在 GTM 预览中触发,但未显示在 GA4 报告中Measurement ID 不匹配、同意模式拦截,或数据处理延迟检查 GA4 配置标记中的 Measurement ID,验证同意状态,并等待 24-48 小时以生成标准报告
UTM 参数在 GA4 中显示为(未设置)UTM 被重定向剥除、被社交平台链接包装器移除,或被内部链接覆盖审核重定向链,使用兼容 UTM 的短链接服务,切勿在内部链接中添加 UTM
服务器端容器返回 400 错误事件载荷格式错误,或 Measurement Protocol 请求缺少必需字段根据 GA4 Measurement Protocol 架构验证载荷,检查必需的 client_id 和 api_secret
增强型衡量重复触发自定义 GTM 事件增强型衡量与 GTM 同时触发同一种事件(例如 page_view、scroll)对通过 GTM 跟踪的事件,关闭对应的增强型衡量选项
Consent Mode v2 报告的欧盟数据为零,而非建模数据GA4 标记触发前未设置默认同意状态,或 CMP 未正确更新同意状态确保同意默认值作为 GTM 中触发的第一个标记,在所有其他标记之前触发

成功标准

  • 所有自定义事件均遵循一致的 noun_verb snake_case 命名规范,架构审计中零违规
  • GA4 转化次数与广告平台转化次数的差异在 10% 以内
  • 部署后 90 天内,服务器端跟踪恢复 20% 以上此前丢失的归因数据
  • 所有有效营销活动的 UTM 参数验证通过率达到 100%(无大小写混用、无空格、无缺少必需参数)
  • 通过行为建模,Consent Mode v2 将欧盟数据损失控制在 15% 以下
  • 经自动化架构检查器验证,事件参数中不存在任何 PII 违规
  • 数据保留期限设为 14 个月,过滤内部流量,并验证跨域跟踪

范围与限制

范围内: GA4 配置、GTM 实施、事件分类设计、转化跟踪设置、UTM 策略、同意管理、数据质量审计、服务器端标记架构、跨域跟踪、广告平台转化集成(Google Ads、Meta、LinkedIn)。

范围外: 产品分析平台(Amplitude、Mixpanel)、数据仓库配置、自定义 ETL 管道、移动应用跟踪(Firebase)、营销归因建模(参见 marketing-analyst skill)、A/B 测试统计分析(参见 ab-test-setup skill)。

限制: 服务器端跟踪需要云托管的 GTM 容器(GCP、AWS 或第三方服务)及相关基础设施,并会产生相应费用。采用 Consent Mode v2 的隐私优先分析会为未同意的用户生成建模数据——建模数据与实际数据的差异为 5-15%。此技能不会调用 LLM 或 API;所有验证均为确定性验证。


脚本

脚本用途用法
scripts/utm_validator.py验证 UTM 参数的一致性和命名规范python scripts/utm_validator.py urls.csv --json
scripts/event_schema_checker.py根据分类验证事件名称和参数,并检测 PIIpython scripts/event_schema_checker.py events.json --json
scripts/funnel_drop_off_analyzer.py分析转化漏斗并找出流失最多的环节python scripts/funnel_drop_off_analyzer.py --stages "Visitors:10000,Signups:1200,Paid:120"

评论

支持 Markdown