使用交易 ID 以盡量避免重複計算轉換

每筆交易的交易 ID 皆不得重複,且必須由網站後端或電子商務平台為每筆購買交易動態產生。如果硬式編碼相同的 ID、使用靜態值,或無法確保交易 ID 不重複,Google Ads 可能只會處理特定交易 ID 的第一個項目,導致轉換大幅漏算。

不重複的交易 ID (例如訂單確認號碼) 對於準確評估轉換次數至關重要,尤其是購買交易。不重複的交易 ID 可避免重複計算轉換,並啟用進階評估功能。

您可以使用交易 ID 追蹤線上和離線轉換。

如果在轉換頁 (例如訂單確認頁) 中加入轉換追蹤代碼,當顧客在您的網站上完成一次有價值的動作時,系統才會計入一次轉換。不過,如果顧客返回轉換頁或重新載入網頁,同一個代碼可能會再次啟動,導致同一筆訂單又算成一次轉換。

為了避免重複計算轉換,請將轉換追蹤代碼改為擷取不重複的交易 ID (例如您目前使用的訂單確認編號)。假設某轉換動作產生兩筆交易 ID 相同的轉換,Google Ads 能夠判斷第二筆是重複轉換。您會收到錯誤訊息,且系統不會重複計算轉換。

為提升轉換評估成效,我們極力建議您使用資料管理工具,並搭配使用 Google 代碼,上傳儲存在後端的線上轉換資料 (例如顧客關係管理系統中的資料)。這麼做時,代碼和伺服器對伺服器上傳作業的交易 ID 應保持一致。這有助於提升轉換追蹤成效。按這裡瞭解詳情。

本文將說明如何在轉換追蹤代碼中加入不重複的交易 ID,以及如何搭配離線轉換使用。

注意:處理離線轉換 (包括離線轉換調整項和待開發客戶強化轉換) 時,系統在用詞上會使用「訂單 ID」,而不是「交易 ID」。如果您有使用這類產品,請使用「訂單 ID」欄位,在上傳的 CSV 檔案或 API 程式碼中指定轉換的專屬 ID。

本頁面包含以下內容


事前準備

為了在轉換追蹤代碼中加入交易 ID,您需要:

  • 為網站設定轉換追蹤。請先在 Google Ads 帳戶中建立轉換動作並在網站上加入轉換代碼,再按照以下說明操作。
  • 您的網站應能產生不重複的交易 ID,例如交易的訂單確認編號。交易 ID 可包含數字、英文字母和特殊字元 (例如破折號或空格),長度以 64 個半形字元為限,每筆訂單的交易 ID 都不重複,這點非常重要。如果多筆訂單使用相同 ID,會導致漏算。亦不得包含任何客戶個人識別資訊。
  • 視設定而定,您可能需要能夠修改網站上的程式碼。您或網頁程式開發人員需要能夠修改轉換追蹤代碼。

操作說明

您必須在轉換追蹤代碼中加入一段程式碼,以擷取不重複的訂單號碼並與代碼一併傳送。您不需要在 Google Ads 帳戶中進行任何修改,只要更新代碼即可。

注意事項

請確認您傳送的交易 ID 是動態值。如果代碼針對不同交易傳送相同的 ID 給 Google Ads,您可能會大幅漏算轉換。

透過 Google 代碼事件程式碼片段設定交易 ID

步驟 1 (1/3):產生及公開交易 ID

發生轉換時 (例如顧客完成購買),伺服器應產生專屬交易 ID。接著,您可以在轉換確認頁面的 HTML 中提供這個 ID。一般來說,做法是直接將 ID 顯示在網頁的 JavaScript 變數中。

例如,在確認頁面上,伺服器端程式碼可能會產生類似這樣的程式碼片段:

<script>
  const uniqueTransactionId = 'TID_1663445995_789'; // 此值應由您的伺服器動態產生
</script>

步驟 2 (2/3):在 Google 代碼事件程式碼片段中傳遞 ID

接著,請修改 Google 代碼事件程式碼片段,傳遞這個動態產生的 ID。在轉換頁中找出事件程式碼片段,然後使用上一個步驟中定義的變數,加入 transaction_id 參數。

