转化跟踪

图 2:转化跟踪概览

概览

转化跟踪功能可跟踪 Google 通过某个与 Google Ads 合作的服务集成发起的转化。您必须确保集成正常运行,因为这可能会影响某些网页的排名。每当 Google 生成 action_link 时,系统都会修改特定网址,使其包含唯一的查询参数:rwg_token。您可以在用户完成预订时存储令牌并返回适当的值。

如需完成集成,请按以下步骤操作:

  1. 解析并存储 rwg_token
  2. 解析并存储商家信息。
  3. 返回 rwg_tokenmerchant_changed 值。
  4. 测试并验证转化跟踪。

解析和存储 rwg_token

如需完成集成,您需要在初始 Google 引荐后的最多 30 天内收集和存储 rwg_tokenrwg_token 值是一个编码字符串,其中包含与链接相关的元数据以及生成该 action_link 的商家信息。

解析令牌

当用户被定向到您的预订页面时,系统会在提供的网址后附加一个新的 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=/";
}

每当 Google 生成您通过 Feed 提供的 action_link 时,都会修改网址以添加唯一的查询参数:rwg_token。您必须存储此令牌,并将其作为转化事件的一部分传回。

在设备级别存储

设备级包括使用浏览器 Cookie、本地存储空间、应用本地存储空间或任何其他可在 30 天的归因时间范围内保留令牌的方法。令牌存储在用户设备本地。因此,如果用户满足以下条件,转化事件将无法正确归因:

  • 更改所用的设备。
  • 清除本地存储空间或 Cookie。
  • 使用无痕浏览器。

使用设备级转化跟踪时,您需要在包括移动设备在内的每台受支持设备上重新实现转化事件。

在用户级别存储

用户级会通过服务器端分析系统或其他服务器端系统将令牌持久保存在应用数据库中。令牌存储在服务器端。因此,在用户重新登录后,转化事件仍会正确归因。

当您根据系统架构使用用户级转化跟踪时,只需在服务器端实现一次转化事件,即可在所有受支持的设备上重复使用该事件。

刷新令牌

当 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_tokenmerchant_changed

当用户完成从 action_link 引荐开始的预订时,您需要向转化端点发送 HTTP POST 请求。有两个端点:

  • 生产环境:https://www.google.com/maps/conversion/collect
  • 沙盒环境:https://www.google.com/maps/conversion/debug/collect

发送转化事件时,您必须包含存储的 rwg_tokenmerchant_changed 值(12)。如需详细了解 merchant_changed,请参阅返回商家更改值

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"
}

以下示例包含使用 JavaScript 编写的设备级转化跟踪代码,该代码会在用户设备上设置 Cookie:

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_changed 分配哪个值时,您需要使用解析和存储商家信息中保存的原始商家。检查商家是否已更改,并根据您的要求分配相应值。

  • 要求:当用户离开原始商家的网站,并通过您的平台与其他商家完成购买交易时。
    • 商家更改值1
  • 要求:当用户通过原始商家完成交易时。
    • 商家更改值2

测试和验证转化跟踪

以下测试用例使用了测试令牌部分中提供的测试令牌,旨在引导您了解所有可能导致转化事件的各种场景。这样可以确保令牌得到适当存储、merchant_changed 值设置正确,并在适当情况下发送转化事件。

使用 Feed 中提供的操作链接或预订页面网址,并通过将测试令牌附加到网址末尾来运行每个测试用例。请务必使用私密或无痕式浏览器窗口,这会清除与当前用户关联的所有现有令牌,让您可以从零开始。

测试用例 测试说明 用户体验历程 预期结果
1 用户完成了并非通过 Google 发起的预订。 用户直接前往预订页面,而未经 Google 引荐或未经现有引荐。这不应导致任何转化事件。 无转化事件,因为用户之前未访问过预订页面,或者并非由 Google 引荐。
2 用户完成在 Google 上发起的预订。 用户通过 Google 找到您的商家,然后被引导至您的预订页面并完成预订。 由于用户是通过 Google 被引导至预订页面,因此系统会发送转化事件,其中 Token Amerchant changed 值均为 2
3 用户(来源于 Google)开始预订流程,但在完成预订之前就放弃了会话。

