在电商领域,技术实现和算法优化是提升用户体验和转化率的关键。最近,一种名为“clickID”的技术方案在电商圈引起了广泛关注,其核心在于通过一种特定的联调程序实现,将抖音平台与淘宝平台的订单信息进行有效回传。本文将详细探讨这种技术的算法原理、代码实现以及在实践中可能遇到的问题。 首先,对于一般的自建站而言,在抖音平台上推广商品时,如果需要追踪注册付费下单等转化事件,抖音官方提供了详细的对接文档和程序代码实现DEMO。这些资料为具备一定编程能力的用户提供了实现回传对接和联调工作的基础。 然而,当涉及到抖音巨量上推广淘宝店铺商品时,直接进行回传对接变得困难。这是因为抖音的回传对接需要网页类Clickid值或APP应用类的IMEI, IDFA及IP地址等信息,而这些通常无法通过淘宝订单接口查询到。因此,业界出现了许多根据该问题改编的文章和技术分享。 据业内流传的信息,clickID目前主要有两种方式进行归因:模糊归因和精准归因。模糊归因通过查询订单成交时间、地址、手机、IP等字段参数来匹配对应的属性和时间,而精准归因则是在落地页上将pid + rid和clickID进行绑定实现。这两种方式各有优劣,具体选择取决于业务需求和目标用户群体的特点。 值得注意的是,这种技术方案的核心内容最初是由阿里发布的一篇公告所泄露。该公告指出,从2022年5月3日起,来自内容场景推广带有渠道关系ID(即Relationid)的流量将无法进行跟踪结算,这无疑增加了使用clickID技术的难度和挑战。 此外,后续淘宝联盟也将进行过滤升级,消费者访问异常推广链路进入手淘后会提示报错信息并跳转至淘宝首页,推广链接无法进行跟踪、结算。这一变化进一步加剧了对clickID技术的依赖和应用难度。 综上所述,虽然clickID技术在电商领域的应用存在诸多挑战和限制,但其独特的优势和潜力仍然值得探索。对于电商从业者来说,如何应对这些挑战,优化用户体验和提高转化率,将是未来研究和实践中的重要课题。 在运营公司感受到的限制和影响下,他们决定公开这篇文章,以揭示淘宝店铺淘积木在抖音巨量推广中采用的两种模式。第一种是模糊匹配回传模式,通常用于技术不够成熟或低频率点击广告的客户。这种模式在低频情况下还算精准,但一旦用户增多,效果就会大打折扣。对于中等和高流量的用户来说,这种方法并不适用。 接下来重点介绍精确匹配模式。这种模式确保客观真实的用户下单后,将Clickid值传递给抖音平台,因为巨量营销依赖于此来识别和区分人群信息特征。在开始投放的前一至两天内,如果正确传递了信息给巨量平台,它将建立一个数据模型,利用程序算法统计出用户的喜好等特征,并据此优化人群投放策略,实现更低的消费、更高的效益以及高效的推广。 为了实现这一目标,需要使用一个中间落地页来绑定和传递Clickid值。无论用户是通过点击打开淘积木页面、店铺商品页面还是自动跳转,这个步骤都是必不可少的。此外,实现过程中还面临三个难点:RID值的生成需手动操作且费时费力;传递RID值需要进行媒体广告代理商备案;第三方平台接口的使用可以解决淘宝联盟号不具备订单查询功能的问题。 在解决了以上问题之后,程序算法和代码编程部分就可以开始了。需要注意的是,RID值的数量是有限的,一般批量生成的数量为三千到六千个。过多的RID值可能会引起淘宝的注意,从而受到扣分处罚,无法使用推广功能。因此,导出批量生成的RID值数量并将其导入数据库中的RID表中,然后用户点击抖音广告时,系统会从RID表中随机选择一个RID值,形成一条广告点击记录,写入douyin—Callbak表中。 在构建一个高效的广告转化系统时,确保广告点击到购买的流畅转换是核心任务之一。为了实现这一目标,我们设计了一套自动化流程,从用户点击广告到最终完成购买,每一步都经过精心设计和优化。 首先,当用户点击中间页面的落地页上的立即购买按钮时,系统会触发一个事件,引导用户进入淘积木页面。在这一阶段,通过定时轮训程序(roll)和第三方淘宝订单接口查询功能,系统能够实时获取当前淘宝的下单数据。这些数据被解析成JSON格式,从中提取出Relationid值。 接着,系统将遍历douyin-Callback表,尝试匹配查询是否有与Relationid相对应的记录。如果有匹配项,系统将执行抖音的回调链接,将付费或APP内下单的信息回传给抖音平台。如果没有找到匹配项,则放弃此次操作。 然而,算法流程中最大的挑战在于如何处理有限的RID值数量,并确保其复用性。由于存在复用的可能性,系统必须避免循环使用同一个RID值,以免产生不必要的循环周期。为了解决这一问题,系统采用了一种折衷方案:在不牺牲有效性的前提下,适当延长有效时限。 此外,考虑到可能因真实下单而丢失的回传信息,系统还引入了一定的容错机制。这要求我们在处理RID值时,需要权衡效率和准确性之间的关系。如果选择一次性使用所有RID值,那么在几分钟内就可能耗尽资源。反之,如果采用循环使用策略,虽然可以延长资源的使用寿命,但RID值的数量可能会很快用完。 为了提高系统的响应速度和准确性,我们完成了落地页API技术对接,以便快速获取广告参数信息。例如,原始URL为Link,系统会在该链接后增加4个参数adid=AID&creativeid=CID&creativetype=CTYPE&clickid=CLICKID。这些参数不仅有助于增强广告效果,还能帮助系统更精准地追踪用户行为。 最后,当系统成功获取到clickid参数后,它将调用回传接口进行转化上报。这一过程确保了广告点击到购买的无缝连接,为用户提供了更加流畅的购物体验。
<?php
function curl_post($link) {
$header = array(
'Accept: application/json',
);
$curl = curl_init();
// 设置抓取的url
curl_setopt($curl, CURLOPT_URL, $link);
// 设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, 0);
// 超时设置,以秒为单位
curl_setopt($curl, CURLOPT_TIMEOUT, 5000);
// 超时设置,以毫秒为单位
// curl_setopt($curl, CURLOPT_TIMEOUT_MS, 500);
// 设置请求头
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
// 设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// 执行请求
$response = curl_exec($curl);
// 检查是否出现错误
if (curl_errno($curl)) {
die('Error: ' . curl_error($curl));
}
// 解析响应
$responseData = json_decode($response, true);
// 检查响应状态码
if ($responseData['code'] != 0) {
return $responseData;
} else {
return array('code' => 0, 'message' => '成功');
}
}
// 示例调用
$result = curl_post('https://analytics.oceanengine.com/api/v2/conversion');
print_r($result);
?>
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
// 执行命令
$data = curl_exec($curl);
// 显示错误信息
if (curl_error($curl)) {
echo "Error: " . curl_error($curl);
} else {
// 打印返回的内容
print_r($data);
return $data;
}
curl_close($curl);
本篇文章完毕!如果有技术疑问或者问题,作者Q: 15527649518 欢迎一起探讨和研究!