// 此變數應填入來自您伺服器的專屬 ID
const uniqueTransactionId = 'TID_1663445995_789';

gtag('event', 'conversion', {
  'send_to': 'AW-CONVERSION_ID/CONVERSION_LABEL',
  'value': 120.50,
  'currency': 'USD',
  'transaction_id': uniqueTransactionId // 這是專屬 ID
});

步驟 3 (3/3):驗證導入結果

部署程式碼後,請在網站上進行測試購買。接著,您可以使用 Tag Assistant 驗證交易 ID 是否已正確傳遞至轉換連線偵測 (ping)。

透過 Google 代碼管理工具設定交易 ID

如果廣告主使用 Google 代碼管理工具,傳遞專屬交易 ID 最可靠的方式是使用網站的資料層。這個程序主要有兩個階段:確保網站開發人員將 ID 推送至資料層,然後設定 Google 代碼管理工具讀取該 ID 並傳遞至 Google Ads。

第 1 部分:將交易 ID 推送到資料層 (適用於網頁程式開發人員)

如要設定 Google 代碼管理工具,網頁程式開發人員必須更新網站程式碼,在每次發生轉換時,將專屬交易 ID 推送至資料層。這樣一來,Google 代碼管理工具就能擷取該值。

以下是開發人員會新增至轉換確認頁面的程式碼範例。

<script>
  window.dataLayer = window.dataLayer || [];
  window.dataLayer.push({
    'event': 'purchase', // 觸發您 GTM 代碼的自訂事件名稱
    'transaction_id': 'UNIQUE_TRANSACTION_ID_FROM_YOUR_SYSTEM' // 動態交易 ID
  });
</script>

開發人員須知重點:

  • 必須以動態方式,為每筆訂單填入專屬的 transaction_id 值。
  • 最佳做法是推送自訂事件 (例如購買),因為這會提供明確信號,供您在 Google 代碼管理工具中觸發 Google Ads 代碼。

第 2 部分:設定 Google 代碼管理工具

正確導入資料層後,請在 Google 代碼管理工具容器中按照下列步驟操作。

步驟 1 (1/4):建立觸發條件

首先,請建立在發生購買事件時觸發 Google Ads 代碼的觸發條件。

  1. 在 Google 代碼管理工具的工作區中,前往「觸發條件」,然後按一下「新增」
  2. 為觸發條件命名。例如「自訂事件 - 購買」。
  3. 在「觸發條件設定」中,選擇「自訂事件」
  4. 在「事件名稱」欄位中,輸入開發人員推送至資料層的事件名稱,例如「purchase」。
  5. 按一下「儲存」

步驟 2 (2/4):建立資料層變數

接著,建立變數來擷取資料層中的交易 ID。

  1. 前往「變數」,然後在「使用者定義的變數」部分,按一下「新增」
  2. 為變數命名。例如「DLV - transaction_id」。
  3. 在「變數設定」中,選擇「資料層變數」
  4. 在「資料層變數名稱」欄位中,輸入 transaction_id。這必須與 dataLayer.push() 程式碼中使用的鍵完全相符。
  5. 按一下「儲存」

步驟 3 (3/4):更新 Google Ads 轉換追蹤代碼

最後,請將 Google Ads 轉換追蹤代碼設定為使用您剛建立的變數。

  1. 前往「代碼」,然後按一下現有的 Google Ads 轉換追蹤代碼,或建立新的代碼 (如果尚未建立)。
  2. 在「代碼設定」中,找出「交易 ID」欄位。
  3. 按一下欄位旁的 variable selector icon 按鈕,然後選取您在上一個步驟中建立的資料層變數。例如:{{DLV - transaction_id}}
  4. 在「觸發條件」下方,選取您在步驟 1 建立的觸發條件。例如「自訂事件 - 購買」。
  5. 按一下「儲存」
  6. 發布 Google 代碼管理工具容器,讓變更生效。

按照這些步驟操作後,Google 代碼管理工具會在每次購買時,從資料層動態擷取專屬交易 ID,並傳送至 Google Ads。

步驟 4:驗證導入結果

