Meta Ads 有点击,不代表你的归因一定正常。
常见情况是:广告在花钱,Ads Manager 里也能看到 link clicks,落地页也能打开,但 GA、CRM 或内部报表里看不到同样的 campaign 信息。有时候 fbclid 不见了,有时候 UTM 在跳转后消失了,有时候页面没问题,但转化事件已经很难和最初的广告点击连起来。
这不一定是 pixel 的问题。很多时候,是 campaign entry 的问题。
快速回答
如果 fbclid、gclid 或 UTM 参数在 redirect 后丢失,先检查跳转规则是否保留原始 query string。一个合格的 campaign link 不应该只转发目标页面,也应该把 tracking 参数一起带过去。否则页面能打开,归因也可能断掉。
为什么会这样
很多投放团队把链接理解成一个目标地址。
summer.example.com -> https://example.com/summer-sale
但广告平台看到的是目标地址加测量上下文。
summer.example.com/?utm_source=meta&utm_campaign=summer&fbclid=...
Meta 文档说明,用户从 Facebook 或 Instagram 点击广告时,平台可能会把 ClickID 通过 URL 参数传递出去。Google Ads 的 auto-tagging 也会在广告 URL 后面追加 gclid。这些参数对后续 analytics、server-side events、CRM 字段映射和转化归因都有用。
如果 redirect 层把这些参数丢掉,归因就会变脏。
常见症状
| 现象 | 可能原因 | 先检查什么 |
|---|---|---|
| 第一跳有 UTM,最终页面没有 | redirect 丢了 query string | 检查转发规则 |
| 广告有点击,但 analytics 里 source 不对 | 点击参数没有传到最终页面 | 检查最终 URL |
gclid 经过 vanity URL 后消失 | 跳转规则重写了整个 URL | 用 ?gclid=test123 测试 |
| 转化看起来像 direct traffic | 归因参数在中间丢失 | 查 redirect、cookie、consent 和表单 |
| 多个渠道数据互相覆盖 | 多个活动复用同一个入口 | 拆分 campaign entry |
一个简单测试
拿你广告里正在用的链接,加一组假参数:
https://summer.example.com/?utm_source=test&utm_campaign=debug&fbclid=test_fbclid
打开它,然后看最终页面 URL。
理想情况是:
https://example.com/summer-sale?utm_source=test&utm_campaign=debug&fbclid=test_fbclid
如果最终变成:
https://example.com/summer-sale
说明跳转层把测量参数丢掉了。
为什么这件事很难排查
因为同一个链接会被很多人碰过:
- paid media 负责投放
- marketing ops 负责 UTM
- web team 负责落地页
- analytics 负责事件
- engineering 负责 redirect 行为
- agency 或达人可能复用链接
问题出现后,每个人看到的都是真的,但都不完整。
投放同事看到有点击。数据同事看到 source 不对。网页同事说页面能打开。工程同事说 redirect 正常。真正缺失的是 campaign entry 本身的上下文。
一个 campaign entry 应该记录什么
一个 campaign entry 不应该只是一个 URL。它至少应该记录:
- 当前目标地址
- 是否保留 query string
- owner
- campaign name
- channel
- 预期 UTM 规则
- 状态:draft、active、paused、retired
- 最近更新时间
- 谁改过目标地址
- 基础访问统计
- 给 agency 或 analytics 的备注
这样团队才能回答:
- 这是 paid social 的正式入口吗?
- 目标页是不是审批后改过?
- 这个规则是否保留参数?
- 这个链接还 active 吗?
- 谁有权改这个 destination?
Pushulink 目前处于 MVP 阶段,专注于托管子域转发、OpenAPI 自动化、访问统计、权限边界、日志和可追踪操作。
更好的做法
不要把原始落地页 URL 到处贴。
先创建一个稳定入口:
summer-sale.brand.com -> https://brand.com/summer-sale
然后定义规则:
- 保留 incoming query string
- 保留 UTM
- 保留平台 click ID
- 记录目标地址变更
- 显示 active / retired 状态
- 活动结束后下线入口
这样 paid media 有稳定 URL,运营也有地方管理变更。
不是所有问题都是 redirect
也要检查:
- 浏览器隐私设置
- ad blocker
- consent mode
- server-side event 配置
- 表单工具是否丢参数
- landing page 是否用了
#fragment - cross-domain cookie 限制
- CRM 字段是否映射
- mobile in-app browser 行为
重点不是把所有问题都归咎于 redirect,而是让 redirect 这层可见,能快速排除或定位。
FAQ
Meta 一定会加 fbclid 吗?
Meta 说明用户从 Facebook 或 Instagram 点击广告时,ClickID 可以通过 URL 传递。实际能否在下游看到,还会受到浏览器、隐私设置、中间工具和采集方式影响。
UTM 和 fbclid 是一回事吗?
不是。UTM 描述 campaign 命名和来源,fbclid / gclid 是平台生成的 click ID。很多团队两个都需要。
短链接工具能解决吗?
有些可以,但前提是它保留 query string,并且能提供足够的 lifecycle 管理。对运营团队来说,更大的问题通常是 owner、destination history、status 和 retire。
第一步应该查什么?
先查最终 URL 是否保留参数。不要一上来就改 pixel 或重写广告。