如何将自定义Google Ads追踪模板与ClickPatrol模板结合使用
整合Google Ads自有追踪与ClickPatrol防护的解决方案
可行整合方案
方案1:ClickPatrol作为前置防护,跳转至自有追踪脚本
这是最直接的落地方案,让点击先经过ClickPatrol的欺诈验证,再流转到你的自有追踪脚本完成数据入库,最终跳转至目标落地页。
修改Google Ads追踪模板:
将你的自有追踪链接URL编码后,替换ClickPatrol模板里的u参数值。最终Google Ads追踪模板应为:https://example.com/?uid=[unique id]&adp={adposition}&lpm={loc_physical_ms}&lim={loc_interest_ms}&adi={adgroupid}&k={keyword}&n={network}&ci={campaignid}&d={device}&p={placement}&u=http%3A%2F%2Ftracking.example.com%3Flpurl%3D{lpurl}&ma={matchtype}&ta={target}&cr={creative}注:这里
http://tracking.example.com?lpurl={lpurl}被编码为http%3A%2F%2Ftracking.example.com%3Flpurl%3D{lpurl},Google Ads会自动对其中的{lpurl}做二次编码,确保参数传递准确。ClickPatrol后台配置:
在ClickPatrol后台确认,点击通过防护校验后,会自动跳转至u参数指定的自有追踪脚本地址。
方案2:自有追踪脚本作为入口,处理后跳转至ClickPatrol
如果需要先完成数据入库再做欺诈防护,可以调整流程:点击先进入自有追踪脚本,入库完成后再跳转至ClickPatrol链接,由其完成防护后跳转到最终落地页。
修改Google Ads追踪模板:
直接使用原有自有追踪链接,同时追加ClickPatrol需要的所有参数:http://tracking.example.com?lpurl={lpurl}&adp={adposition}&lpm={loc_physical_ms}&lim={loc_interest_ms}&adi={adgroupid}&k={keyword}&n={network}&ci={campaignid}&d={device}&p={placement}&ma={matchtype}&ta={target}&cr={creative}自有脚本流转逻辑:
脚本完成数据入库后,整理所有参数构造ClickPatrol跳转链接,注意对lpurl做URL编码后再传递。
脚本修改方法(PHP示例)
方案1对应的自有脚本修改
ClickPatrol跳转至你的脚本时,lpurl会经过两次编码(Google Ads一次,ClickPatrol跳转处理一次),需要在脚本中正确解码:
<?php // 获取并解码落地页URL,处理两次编码的情况 $lpurl = isset($_GET['lpurl']) ? urldecode(urldecode($_GET['lpurl'])) : ''; // 执行原有数据入库逻辑 // ... 你的入库代码 ... // 跳转至最终落地页,确保URL合法 header("Location: " . $lpurl); exit; ?>
方案2对应的自有脚本修改
需要收集所有参数构造ClickPatrol链接,完成跳转:
<?php // 1. 执行原有数据入库逻辑 // ... 你的入库代码 ... // 2. 收集需传递给ClickPatrol的所有参数 $params = [ 'uid' => '[unique id]', // 替换为ClickPatrol提供的唯一ID 'adp' => $_GET['adp'] ?? '', 'lpm' => $_GET['lpm'] ?? '', 'lim' => $_GET['lim'] ?? '', 'adi' => $_GET['adi'] ?? '', 'k' => $_GET['k'] ?? '', 'n' => $_GET['n'] ?? '', 'ci' => $_GET['ci'] ?? '', 'd' => $_GET['d'] ?? '', 'p' => $_GET['p'] ?? '', 'u' => urlencode($_GET['lpurl']), // 对落地页URL编码 'ma' => $_GET['ma'] ?? '', 'ta' => $_GET['ta'] ?? '', 'cr' => $_GET['cr'] ?? '' ]; // 3. 构造ClickPatrol跳转链接 $clickPatrolUrl = 'https://example.com/?' . http_build_query($params); // 4. 跳转至ClickPatrol header("Location: " . $clickPatrolUrl); exit; ?>
关键注意事项
- URL编码/解码顺序:永远确保只有一个环节负责编码,避免重复编码导致URL失效。Google Ads会自动对模板中的
{xxx}参数编码,手动编码仅需处理静态链接部分。 - 参数完整性:确认所有需要的参数都被正确传递,避免遗漏导致追踪或防护功能失效。
- 跳转规范:使用PHP的
header("Location: ...")时,必须确保跳转前没有任何输出内容,否则会触发报错。
内容的提问来源于stack exchange,提问作者Mathieu Vloei
相关产品推荐
相关产品推荐

