轉換追蹤

圖 2:轉換追蹤總覽

總覽

轉換追蹤功能會追蹤透過預訂服務中心整合由 Google 發起的轉換。這有助於確保整合功能正常運作,因為這可能會影響特定網頁的排名。每當 Google 產生 action_link 時,系統會修改特定網址,加入專屬查詢參數:rwg_token。您可以儲存權杖,並在使用者完成預訂時傳回適當的值。

如要完成整合,請按照下列步驟操作:

  1. 剖析並儲存 rwg_token
  2. 剖析並儲存商家資訊。
  3. 傳回 rwg_tokenmerchant_changed 值。
  4. 測試並驗證轉換追蹤。

剖析及儲存 rwg_token

如要完成整合,您需要收集並儲存rwg_token,最多可保留 30 天的初始 Google 推薦。rwg_token 值是經過編碼的字串,內含連結的中繼資料,以及產生該 action_link 的商家資訊。

剖析權杖

使用者前往預訂頁面時,系統會在提供的網址中附加新的 rwg_token。您需要在預訂頁面中剖析符記值。

以下範例說明如何透過瀏覽器剖析 rwg_token,以進行裝置層級追蹤。

const rwgToken = new URLSearchParams(location.search).get('rwg_token') || undefined;

儲存權杖

儲存 rwg_token 後,您可以在兩個不同層級導入轉換追蹤:

  • 裝置層級
  • 使用者層級

您可以在任何層級儲存權杖,但必須在初始推薦後儲存權杖 30 天

以下範例顯示裝置層級的轉換追蹤。您可以使用第一方 Cookie,將權杖值儲存在瀏覽器中。這個範例假設您已將權杖值剖析為變數。請務必將 rootdomain.com 更新為您的網域。

if (rwgToken !== undefined) {
  document.cookie =
  "_rwgToken=" + rwgToken + "; max-age=2592000; domain=rootdomain.com; path=/";
}

每當 Google 透過動態饋給產生您提供的 action_link 時,系統就會修改網址,加入專屬查詢參數:rwg_token。您必須儲存這個權杖,並將其做為轉換事件的一部分傳回。

在裝置層級儲存

裝置層級包括使用瀏覽器 Cookie、本機儲存空間、應用程式本機儲存空間,或任何其他可在 30 天歸因期間內保留權杖的方法。權杖會儲存在使用者裝置的本機上。因此,如果使用者有下列情況,轉換事件就無法正確歸因:

  • 變更使用的裝置。
  • 清除本機儲存空間或 Cookie。
  • 使用私密或無痕瀏覽器。

使用裝置層級轉換追蹤時,您需要在每個支援的裝置 (包括行動裝置) 重新導入轉換事件。

以使用者層級儲存

使用者層級會透過伺服器端數據分析系統或其他伺服器端系統,將權杖保留在應用程式資料庫中。權杖會儲存在伺服器端。因此,使用者重新登入後,轉換事件仍會正確歸因。

根據系統架構使用使用者層級轉換追蹤時,您可以在伺服器端實作一次轉換事件,並在所有支援的裝置上重複使用。

更新權杖

如果 Google 將使用者推薦給同一位商家,系統會以最新推薦產生的新權杖,取代已儲存的現有權杖。權杖更換後,權杖儲存的 30 天歸因期會重設,且這個商家任何新的轉換都會歸因於最新權杖。

詳情請參閱「轉換歸因規定」。

剖析及儲存商家資訊

使用者前往預訂頁面時,您需要導入可尋找及擷取商家詳細資料的邏輯。合作夥伴通常會在動作連結中加入商家中繼資料或 merchant_id,並使用這些資料識別及儲存商家資訊。

建議您將 merchant_id 或所選 ID 與 rwg_token 一併儲存。使用者確認預訂後,您可以先向商家確認,再傳送完整的轉換要求。與權杖儲存空間類似,你必須在初始推薦後的 30 天內,將商家詳細資料與權杖一併儲存。

下列範例會修改先前儲存的 rwg_token。這項作業會假設你已從提供的網址中剖析商家資訊,並將其儲存為 merchant_id 或與現有 merchant_id 比對。