注意:请为测试 4 和 5 保留此会话。
用户被引导至您的预约页面,但会话结束,且用户未完成预约。 无转化,因为用户未完成预订,但令牌 B 应存储 30 天。
4 用户返回到预订页面(并非从 Google 发起),然后完成预订。

注意:预订流程网址不得包含 rwg_token。
用户在完成测试 4 后返回预订页面。令牌 B 应存储 30 天,并且在这 30 天内发生的任何转化都应返回转化事件。 由于用户在之前通过 Google 引荐后返回了预订页面,因此系统会发送转化事件,其中 Token Bmerchant changed 的值为 2
5 用户在 Test #4 后完成了来自 Google 的新预约。 如果用户在之前通过 Google 引荐回访了您的预订页面,之后又通过 Google 引荐回访了您的预订页面,则其 30 天存储期限会重置,并且新的令牌 Token C 会取代旧令牌 Token B。之后,所有未来的转化都将归因于 Token C 由于用户完成了预订,并且新令牌取代了之前存储的令牌,因此系统会发送转化事件,其中 Token Cmerchant changed 的值为 2

如果您的平台支持用户通过其他商家结账,请测试以下内容。

测试用例 测试说明 用户体验历程 预期结果
6 用户通过 Google 转到您的预约页面,并通过其他商家完成预约。 用户通过 Google 被引荐到您的预约页面,使用了 Token A,但在完成预约之前,他们转到其他页面,并通过与原始引荐来源不同的商家完成了预约。 系统会发送转化事件,因为用户完成了一次预订,该预订源自 Google 的引荐,令牌 A商家发生变化的值为 1,因为用户在与引荐来源不同的商家中完成了预订。

在测试期间,将 HTTP POST 请求发送到转化端点。有两个端点:

  • 生产环境:https://www.google.com/maps/conversion/collect
  • 沙盒环境:https://www.google.com/maps/conversion/debug/collect

测试令牌

如需测试转化跟踪,请将以下测试令牌之一添加到您在 Feed 中提供的操作链接或预订页面网址的末尾。

令牌 A

rwg_token=AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ%3D%3D

令牌 B

rwg_token=AJKvS9U2QfiQanHFQrlJxBjD0AyFany3qpaJVEWOcY4nHqY_UkLYFFDj6RIa-EXS1iEmV8gtFPG6v1cU1jnusJK66ijXXnaqkQ%3D%3D

令牌 C

rwg_token=AJKvS9VwInjZ_hGZPvBz0COVWJ5oFDzocFt9hGi7TMurlo2l71uiXP48PspPUMmRnqCUDE1mF_A5H_dMV78cBTF8jIfSQK6lEA%3D%3D

发送成功转化事件后,您可以在“操作中心”的“转化跟踪”信息中心下查看汇总数据。

conversion-tracking-dashboard

转化归因要求

对于任何实体店内与地点行动链接的互动,Google 的转化归因要求标准是 30 天的归因时间范围。

此归因时间范围表示,在以下任一情况下,Google 都可能会发送转化事件:

  • 用户点击地点操作链接,并在同一会话中向同一商家下单。商家更改值 = 2。
  • 用户点击地点操作链接,然后在 30 天的归因时间范围内通过其他渠道回访,为同一商家下单。商家更改值 = 2。
  • 用户点击某个地点操作链接,然后在 30 天归因时间范围内的同一会话或其他会话中在其他商店下单。商家更改价值 = 1。

此外,Google 希望从用户可以通过商家信息操作链接访问的任何设备发送转化事件。这些设备包括:

  • 桌面版或移动版 Web 应用。
  • 移动应用,通过应用深层链接或为您的网域注册的应用 intent。

如果令牌存储在用户级别,则您应提供跨设备归因。如需了解详情,请参阅在用户级别存储。在这种情况下,如果用户在桌面设备上点击操作链接,然后使用同一用户账号在移动设备上完成交易,则必须触发转化事件。

如果令牌仅存储在设备级别(例如在浏览器 Cookie 中),则您不应提供跨设备归因。在这种情况下,如果用户在相应设备上点击了操作链接,则每部设备都可以保留单独的令牌,并且每部设备都可以单独遵循归因规则。