转化跟踪

实施步骤

摘要

转化跟踪的实现涉及以下三个方面:

  1. 从着陆页 / 应用入口点收集 rwg_token
  2. 针对相应归因期保留 rwg_token
  3. 在结账时发送转化事件

此转化跟踪实现过程不要求您使用 Google Analytics(分析)或任何其他第三方 JavaScript。

在开始实施转化跟踪之前,您应该决定是在设备一级还是用户一级跟踪转化:

  • 设备级包括使用浏览器 Cookie、本地存储、应用本地存储或任何其他可以在 30 天归因回溯期内保留令牌的方法。由于令牌将存储在用户设备本地,因此如果用户更换使用的设备、清除本地存储/Cookie 或者正在使用无痕浏览或无痕模式,那么转化事件可能无法正确归因。使用设备级转化跟踪时,您必须在每个受支持的平台(包括移动设备)上重新实现此功能。
  • 用户级别包括通过服务器端分析系统或其他服务器端系统将其保留在应用数据库中。由于令牌存储在服务器端,因此如果用户更换使用的设备、清除本地存储/Cookie 或者正在使用无痕浏览或无痕模式,那么用户重新登录后,系统仍会对转化事件进行归因。使用用户级转化跟踪时,根据您系统的架构,您或许可以在服务器端实现一次此跟踪,并在所有受支持的平台上重复使用。

收集 rwg_token

每当 Google 显示您通过 Feed 提供的 action_link 时,该网址都会被修改以包含唯一的查询参数:rwg_tokenrwg_token 值是一个经过编码的字符串,其中包含一些关于用户点击的链接的元数据。您需要存储此令牌,并将其作为转化事件的一部分传回。

在每个着陆页 / 应用入口点,您必须解析为 rwg_token 查询参数设置的值并存储该值。如需了解存储此参数的要求,请参阅保留 rwg_token 步骤。

以下示例展示了如何通过浏览器解析此令牌以进行设备级跟踪。或者,您也可以在响应请求时从服务器端收集此令牌:

<script>
  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;
    }
  }
</script>

保留 rwg_token

您需要将 rwg_token 网址参数附加到您提供的所有操作链接,该参数的值的总保留时长为 30 天。应存储和返回 rwg_token 的值,不得进行任何修改。如果上一次访问中存在保留的现有令牌,则应替换旧令牌,并重置 30 天的存储期。

持久保留令牌时,您可以在设备级别或用户级别存储令牌:

  • 设备级包括使用浏览器 Cookie、本地存储、应用本地存储或任何其他可以在 30 天归因回溯期内保留令牌的方法。
  • 用户级别包括通过服务器端分析系统或其他服务器端系统将其保留在应用数据库中。

以下是设备级转化跟踪的示例,其中通过第一方 Cookie 将此令牌存储在网络浏览器中。此示例假定您已将令牌值解析为变量,如上例所示。如需使用此示例,您需要将“rootdomain”更新为您的域名。

<script>
  if (typeof rwg_token !== 'undefined') {
    document.cookie =
    "_rwg_token=" + rwg_token + ";max-age=2592000;domain=rootdomain.com;path=/";
  }
</script>

在使用用户级转化跟踪时,rwg_token 应存储在服务器上并与用户关联。

发送转化数据

当用户完成可归因于 Google 地点操作链接的交易时,您必须向转化端点发送 HTTP POST 请求。该 API 有两个端点,一个用于生产环境,另一个用于沙盒环境。

  • 正式版:https://www.google.com/maps/conversion/collect
  • 沙盒:https://www.google.com/maps/conversion/debug/collect

POST 正文应该是 JSON 编码的对象,格式如下:

{
  'conversion_partner_id': partnerId,
  'rwg_token': <rwg_token_val>
}

在沙盒环境和生产环境中,在发送转化事件时,您都需要提供有效的 rwg_token。若要在沙盒环境中进行测试,您可以使用以下测试令牌。

ADQ7psRE9YyDSVR6YpfD-fYdxoFYVKS1xeTvXdSxqF8a3bnk0W62eMEnUjoNPwjhNHG0elwBnM1awTjr9vXET8yOowCeuODjwA==

下面是一个在 JavaScript 中如何发出此 POST 请求的设备级转化跟踪的完整示例(使用用户设备上的 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
    })
  });
}

使用用户级转化跟踪时,您应该从服务器端存储机制中检索与用户关联的令牌(无论其位于何处),并使用相同的生产端点或沙盒端点发送该令牌。

转化归因要求

Google 要求的转化归因标准是,对于任何商店内与地点链接的任何互动,归因回溯期都必须为 30 天。

此归因回溯期意味着,在以下任一情况下,我们都会发送转化事件:

  • 用户访问地点操作链接并在同一会话中下单
  • 用户访问地点操作链接,然后在 30 天内从其他渠道返回并下单。
  • 用户打开地点操作链接,然后在其他商店下单(可在同一会话内,也可在 30 天期限内的不同会话中)。

此外,我们希望用户能通过地点操作链接到达的所有平台发送转化事件。包括:

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

如果令牌存储在用户级别(请参阅保留令牌),则应提供跨设备归因。也就是说,如果用户在桌面设备上点击操作链接,然后在移动设备上完成交易(使用同一用户帐号),则应触发转化事件。

如果令牌仅在设备级别存储(例如存储在浏览器 Cookie 中),则无需提供跨设备归因。在这种情况下,如果用户已追踪每台设备上的操作链接,那么每台设备都会保留一个单独的令牌,并且每台设备都将分别遵循归因规则。