// Store the rwgToken and merchantId in your cookie and set the cookie
// expiration date to 30 days.
if (typeof rwgToken !== 'undefined') {
  document.cookie =
  "_rwgToken=" + rwgToken + "; _merchantId=" + merchantId + "; max-age=2592000;domain=rootdomain.com; path=/";
}

傳回 rwg_tokenmerchant_changed

如果使用者透過action_link推薦連結完成預訂,您需要將 HTTP POST 要求傳送至轉換端點。有兩個端點:

  • 正式環境:https://www.google.com/maps/conversion/collect
  • 沙箱環境:https://www.google.com/maps/conversion/debug/collect

傳送轉換事件時,必須加入儲存的 rwg_token,以及 merchant_changed12。如要進一步瞭解 merchant_changed,請參閱「傳回商家變更值」。

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"
}

以下範例包含裝置層級的轉換追蹤,並在使用者裝置上使用 Cookie,以 JavaScript 編寫:

const partnerId = XXXXXXXXXX;
const endpoint = `https://www.google.com/maps/conversion/collect`;

// Retrieve the value of the rwgToken stored in the browser's cookie
const match = document.cookie.match(new RegExp('(?:^| )_rwgToken=([^;]+)'));
const storedRwgToken = match ? match[1] : undefined;

// Send Conversion event with decoded token, verify any special characters
// are sent properly.
if (storedRwgToken !== undefined) {
  fetch(endpoint, {
    method: "POST",
    body: JSON.stringify({
      conversion_partner_id: partnerId,
      rwg_token: decodeURIComponent(storedRwgToken),
      merchant_changed: merchantChanged
    })
  });
}

傳回商家變更值

系統會使用 merchant_changed 值判斷商家是否與初始重新導向商家不同。如果到達網頁位於包含其他商家的平台,商家變更是很常見的情況。在這種情況下,如果使用者透過 Google 連結前往你的平台,並決定前往其他商家完成預訂,你必須知道轉換是透過其他商家發生。你可以使用布林值來識別商家變更,但無法識別商家詳細資料。

決定要為 merchant_changed 指派哪個值時,您需要採用剖析並儲存商家資訊中儲存的原始商家。檢查商家是否已變更,並根據需求指派值。

  • 規定:使用者離開原始商家網站,並透過你的平台向其他商家完成購買。
    • 商家變更值1
  • 必要條件:使用者透過原始商家完成交易。
    • 商家變更值2

測試及驗證轉換追蹤

下列測試案例使用「測試權杖」一節中提供的測試權杖,旨在協助您瞭解可能導致轉換事件的所有情境。這可確保權杖儲存方式正確、merchant_changed 值設定正確,並在適當時間傳送轉換事件。

使用動態饋給中提供的動作連結或預訂網頁網址,並在網址末端附加測試權杖,執行各個測試案例。請務必使用私密或無痕瀏覽器視窗,這樣系統就會清除與目前使用者相關聯的所有現有權杖,讓您從頭開始。

測試案例 測試說明 使用者流程 預期結果
1 使用者完成的預訂並非透過 Google 進行。 使用者直接前往預訂頁面,沒有透過 Google 參照連結或現有參照連結。這不應導致任何轉換事件。 沒有轉換事件,因為使用者先前未造訪預訂頁面,或不是由 Google 推薦。
2 使用者完成透過 Google 預訂的行程。 使用者透過 Google 找到商家,然後前往預訂頁面並完成預訂。 系統會傳送轉換事件,並將 Token A 和「商家已變更」值設為 2,因為使用者是透過 Google 導向預訂頁面。
3 使用者 (來自 Google) 開始預訂流程,但在完成預訂前放棄工作階段。

注意:請為測試 4 和 5 保持這個工作階段開啟。
使用者透過推薦連結前往預訂頁面,但工作階段結束,且未完成預訂。 沒有轉換,因為使用者未完成預訂,但 Token B 應儲存 30 天。
4 使用者返回預訂頁面 (並非從 Google 進入),然後完成預訂。

