线下转化数据导入 (OCI) 功能会使用 GCLID 跟踪导入的线下转化。在 GCLID 不可用的情况下,OCI 用户可以依赖其他标识符,例如经过哈希处理的用户提供的数据、wbraid/gbraid 或 session_attributes。
本页内容
session_attributes 简介
session_attributes 是一个字段,可提供有关用户与您网站的互动的更多背景信息和信号,从而提升转化衡量、报告(包括同设备/跨设备细分)和出价的准确性。您可以使用我们下面的前端脚本创建采用 base64 编码的 session_attributes 字符串,将其传递给数据库/CRM,然后通过 API 导入发送给 Google。如果您无法使用该前端脚本,请使用 session_attributes_key_value_pairs 字段单独发送各个键值对。
我们建议您发送所有子字段,但您也可以根据需要选择发送任意数量的子字段。所有子字段均为可选字段。建议将 session_attributes 字段的存储空间大小设为 5 KB。大多数情况下的使用量不会超过此大小。如果 session_attributes 超出此大小,请与 CRM 提供商合作修改该字段大小(强烈建议),或者从 JavaScript 辅助函数中移除 landing_page_url 和 landing_page_referrer 参数。
以下是 session_attributes 字段中的子字段:
gad_source:在网址中提供的汇总参数,用于识别来自广告的流量的来源。详细了解 gad_* 网址参数。gad_campaignid:促成广告点击的具体的广告系列 ID。详细了解 gad_* 网址参数。landing_page_url:您网站上着陆页的完整网址。此子字段表示用户最先到达的具体网页。session_start_time_usec:用户在您的网站上开始会话的时间戳。这有助于跟踪用户访问时长。请务必使用一致的时间格式,即使用 Unix 时间戳纪元微秒数表示。landing_page_referrer:将用户引导至您网站的网页的网址。这有助于了解为您的网站带来流量的来源。如需详细了解引荐来源网址,请参阅这篇文章。虽然该文章主要介绍的是 Google Analytics,但引荐来源网址的概念是全网通用的。landing_page_user_agent:用于识别用户的浏览器和操作系统的字符串。该信息有助于了解用户的技术环境。
如何捕获 session_attributes
您可以在着陆页上使用以下 JavaScript 辅助函数和 HTML 表单来捕获和持久保存 session_attributes。
以下示例代码会将数据持久保存到 localStorage。在网站上实现该功能之前,请另外确保根据需要遵守您网站特有的所有必要意见征求和数据保留要求。
HTML 表单
- 您需要修改每个表单提交页面,以便为
session_attributes添加隐藏字段。这便是将session_attributes传递到后端系统的方式。以下示例代码演示了这一点。<form action="" name="myForm">
Name: <input type="text" name="name">
<input type="hidden" id="session_attributes_field" name="session_attributes_field" value="">
<input type="submit" value="Submit Form" name="btnSubmit">
</form> - 用于捕获
session_attributes_encoded并在表单字段中对其进行设置的脚本示例。以下示例代码会将数据持久保存到 localStorage。<script>
function getSessionAttributes() {
const searchParams = new URLSearchParams(window.location.search);
if (Array.from(searchParams.keys()).some(key => key.startsWith('gad_')) ||
searchParams.has('gclid') || searchParams.has('gbraid')) {
const params = {};
searchParams.forEach((value, key) => {
if (key.startsWith('gad_')) params[key] = value;
});
params['session_start_time_usec'] =
(new Date().getTime() * 1000).toString();
params['landing_page_url'] = window.location.href;
params['landing_page_referrer'] = document.referrer;
params['landing_page_user_agent'] = navigator.userAgent;
const sessionAttributesEncoded = btoa(JSON.stringify(params))
.replace(/\+/g, '-')
.replace(/\//g, '_')
.replace(/=+$/, '');
localStorage.setItem('google_session_attributes', sessionAttributesEncoded);
return sessionAttributesEncoded;
}
return localStorage.getItem('google_session_attributes') || '';
}
function addSessionAttributes() {
const sessionAttributesEncoded = getSessionAttributes();
var sessionAttributesFormField =
document.getElementById('session_attributes_field');
if (sessionAttributesFormField && sessionAttributesEncoded != '') {
sessionAttributesFormField.value = sessionAttributesEncoded;
}
}
window.addEventListener('load', addSessionAttributes);
</script>
如何将数据发送到 Google Ads
1. Google Ads API 中的 session_attributes_encoded 字段
如果您是使用 JavaScript 的现有线下转化数据导入 (OCI) 用户,请在现有的上传架构中通过设置名为 ClickConversion.session_attributes_encoded 的新字段,来发送从提供的 JavaScript 中捕获的经过编码的 session_attributes。请继续使用您当前的 OCI 流程,但要在进行导入时设置此新字段。如果没有其他标识符,Google Ads 将使用 session_attributes。
所有新用户都必须使用 Data Manager API。如果账号未列入许可名单,无法通过 Google Ads API 传输 IP 地址或会话属性,您会收到与这些转化相关的出错提示。
高级
如果您无法使用 JavaScript,可以捕获单独的键值对,然后通过线下转化数据导入发送这些键值对。
如果您是不使用 JavaScript 的现有线下转化数据导入 (OCI) 用户,还可以在现有上传架构中设置名为 ClickConversion.session_attributes_key_value_pairs 的键值对字段。我们建议您在调用 API 时通过这些字段发送键值对。请查看开发者文档,了解如何向 ClickConversion 添加各个键值对。
您可以参考以下建议并更新您的实现,以确保发送的数据有效:
gad_campaignid(广告系列 ID):务必始终发送与广告点击相关联的有效 Google Ads 广告系列 ID。这是广告点击跟踪网址中填充的广告系列 ID,格式为“gad_campaignid=1234”。此为核心属性,对实现准确归因至关重要。session_start_time_usec:务必始终发送该属性(即用户会话开始的时间戳)。landing_page_url(网址):务必发送准确、完整的着陆页网址。请勿发送占位符字符串、内部应用路径或不完整的网址。- 注意:如果无法提供准确、完整的网址,建议移除整个字段,因为不正确的数据可能会对模型分析产生负面影响。
landing_page_user_agent(用户代理):确保该字符串准确反映用户的浏览器和操作系统,避免发送通用值或硬编码值。
2. 使用数据管理器发送 session_attributes 字段
您还可以使用数据管理器发送 session_attributes 字段。
- 数据管理器界面:使用提供的 JavaScript 创建
session_attributes字段,并通过数据管理器界面进行上传。 - Data Manager API:您可以集成 Data Manager API,从而以编程方式上传数据。如需具体说明和架构详细信息,请参阅数据管理器文档。
通过发送正确的数据,您可以让 Google Ads 使用这些信息将转化归因于正确的广告系列,并为您提供更全面的转化报告。