工作原理
一位访客从点击广告到转化被记录下来所走过的路径。
流程总览#
-
点击广告
访客通过跟踪链接进入广告主站点,链接的 URL 中带有点击识别参数。
-
全局代码加载
代码通过脚本自身的 URL 识别出广告系列,并拉取对应的配置,超时时间为 5 秒。
-
标识符被写入 cookie
URL 参数被写入第一方 cookie,有效期由广告系列设定。正是这一步让点击一直存活到转化发生, 哪怕已过去数天、处于另一个会话中。
-
访问被记录
当广告系列使用 Moclick 平台自有测量时,每个页面记录一次访问,并有防重复触发的保护。
-
代码监听转化
三种机制并行等待
window.MoclickConversion:即时检查、赋值侦测和周期性轮询。 下文详述。 -
转化被记录并转发
转化会写入 Moclick 平台,并按广告系列的配置转发给为该次投放已签约的媒体平台。 每一路转发都有各自的去重逻辑:其中一路失败不会影响其他路。
在外部平台上投放的广告系列,可能要求把转化也回报给它们,用于投放优化和结算对账。 这一项按广告系列在 Moclick 后台面板中配置,无需对广告主站点做任何改动—— 同一段代码、同一个转化对象即可覆盖所有情形。
每个广告系列所涉及的平台清单及相应的数据处理协议会提供给签约方。参见 隐私与 LGPD(巴西通用数据保护法)。
转化是如何被侦测到的#
window.MoclickConversion 对象可以在代码加载之前或之后定义——代码用三种同时运行的机制覆盖这两种情况:
| 机制 | 生效时机 |
|---|---|
| 即时检查 | 加载时,如果对象已经存在于页面上 |
| 赋值侦测 | 之后对 window.MoclickConversion 的任何赋值都会被当场捕获 |
| 周期性轮询 | 每 500 ms 一次,最长持续 120 秒 |
两分钟之后监听即告结束。在单页应用中,如果从代码加载到确认页之间的结账流程可能超过这个时间, 请在用户进入慢流程之前就定义转化对象,或者在确认路由上重新加载代码。参见 单页应用。
如果页面已经为 window.MoclickConversion 定义了自己的
getter/setter,代码不会覆盖它——现有实现优先。
按设计静默失败#
代码的每一项操作都包裹在错误处理中。下列情形的结果是什么都不做—— 绝不会抛出可见异常、控制台报错或破坏页面渲染:
- 配置服务器不可用或响应缓慢(5 秒超时)
- 广告系列不存在或已取消发布
localStorage或sessionStorage被浏览器阻止- Cookie 被域名拒绝写入
window.MoclickConversion格式错误或不完整
服务端适用同样的策略:缺少点击标识符、广告系列不存在,或来源被判定为机器人的请求, 都会收到正常响应,但不写入任何数据。详见 架构与安全。