離線轉換匯入 (OCI) 會使用 GCLID 追蹤匯入資料中的離線轉換。如果無法取得 GCLID,離線轉換匯入使用者可以使用其他 ID,例如經雜湊處理的使用者提供資料、wbraid/gbraid 或 session_attributes。
本頁面包含以下內容
關於 session_attributes
session_attributes 是可提供使用者與網站互動相關額外資訊和信號的欄位,有助提升轉換評估、報表和出價的準確度。您可以使用下方的前端指令碼,建立 session_attributes 的 Base64 編碼字串,並將其傳遞至資料庫/顧客關係管理,然後透過 API 匯入功能傳送至 Google。如果您無法使用前端指令碼,請使用 session_attributes_key_value_pairs 欄位,個別傳送每個鍵/值組合。
建議您傳送所有子欄位,但可以視需要選擇傳送的子欄位數量。所有子欄位均為選用欄位。 session_attributes 欄位建議的儲存大小為 5 KB。大多數用量都不會超過這個大小。如果 session_attributes 大於此值,請與顧客關係管理系統供應商合作修改欄位大小 (強烈建議),或從 JavaScript 輔助函式中移除 landing_page_url 和 landing_page_referrer 參數。
以下是 session_attributes 欄位中的子欄位:
gad_source:網址中提供的匯總參數,用於識別廣告帶來的流量來源。進一步瞭解 gad_* 網址參數。gad_campaignid:促成廣告點擊的特定廣告活動 ID。進一步瞭解 gad_* 網址參數。landing_page_url:網站上到達網頁的完整網址。這項資訊會指出使用者最初造訪的網頁。session_start_time_usec:使用者在您網站上啟動工作階段的時間戳記。這有助於追蹤使用者造訪的時間長度。請務必使用一致的 UNIX 時間戳記 Epoch 時間微秒格式。landing_page_referrer:將使用者導向網站的網頁網址。這有助於瞭解網站的流量來源。如要進一步瞭解參照網址,請參閱這篇文章,雖然主要說明 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 的現有離線轉換匯入使用者,最簡單的傳送方式,就是在現有上傳架構中,將從 JavaScript 擷取的已編碼 session_attributes 設定為名為 ClickConversion.session_attributes_encoded 的新欄位。請繼續使用目前的離線轉換匯入程序,但在匯入時設定這個新欄位。如果沒有其他 ID,Google Ads 會使用 session_attributes。
進階
如果您無法使用 JavaScript,可以擷取個別鍵/值組合,並透過離線轉換匯入功能傳送鍵/值組合。
如果您是現有的離線轉換匯入 (OCI) 使用者,但不使用 JavaScript,也可以在現有的上傳架構中設定名為 ClickConversion.session_attributes_key_value_pairs 的鍵/值組合欄位。建議您在呼叫 API 時,傳送包含這些欄位的鍵/值組合。請參閱開發人員說明文件,瞭解如何將個別鍵/值組合新增至 ClickConversion。
2. 使用資料管理工具的 session_attributes 欄位
您也可以使用資料管理工具傳送 session_attributes 欄位。
- 資料管理工具使用者介面:使用提供的 JavaScript 建立
session_attributes欄位,並透過資料管理工具使用者介面上傳。 - Data Manager API:您可以整合 Data Manager API,以程式輔助方式上傳資料。如需具體操作說明和架構詳細資訊,請參閱資料管理工具說明文件。
傳送正確資料後,Google Ads 就能使用這些資訊將轉換歸因至正確的廣告活動,並提供更完整的轉換報表。