注意:預訂流程網址不得包含 rwg_token。
使用者在測試 #4 後返回預訂頁面。權杖 B 應儲存 30 天,且這 30 天內的任何轉換都應傳回轉換事件。 系統會傳送轉換事件,並提供 Token B商家已變更2,因為使用者先前透過 Google 推薦造訪預訂頁面,現在又返回該頁面。
5 使用者在測試 #4 後,完成透過 Google 預訂的新預訂。 如果使用者在先前透過 Google 推薦連結造訪預訂頁面後,再次透過 Google 推薦連結返回預訂頁面,系統會重設 30 天的儲存期限,並以新權杖 Token C 取代舊權杖 Token B。日後所有轉換都會歸因於 Token C 系統會傳送轉換事件,並使用權杖 C商家已變更2,因為使用者已完成預訂,且新權杖已取代先前儲存的權杖。

如果你的平台可讓使用者向其他商家結帳,請測試下列項目。

測試案例 測試說明 使用者流程 預期結果
6 使用者透過 Google 連結前往預訂頁面,但向其他商家完成預訂。 使用者由 Google 轉介至預約頁面,並使用 Token A,但他們在完成預約前前往其他頁面,並向與原始轉介不同的商家完成預約。 系統會傳送轉換事件,因為使用者完成的預訂是透過 Google 推薦,且權杖 A商家已變更值為 1,因為使用者完成預訂的商家與推薦的商家不同。

測試時,請將 HTTP POST 要求傳送至轉換端點。有兩個端點:

  • 正式環境:https://www.google.com/maps/conversion/collect
  • 沙箱環境:https://www.google.com/maps/conversion/debug/collect

測試權杖

如要測試轉換追蹤,請在動態饋給中提供的動作連結或預訂頁面網址結尾,加入下列其中一個測試權杖。

權杖 A:

rwg_token=AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ%3D%3D

權杖 B:

rwg_token=AJKvS9U2QfiQanHFQrlJxBjD0AyFany3qpaJVEWOcY4nHqY_UkLYFFDj6RIa-EXS1iEmV8gtFPG6v1cU1jnusJK66ijXXnaqkQ%3D%3D

權杖 C:

rwg_token=AJKvS9VwInjZ_hGZPvBz0COVWJ5oFDzocFt9hGi7TMurlo2l71uiXP48PspPUMmRnqCUDE1mF_A5H_dMV78cBTF8jIfSQK6lEA%3D%3D

傳送成功的轉換事件後,您可以在轉換追蹤資訊主頁的「動作中心」中查看匯總資料。

conversion-tracking-dashboard

轉換歸因規定

Google 規定的轉換歸因標準是:與任何商店的地點動作連結互動後,30 天內發生的轉換。

這個歸因回溯期表示在下列任一情況中,Google 都會收到轉換事件:

  • 使用者點選地點動作連結,並在同一工作階段向同一商家下單。商家變更值 = 2。
  • 使用者點按地點動作連結,然後在 30 天歸因回溯期內,透過其他管道返回,向同一商家下單。商家變更值 = 2。
  • 使用者點選地點動作連結,然後在其他商店下單,無論是在同一個工作階段,或是在 30 天歸因回溯期內的不同工作階段,商家變更值 = 1。

此外,Google 預期會從使用者透過地點動作連結存取的任何裝置傳送轉換事件。這些裝置包括:

  • 電腦或行動裝置的網頁應用程式。
  • 行動應用程式,可透過應用程式深層連結或網域的已註冊應用程式意圖。

如果權杖儲存在使用者層級,您應提供跨裝置歸因。詳情請參閱「在使用者層級儲存」。在這種情況下,使用者必須先在電腦上點選動作連結,然後在行動裝置上使用相同的使用者帳戶完成交易,才能觸發轉換事件。

如果權杖只儲存在裝置層級 (例如瀏覽器 Cookie),您就不需要提供跨裝置歸因。在這種情況下,如果使用者在裝置上點選動作連結,每部裝置都可以保留個別權杖,並分別遵循歸因規則。