实现
总结
转化跟踪的实现分为以下三部分:
-
从着陆页/应用入口点收集
rwg_token
。 -
为相应的归因回溯期保留
rwg_token
- 结账时发送转化事件
这种转化跟踪实现方式不需要您使用 Google Analytics(分析)或任何其他第三方 JavaScript。
在开始实施转化跟踪之前,您应该决定是在设备级别还是用户级别跟踪转化:
- 设备级别包括使用浏览器 Cookie、本地存储、应用本地存储或任何其他能够在 30 天归因时间范围内保留令牌的方法。由于令牌会存储在用户设备本地,因此如果用户更改了他们使用的设备,清除了其本地存储空间/Cookie,或者使用的是无痕浏览或无痕模式,则转化事件可能无法正确归因。使用设备级转化跟踪时,您必须在所有受支持的平台(包括移动设备)中重新实现此功能。
- 用户级包括通过服务器端分析系统或其他服务器端系统将其保留在您的应用数据库中。由于令牌会存储在服务器端,因此如果用户更改了他们所使用的设备,清除了其本地存储空间/Cookie,或者使用的是无痕浏览或无痕模式,那么转化事件仍会在用户重新登录后进行归因。使用用户级转化跟踪时,您可以在系统上实施一次,具体取决于您系统的架构,并在所有受支持的途径中重复使用。
收集 rwg_token
每次 Google 显示您通过 Feed 提供的 action_link
时,该网址都会修改为包含一个唯一的查询参数:rwg_token
。rwg_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 请求。有两个端点,一个用于生产环境,一个用于沙盒环境。
- 正式版:
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> }
在沙盒环境和生产环境中,您在发送转化事件时都需要提供有效的 rwg_token
。为了在沙盒环境中进行测试,您可以使用以下测试令牌。
ADQ7psRE9YyDSVR6YpfD-fYdxoFYVKS1xeTvXdSxqF8a3bnk0W62eMEnUjoNPwjhNHG0elwBnM1awTjr9vXET8yOowCeuODjwA==
下面的示例说明了如何使用 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 }) }); }
使用用户级转化跟踪时,您应该从服务器端存储机制中检索与用户关联的令牌(无论用户位于哪个平台上),并使用相同的生产端点或沙盒端点发送该令牌。
转化归因要求
对于任何商店与地点链接的任何互动,Google 要求的转化归因标准是 30 天归因回溯期。
此归因回溯期意味着,在以下任一情况下,系统会发送转化事件:
- 用户点击了地点操作链接,并在同一会话中下单
- 用户打开地点操作链接,然后在 30 天内从其他渠道返回下单。
- 用户打开一个地点操作链接,然后在 30 天内在同一会话中或不同的会话中在其他商店下订单。
此外,我们希望用户能从地点操作链接到达的所有途径发送转化事件。包括:
- 桌面或移动 Web 应用
- 通过应用深层链接或您的网域注册的应用 intent 访问移动应用
如果令牌存储在用户级(请参阅保留令牌),您需要提供跨设备归因。也就是说,如果用户先在桌面设备上执行了操作链接,然后在移动设备上(使用相同的用户帐号)完成了交易,则应触发转化事件。
如果令牌完全存储在设备级别(例如存储在浏览器 Cookie 中),那么您不应提供跨设备归因功能。在这种情况下,如果用户点击设备上的操作链接,那么每台设备都会保留一个单独的令牌,并且每台设备都会单独遵循归因规则。