設定代碼並發布 Google 代碼管理工具容器後,請驗證系統是否正確擷取及傳遞交易 ID。最佳做法是使用 Google 代碼管理工具的內建預覽模式。

  1. 啟動預覽模式:在 Google 代碼管理工具工作區中,按一下右上角的「預覽」按鈕。輸入網站網址,然後點選「連結」。系統會在新的瀏覽器分頁中開啟您的網站,並在底部顯示 Tag Assistant 偵錯窗格。
  2. 完成測試轉換:在網站上完成測試購買程序,以觸發轉換事件。
  3. 檢查代碼觸發情形:在 Tag Assistant 視窗或分頁中,您應該會看到建立的自訂事件 (例如 purchase) 出現在左側的事件時間軸。按一下這個事件。
  4. 檢查 Google Ads 代碼:在該事件的「已觸發的代碼」部分,您應該會看到 Google Ads 轉換追蹤代碼。按一下代碼即可開啟詳細資料。
  5. 驗證交易 ID:在代碼詳細資料中,您會看到傳遞至 Google Ads 的確切值。找到「交易 ID」欄位,確認顯示的是為測試購買交易而產生的專屬 ID。交易 ID 不得為靜態值或顯示為「未定義」。
  6. 重複測試:為確保 ID 是動態值,請再次進行測試購買,並確認系統擷取到「不同」的「新」交易 ID。

使用內容管理系統 (CMS) 設定交易 ID

如果內容管理系統 (CMS) 與 Google 深度整合,系統可能已經傳送交易 ID。舉例來說,Shopify 會透過 Google & YouTube 應用程式,自動在轉換中加入交易 ID

如果您的 CMS 或電子商務平台沒有直接整合 Google 服務,但提供 API 存取權,您可以手動擷取交易 ID。請參閱平台的說明文件。您可以在全域 JavaScript 變數或資料層中找到交易 ID,也可以透過伺服器端 API 擷取交易 ID,然後傳遞至前端供代碼使用。

設定離線轉換的交易 ID

匯入廣告點擊所帶來的轉換時,您可以視需要在交易 ID (或訂單 ID) 欄中加入不重複的交易 ID。 如果您要為其他資料來源設定交易 ID,則必須提供交易 ID。如果是離線轉換匯入 (OCI),交易 ID 為選用項目,但建議您為購買轉換加入交易 ID。

設定多來源轉換的交易 ID

如果您透過資料管理工具連結其他資料來源,以額外資料補充網站轉換資料,請務必為每筆交易收集專屬的交易 ID。

新資料來源中的 ID 必須與轉換代碼擷取的 transaction_id 完全相符。如果有前置字元、後置字元或額外空格等不一致,將導致 Google Ads 無法簡化事件,進而影響轉換報表的準確性。


驗證 Google 代碼中的交易 ID 導入結果

您可以使用 Google Tag Assistant 檢查交易 ID 是否正確傳送。進行測試購買時,請使用 Tag Assistant 確保 Google Ads 代碼觸發的「交易 ID」欄位包含不重複的值。

Transaction ID in Google Tag Assistant

使用 Chrome 開發人員工具驗證轉換連線偵測 (ping)

您也可以使用 Chrome 開發人員工具驗證轉換連線偵測 (ping)。

  1. 在 Google Chrome 中,於網站的任一處點按滑鼠右鍵,然後選取「檢查」
  2. 前往「網路」分頁,在傳送至 https://www.googleadservices.com/pagead/conversion 的要求中,找出 &oid= 參數。
  3. 確認每筆訂單都有專屬值。

交易 ID 編碼錯誤

雖然交易 ID 有助於避免重複計算轉換,但如果交易 ID 的編碼不正確,系統可能會將轉換標示為無效,或是導致 Google Ads 在發現多位顧客使用相同交易 ID 時,略過資料簡化程序。

以下是一些編碼錯誤的例子:

失敗的動態變數

伺服器端程式碼會使用變數,動態提供專屬交易 ID。如果代表這些變數的程式碼片段解析失敗,您可能會收到錯誤訊息。以下列舉幾個示例程式碼片段:

  • {{ order_number }}
  • [invoice-prefix][invoice-number]
  • null-user-id
  • gtm.init
  • <%= orderId %>
  • [object Object].transaction_id
  • <google_ads_transaction_id>
  • Number(order.id).toString()
  • <?php echo $order->id; ?>
  • <b>Notice</b>: Undefined variable: order_id in <b>/home/examples/example.com.ua/www/catalog/view/theme/default/template/common/success.tpl</b> on line <b>66</b>

