实现
摘要
转化跟踪的实施分为以下三部分:
- 从着陆页 / 应用中收集
rwg_token
和merchant_id
入口点。 - 保留
rwg_token
和merchant_id
以进行适当的归因 窗口。 - 比较转化时保留的
merchant_id
和merchant_id
(已完成预订)。 - 在转化时发送转化事件(预订完成)。
这种转化跟踪实现不需要使用 Google Google Analytics 或任何其他第三方 JavaScript。
在开始实施转化跟踪之前,您应该: 决定是在设备一级还是用户一级跟踪转化:
- 设备级别包括使用浏览器 Cookie、本地存储、应用本地 或任何其他可将令牌保留 30 天的方法 归因回溯期。因为该令牌将存储在用户的本地 如果用户更换当前使用的设备, 使用无痕浏览或无痕模式 转化事件可能未正确归因。使用设备级别时 必须针对每种受支持的解决方案重新实现这一功能 展示(包括移动设备)。
- 用户级别包括通过以下方式将其保留在您的应用数据库中: 服务器端分析系统或其他服务器端系统。由于 如果用户更改了设备 清除了本地存储空间或 Cookie,或者使用私有 浏览模式或无痕模式时,转化事件仍会归因一次 当用户重新登录时。在使用用户级转化跟踪时,取决于 在系统架构上实现这一点 并在所有支持的平台上重复使用。
收集 rwg_token
每当 Google 显示您通过 Feed 提供的 action_link 时,
该网址已修改为包含唯一的查询参数:rwg_token
。通过
rwg_token
值是一个编码字符串,其中包含一些有关
用户点击的链接,但无用户数据。您应存储此令牌,并且
作为转化事件的一部分回传
在每个着陆页 / 应用入口点上,您必须解析为
rwg_token
查询参数并存储它。存储此内容的要求
参数在步骤“保留 rwg_token
”中进行说明。
说明如何解析此令牌以进行设备级跟踪的示例 浏览器如下所示。或者,您也可以在以下位置收集此令牌: 在响应请求时从服务器端访问:
var query = location.search.substring(1);
var params = query.split('&');
var rwgToken = undefined;
for (var i = 0; i < params.length; ++i) {
var pair = params[i].split('=');
if (pair[0] == 'rwg_token') {
rwgToken = decodeURIComponent(pair[1]);
break;
}
}
收集 merchant_id
如果您在着陆页的前端实现转化跟踪逻辑
网页,您必须实施一个自定义脚本,用于查找和捕获
merchant_id
。通常情况下,merchant_id
可能已经存在于
着陆页或网址中,以便从着陆页或网址中捕获相应信息。否则,您必须
因此必须设法将其暴露在某个地方
后端更改
如果您在后端实现转化跟踪逻辑,您可能会发现
merchant_id
,以及用于查询内部系统以生成的数据,
前端页面
此merchant_id
必须与您在以下环境中与 Google 共享的名称相同:
您的 Feed。
保留 rwg_token
和 merchant_id
您需要保留 rwg_token
网址参数,该参数将为
附加到您提供的所有操作链接中,有效期为 30 天。
应存储和返回 rwg_token
的值,不要进行任何修改。
除了 rwg_token
,您还需要存储与merchant_id
包含操作链接
如果上一次访问中留存了现有令牌,更早的
rwg_token
和 merchant_id
应被替换,以及
存储空间。
保留上述键值对时,您可以将值存储在设备上 或在用户级执行:
- 设备级别包括使用浏览器 Cookie、本地存储、应用本地 或任何其他可将令牌保留 30 天的方法 归因回溯期。
- 用户级别包括通过以下方式将其保留在您的应用数据库中: 服务器端分析系统或其他服务器端系统。
下面是一个设备级转化跟踪示例,这些值存储在
使用第一方 Cookie 的网络浏览器。此示例假定您已经解析了
将令牌值转换为变量,如上例所示。使用此示例
需要将 rootdomain.com
更新到您的网域。
if (typeof rwg_token !== 'undefined') {
document.cookie =
"_rwg_token=" + rwg_token + ";_merchant_id=" + merchantid + ";max-age=2592000;domain=rootdomain.com;path=/";
}
使用用户级转化跟踪时,rwg_token
+ merchant_id
应
必须存储在服务器上并与用户关联
发送转化数据
当用户完成归因于 Google 地方的交易时 操作链接,您必须向转化端点发送 HTTP POST 请求。 有两个端点,一个用于生产环境,另一个用于 沙盒环境
- 正式版:https://www.google.com/maps/conversion/collect
- 沙盒:https://www.google.com/maps/conversion/debug/collect
博文正文应为 JSON 编码的对象,格式如下:
{
"conversion_partner_id": <partnerId>,
"rwg_token": <rwg_token_val>,
"merchant_changed": 1|2
}
示例(合作伙伴 20123456 具有测试令牌的商家未经更改):
{
"conversion_partner_id": 20123456,
"rwg_token": "AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==",
"merchant_changed": 2
}
merchant_changed 值用于确定商家是否已更改 来自初始重定向商家有两个值可以传递
商家更改值 | 要求 |
---|---|
1 | 该值应在用户离开 并完成了购买 通过您的平台与其他商家 |
2 | 如果客户需要 通过原始 Entity 完成交易 (Merchant)。 |
在测试区和生产环境中,您都需要提供
有效的 rwg_token
。出于测试目的,请使用
以下测试令牌,直到您发布为止:
AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==
要在沙盒中测试,您需要手动将以下网址参数附加到 您的沙盒链接:
rwg_token=AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ%3D%3D
设备级转化跟踪的完整示例(在用户的 设备)发出此发布请求的 JavaScript 代码如下所示:
const partnerId = XXXXXXXXXX;
const endpoint = `https://www.google.com/maps/conversion/collect`;
const rwgTokenCookie = document.cookie
.split('; ')
.find(row => row.startsWith('_rwg_token='));
if (typeof rwgTokenCookie !== 'undefined') {
const rwgTokenVal = rwgTokenCookie.split('=')[1];
fetch(endpoint, {
method: "POST",
body: JSON.stringify({
conversion_partner_id: partnerId,
rwg_token: rwgTokenVal,
merchant_changed: merchantChanged
})
});
}
使用用户级转化跟踪时,您应该检索 与您通过您的网站访问的 并使用同一个生产或 沙盒端点
转化归因要求
Google 要求的转化归因标准是 30 天归因 窗口。
此归因回溯期意味着 Google 预计转化事件为 会在以下任一情况下发送
- 用户前往地点操作链接,为同一商家下单 在同一个会话中。(商家更改值 = 2)
- 用户点击地点操作链接,然后从其他渠道返回 为同一商家下单。(商家 更改值 = 2 )
- 用户前往地点操作链接,然后在另一个 无论是在同一会话内还是在 30 天内的不同会话中 窗口。(商家更改值 = 1)
此外,Google 要求通过所有平台发送转化事件, 用户可从地点操作链接登录。包括:
- 桌面版或移动版 Web 应用
- 移动应用(通过应用深层链接或针对 你的网域
如果令牌存储在用户级别(请参阅“保留令牌”),则 您需要提供跨设备归因。也就是说, 在桌面设备上点击操作链接,然后在移动设备上完成交易 )应触发转化事件。
令牌是否专门存储在设备级别(例如在浏览器中) Cookie,我们不应该提供跨设备归因。在本课中, 在这种情况下,如果用户遵循了 在该设备上有一个操作链接,每个设备都会遵循归因 规则。