摘要
转化跟踪旨在跟踪 Google 通过某种行动中心集成发起的转化。这对于确保集成正常运行至关重要,并且可能会影响某些网页的排名。每次 Google 显示 action_link 时,该网址都会修改为包含一个唯一的查询参数:rwg_token
。您可以自行存储该令牌,并在用户完成预订时返回适当的值。
如需完成集成,您需要完成以下操作:
- 收集和存储
rwg_token
。 - 收集和存储商家。
- 返回
rwg_token
和merchant_change
值。 - 测试和验证转化跟踪。
收集和存储 rwg_token
。
若要完成此集成,您必须在首次 Google 引荐后的最多 30 天内收集和存储 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;
}
}
附加到网址的查询参数将是加密令牌,请参阅以下 rwg_token
示例。使用此示例令牌可确保正确解析令牌,包括“=”等任何特殊字符。以下是典型令牌的示例。
AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==
令牌存储
存储 rwg_token
时,您可以通过两种不同的级别实现转化跟踪:设备级和用户级。令牌的存储位置由您决定,但您必须在初始引荐后将令牌存储 30 天。
下一个示例是设备级转化跟踪,它使用第一方 Cookie 将这些值存储在网络浏览器中。此示例假定您已将令牌值解析为变量(如令牌存储示例中所示)。请务必将 rootdomain.com
更新为您的网域。
if (typeof rwg_token !== 'undefined') {
document.cookie =
"_rwg_token=" + rwg_token + ";max-age=2592000;domain=rootdomain.com;path=/";
}
在决定 rwg_token
的存储位置时,请考虑以下事项。
设备级存储
设备级包括使用浏览器 Cookie、本地存储空间、应用本地存储空间或任何其他可在 30 天归因期内保留令牌的方法。由于令牌存储在用户设备本地,因此如果用户更改所用的设备、清除本地存储空间或 Cookie,或者使用的是无痕浏览或无痕模式,系统可能无法正确归因转化事件。使用设备级转化跟踪时,您必须在所有受支持的途径(包括移动设备)上重新实现此功能。
用户级存储空间
用户级别包括通过服务器端分析系统或其他服务器端系统将其持久保存在应用数据库中。由于令牌会存储在服务器端,因此即使用户更改所用设备、清除本地存储空间或 Cookie,或者使用无痕式浏览或无痕模式,在用户重新登录后,系统仍会将转化事件归因于相应来源。使用用户级转化跟踪时,您或许可以在服务器端实现一次,然后在所有受支持的平台上重复使用。具体取决于系统的架构。
每次 Google 显示您通过 Feed 提供的 action_link 时,该网址都会修改为包含一个唯一的查询参数:rwg_token
。rwg_token
值是一个编码字符串,其中包含有关用户点击的链接的一些元数据,但无用户数据。您应存储此令牌,并在转化事件中将其传回。
刷新令牌
当 Google 将用户引荐到同一商家时,如果存储了现有令牌,则该令牌会被最新引荐中提供的新令牌替换。令牌被替换后,令牌存储的 30 天期限将重置,此商家的所有新转化都应归因于最新令牌。
如需了解详情,请参阅我们的转化归因要求。
收集和存储商家。
当用户被重定向到您的预订页面时,您必须实现用于查找和捕获商家的逻辑。通常,合作伙伴会将商家元数据或 merchant_id
添加到其操作链接中,并使用这些元数据来识别和存储商家。我们建议您将 merchant_id
(或所选标识符)与 rwg_token
一起存储,这样当用户确认预订时,您可以先参考商家,然后再发送已完成的转化请求。与令牌存储期限类似,在初始引荐后的 30 天内,系统必须将商家与令牌一起保存。
以下示例会调整之前存储的 rwg_token
。这假定您要从所提供网址中的元数据中解析商家,并将其保存为 merchant_id
或与现有 merchant_id
进行匹配。
if (typeof rwg_token !== 'undefined') {
document.cookie =
"_rwg_token=" + rwg_token + ";_merchant_id=" + merchantid + ";max-age=2592000;domain=rootdomain.com;path=/";
}
返回 rwg_token
和 merchant_change
值。
当用户完成从操作链接引荐开始的预订时,您必须向转化端点发送 HTTP POST 请求。有两个端点,一个用于生产环境,另一个用于沙盒环境。
- 生产环境:https://www.google.com/maps/conversion/collect
- 沙盒:https://www.google.com/maps/conversion/debug/collect
发送转化事件时,您必须包含存储的 rwg_token
和 1
或 2
的 merchant_change
值,如需详细了解 merchant_change
,请参阅返回商家更改价值。
POST 正文应为 JSON 编码对象,格式如下:
{
"conversion_partner_id": "<partnerId>",
"rwg_token": "<rwg_token_val>",
"merchant_changed": "1|2"
}
{
"conversion_partner_id": "XXXXXXX",
"rwg_token": "AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==",
"merchant_changed": "2"
}
下一个示例包括使用用户设备上的 Cookie 进行的设备级转化跟踪,该 Cookie 是采用 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
})
});
}
返回商家更改值
merchant_changed
值用于确定商家是否已从初始重定向商家更改。如果您的着陆页所在的平台包含其他商家,则经常需要更改商家。在这种情况下,如果用户是通过 Google 引荐到您的平台并决定导航到其他商家并完成预订的,那么我们希望知道发生了转化,但是与另一商家互动,我们不需要知道该商家只是发生了转化事件且该商家与众不同,我们会使用布尔值来确定商家是否发生了更改。
在确定要为 merchant_change
分配什么值时,您需要获取收集和存储商家中保存的原始商家,并检查商家是否已更改,然后在分配值时参考下表。
如果您的预订页面不在平台中,或者用户无法导航到其他商家,您可以将这些请求的值硬编码为 2
。对于将预订页面集成到商家网站或使用自定义着陆页处理预订的合作伙伴,这种情况很常见。
商家更改价值 | 要求 |
---|---|
1 | 如果用户离开原始商家的网站,并通过您的平台与其他商家完成了购买交易,则应使用此值 |
2 | 如果客户通过原始实体(商家)完成了交易,则应使用此值。 |
测试并验证转化跟踪。
为确保您实现的转化跟踪正确无误,您需要运行以下测试。请务必使用与您的商家相关联的 Action 链接,并在无痕式或无痕式窗口中发出请求,以确保清除与该用户关联的所有之前的令牌。
- 只需使用 Action 链接即可完成预约
- 没有引荐来源或之前存储的令牌的直接预订不应导致向 Google 发送任何请求。
- 使用附加了
rwg_token
的链接完成预订。- 确保请求成功发送,且
rwg_token
和merchant_change
值为2
- 确保您将
rwg_token
存储 30 天
- 确保请求成功发送,且
- 使用新的
rwg_token
与同一商家完成新的预订。- 确保请求成功发送,并使用
2
的新rwg_token
和merchant_change
值发送 - 确保令牌的归因存储期限已刷新为 30 天
- 确保请求成功发送,并使用
- 直接前往您正在测试的商家的预订页面,然后进行新的预订,不附加
rwg_token
。- 确保发送的请求包含之前存储的
rwg_token
,且merchant_change
值为2
- 确保发送的请求包含之前存储的
如果您的平台可让用户使用其他商家结账,请测试以下内容。
- 使用附加了
rwg_token
的链接前往商家的预订页面,然后继续前往其他商家并进行预订。- 确保发送的请求的
rwg_token
和merchant_change
值为1
- 确保发送的请求的
测试时,请将 HTTP POST 请求发送到转化端点。有两个端点,一个用于生产环境,另一个用于沙盒环境。
- 正式版:https://www.google.com/maps/conversion/collect
- 沙盒:https://www.google.com/maps/conversion/debug/collect
您需要将以下令牌附加到操作链接或网址:
rwg_token=AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ%3D%3D
对于需要额外令牌的测试,请使用以下令牌。
rwg_token=AJKvS9U2QfiQanHFQrlJxBjD0AyFany3qpaJVEWOcY4nHqY_UkLYFFDj6RIa-EXS1iEmV8gtFPG6v1cU1jnusJK66ijXXnaqkQ%3D%3D
发送成功转化事件后,您可以在“操作中心”的“转化跟踪信息中心”下查看汇总数据。请注意,转化数据最多可能需要一个小时才会显示在信息中心内。
转化归因要求
对于任何实体店与地点链接的互动,Google 的转化归因要求标准是 30 天的归因时间范围。
此归因时间范围表示,Google 希望在以下任一情况下发送转化事件:
- 用户点击地点操作链接,并在同一会话中向同一商家下单。(商家更改值 = 2)
- 用户点击地点操作链接,然后在 30 天内从其他渠道返回并下单购买同一商家。(商家更改值 = 2)
- 用户点击某个地点操作链接,然后在 30 天内(同一会话或其他会话中)在其他商店下单。(商家更改值 = 1)
此外,Google 希望从用户可以通过地点操作链接到达的所有途径发送转化事件。包括:
- 桌面版或移动版 Web 应用
- 移动应用(通过应用深层链接或为您的网域注册的应用 intent)
如果令牌存储在用户级别(请参阅将令牌持久化),则您应提供跨设备归因。也就是说,如果用户在桌面设备上点击操作链接,然后在移动设备上(使用同一用户账号)完成交易,则应触发转化事件。
如果令牌专门存储在设备级别(例如浏览器 Cookie 中),则不应提供跨设备归因。在这种情况下,如果用户在相应设备上点击了操作链接,则每部设备都会保留一个单独的令牌,并且每部设备都会单独遵循归因规则。