範例

如果您在 Google 代碼事件程式碼片段中使用 {{ order_number }},但伺服器端變數為 {{order_number}} (沒有額外空格),系統就無法填入交易 ID。這樣只會導致系統顯示 {{ order_number }} 變數,而非實際 ID。

預留位置值

以下是通用或用來當做靜態測試值/標籤的字串或固定數字,不應做為交易 ID:

  • button-confirm
  • 恭喜
  • thank_you
  • 未設定
  • buy
  • 網頁瀏覽
  • Conversion Tracking Google Ads
  • 1234
  • https://www.google.com/
  • Google
不相關的資料類型

以下是不應做為交易 ID 的資料類型和值:

  • 網址
    • www.example.com
    • https://www.example.org/admin/
    • example.com
    • https://www.example.com/products
  • 電子郵件地址
    • ...@gmail.com
    • ...@yahoo.com
    • 自訂網域

個人識別資訊和 Google Analytics 

為保護使用者隱私,並遵守 Google Analytics 服務條款和 Google Ads 服務條款的規定,您不得傳遞可能含有個人識別資訊的任何資訊,但可透過專為此目的設計的特定 Google Analytics 和 Google Ads 功能傳遞經過雜湊處理的資料。進一步瞭解 Google AnalyticsGoogle Ads 的資料收集方式。
  • 價格或貨幣
    • $17.99
    • $ 5.37
    • $ 21.45
    • $ 15.50
    • 美元
    • 澳幣
  • 雜湊或 UUID 字串
    • 50d858e0985ecc7f60418aaf0cc5ab587f42=
    • G-1234567890
    • e9891562113d8a62add1bf
    • 0888-af2bdbe1aa9b6ec1e
  • 產品
    • /products/dog-proof-fence-pack-timber-fences
    • /shop/product/electric-toothbrush
    • Product Pro_trial_monthly_undefined
  • 電話號碼

有時交易 ID 會在網址中以 key=value 格式顯示在問號後方。例如,如果網址是 https://example.com/success?order_id=54321,則 order_id 是變數名稱,54321 是交易 ID。網址的其餘部分不應做為交易 ID。


交易 ID 和「計算方式」設定簡介

在事件程式碼片段中加入交易 ID,並不等同於將「計算方式」設定改成每次廣告點擊只計算一次轉換。

加入交易 ID 可避免重複計算轉換的問題,這包括使用者其實只完成一次購物,卻二度開啟購買確認頁,導致系統計算了兩次轉換的情形。

將「計算方式」設定改為一次時,系統在每次廣告點擊發生後只會計算一次轉換,就算同一筆廣告點擊實際帶來多次轉換 (例如顧客多次購物) 也是如此。

「計算方式」和交易 ID 的使用時機分述如下:

  • 若要分別追蹤每一次廣告點擊帶來的待開發客戶,請將計算設定改為「一次」。
  • 如要追蹤顧客點擊廣告後完成的每筆購物,且不希望重複計算同一筆購物,就可以在事件程式碼片段中加入交易 ID。我們通常會建議針對購物轉換動作加入交易 ID。

注意

  • Google Ads 不會記錄交易 ID。
  • 即使在程式碼片段中加入交易 ID,瀏覽後轉換次數仍可能會重複計算。
  • 如果您的網站已用某種方法移除重複的轉換,建議加入交易 ID,進一步確保轉換資料無誤。
  • 如果您使用 Google 代碼管理工具,則可使用交易 ID。請確認您輸入的交易 ID 是變數,不是靜態字串。

相關連結

這個頁面可能含有使用 AI 技術翻譯的內容,也許會有錯誤。

這對您有幫助嗎?

我們應如何改進呢?
搜尋
清除搜尋內容
關閉搜尋
主選單
13930872943767787960
true
搜尋說明中心
true
true
true
true
true
true
73067
false
false
true
true
false
false