转化跟踪

实现

摘要

转化跟踪的实施分为以下三部分:

  • 从着陆页 / 应用中收集 rwg_tokenmerchant_id 入口点。
  • 保留 rwg_tokenmerchant_id 以进行适当的归因 窗口。
  • 比较转化时保留的merchant_idmerchant_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_tokenmerchant_id

您需要保留 rwg_token 网址参数,该参数将为 附加到您提供的所有操作链接中,有效期为 30 天。 应存储和返回 rwg_token 的值,不要进行任何修改。

除了 rwg_token,您还需要存储与merchant_id 包含操作链接

如果上一次访问中留存了现有令牌,更早的 rwg_tokenmerchant_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,我们不应该提供跨设备归因。在本课中, 在这种情况下,如果用户遵循了 在该设备上有一个操作链接,每个设备都会遵循归因 规则。