转化跟踪

图 2:转化跟踪概览

摘要

转化跟踪旨在跟踪 Google 通过某种行动中心集成发起的转化。这对于确保集成正常运行至关重要,并且可能会影响某些网页的排名。每当 Google 显示 action_link 时,都会修改该网址以添加唯一的查询参数:rwg_token。您可以自行存储该令牌,并在用户完成预订时返回适当的值。

如需完成集成,您需要完成以下操作:

  1. 收集和存储 rwg_token
  2. 收集和存储商家。
  3. 返回 rwg_tokenmerchant_change 值。
  4. 测试和验证转化跟踪。

收集和存储 rwg_token

若要完成此集成,您必须在首次 Google 引荐后的最多 30 天内收集和存储 rwg_tokenrwg_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_tokenrwg_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_tokenmerchant_change 值。

当用户完成从操作链接引荐开始的预订时,您必须向转化端点发送 HTTP POST 请求。有两个端点,一个用于生产环境,另一个用于沙盒环境。

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

发送转化事件时,您必须包含存储的 rwg_token12merchant_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"
}

以下示例使用 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_change 分配什么值时,您需要获取收集和存储商家中保存的原始商家,并检查商家是否已更改,然后在分配值时参考下表。

如果您的预订页面不在平台中,或者用户无法导航到其他商家,您可以将这些请求的值硬编码为 2。对于将预订页面集成到商家网站或使用自定义着陆页处理预订的合作伙伴,这种情况很常见。

商家更改价值 要求
1 如果用户离开原始商家的网站,并通过您的平台与其他商家完成了购买交易,则应使用此值
2 如果客户通过原始实体(商家)完成了交易,则应使用此值。

测试和验证转化跟踪。

为确保您实现的转化跟踪正确无误,您需要运行以下测试。请务必使用与您的商家相关联的 Action 链接,并在无痕式或无痕式窗口中发出请求,以确保清除与该用户关联的所有之前的令牌。

  1. 只需使用 Action 链接即可完成预约
    • 没有引荐来源或之前存储的令牌的直接预订不应导致向 Google 发送任何请求。
  2. 使用附加了 rwg_token 的链接完成预订。
    • 确保请求成功发送,且 rwg_tokenmerchant_change 值为 2
    • 确保您将 rwg_token 存储 30 天
  3. 使用新的 rwg_token 与同一商家完成新的预订。
    • 确保请求成功发送,并使用 2 的新 rwg_tokenmerchant_change
    • 确保令牌的归因存储期限已刷新为 30 天
  4. 直接前往您正在测试的商家的预订页面,然后进行一次不附加 rwg_token 的新预订。
    • 确保发送的请求包含之前存储的 rwg_token,且 merchant_change 值为 2

如果您的平台允许用户使用其他商家结账,请测试以下内容。

  1. 使用附加了 rwg_token 的链接前往商家的预订页面,然后继续前往其他商家并进行预订。
    • 确保发送的请求的 rwg_tokenmerchant_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

发送成功转化事件后,您可以在“操作中心”的“转化跟踪信息中心”下查看汇总数据。请注意,转化最多可能需要 1 小时才会显示在信息中心中。

conversion-tracking-dashboard

转化归因要求

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

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

  • 用户点击地点操作链接,并在同一会话中向同一商家下单。(商家更改值 = 2)
  • 用户点击某个地点操作链接,然后在 30 天内通过其他渠道返回,为同一商家下单。(商家更改值 = 2)
  • 用户点击某个地点操作链接,然后在 30 天内(同一会话或其他会话中)在其他商店下单。(商家更改值 = 1)

此外,Google 希望从用户可以通过地点操作链接到达的所有途径发送转化事件。包括:

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

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

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