Meta 技術中有能最佳化廣告目標設定、降低每次行動成本和衡量成果的系統,而轉換 API 的主要功用就是在您的行銷資料與這些系統間,建立直接連結的管道。您可以配置在 Google Cloud Platform(GCP)或任何其他雲端供應商上設定的伺服器,以透過轉換 API 傳送重要的網站和離線事件資料。藉由這項設定,您在配置 Google Analytics 4(GA4)網站代碼後,即可將該資料傳送至 Google Cloud Platform(GCP)代管的自家伺服器,最後再透過轉換 API 傳送至 Meta。
轉換 API 代碼是由 Meta 根據 Google 自訂代碼範本撰寫及維護。如果對 Google 產品設定有任何問題,請聯絡 Google 或參閱 Google 的開發人員文件。
本文內容概述下列事項:
這可以讓您管理和儲存追蹤和行銷代碼,還可以協助您追蹤用戶與您網站互動的情形。
您會需要配置伺服器容器和網站容器:
造訪 Google 代碼管理工具網站,以前往 Google 代碼管理工具。
如果您已經有帳號,請選擇該帳號。否則,請建立新的 GTM 帳號。
點擊建立容器
為容器命名,並選擇「伺服器」為目標平台
點擊建立
設定伺服器容器需要配置代碼伺服器。預設的 GCP 部署可以在設定伺服器容器時完成。請參閱以下指引。針對任何其他雲端供應商(例如 AWS 或 Microsoft Azure),請參閱手動伺服器設定指南。
配置網站和伺服器容器
graph.facebook.com
。配置網站容器,以將網站資料傳送至所建立的代碼伺服器。深入瞭解如何配置 Google Analytics:GA4 設定代碼。
transport_url
您可以為要為所有事件傳送的任何其他參數設定其他欄位。
first_party_collection
true
如果您已設定現有的 GA4 設定,則可以對其進行修改,或為伺服器端 GTM 建立額外的設定代碼。
如果您是第一次設定伺服器端 GTM,新增伺服器容器網址會開始將所有流量傳送到伺服器容器。如果您想繼續傳送資料至 GA4,您需要在伺服器容器中新增 GA4 伺服器端代碼,確保其所有事件上觸發。您可能需要建立額外的 GA4 事件代碼或修改現有代碼,以確保完整對應到 Meta 像素事件。
如果您已設定自訂網域,且您的 GTM 代碼伺服器網域為第一方網域,系統將自動寄送 Meta 瀏覽器編號和 Meta 點擊編號。
如果您使用提供的預設網域,或發現事件管理工具中未傳送瀏覽器編號和點擊編號欄位,您可以按如下方式設定:
_fbp
_fbc
為每個 GTM 常見事件結構描述的 user_data 參數建立資料層變數。深入瞭解如何設定資料層變數。舉例來說,若要將電子郵寄地址傳遞至伺服器端 GTM,請建立變數(例如 user_data_email_address
),該變數可對應至資料層變數名稱:eventModel.user_data.email_address
。
如果您未使用資料層,請如下所示為每個參數設定變數以供使用。下列清單列出 Meta 和 GTM user_data 參數的所有對應項目,以及協助改善事件配對品質的常見優先順序。若要讓 Meta 廣告發揮最大效益,建議您在設定整合時採用轉換 API 最佳作法。如果您已設定轉換 API,建議您參考這些最佳作法來改善現有的設定。依循轉換 API 最佳作法操作能降低每次行動成本,進而提高廣告成效。
轉換 API Meta 參數 | GA4 欄位名稱 | GTM 資料層變數名稱 | 優先順序 |
---|---|---|---|
電子郵件
| user_data.email_address | eventModel.user_data.email_address | 高 |
點擊編號
| x-fb-ck-fbc | 不適用 | 高 |
Facebook 登入編號 | user_data.fb_login_id | 不適用 | 中 |
出生日期
| x-fb-ud-db | 不適用 | 中 |
國家/地區
| user_data.address.country | eventModel.user_data.address.country | 中 |
電話號碼
| user_data.phone_number | eventModel.user_data.phone_number | 中 |
外部編號
| x-fb-ud-external_id | 不適用 | 中 |
瀏覽器編號
| x-fb-ck-fbp | 不適用 | 中 |
州/省
| user_data.address.region | eventModel.user_data.address.region | 中 |
性別
| x-fb-ud-ge | 不適用 | 中 |
名字
| user_data.address.first_name | eventModel.user_data.address.first_name | 低 |
姓氏
| user_data.address.last_name | eventModel.user_data.address.last_name | 低 |
城市
| user_data.address.city | eventModel.user_data.address.city | 低 |
郵遞區號 | user_data.address.postal_code | eventModel.user_data.address.postal_code | 低 |
配置網站容器,將網站資料傳送至所建立的代碼伺服器,以新增 Google Analytics。深入瞭解如何配置 Google Analytics:GA4 設定代碼。
從範本庫將 Google Analytics:GA4 事件代碼新增至您的工作區:
Meta 標準事件名稱 | Google Analytics(分析)事件名稱 |
---|---|
AddPaymentInfo | add_payment_info |
AddToCart | add_to_cart |
AddToWishlist | add_to_wishlist |
PageView | gtm.dom |
PageView | page_view |
Purchase | purchase |
Search | search |
InitiateCheckout | begin_checkout |
Lead | generate_lead |
ViewContent | view_item |
CompleteRegistration | sign_up |
在事件參數區段中:
每個 GTM 伺服器端容器都包含預設的 GA4 用戶端,用於接聽透過 GA4 網站代碼設定的事件。GA4 用戶端會接聽代碼伺服器網址的 /g/collect 路徑,並將 eventModel 傳送至下游代碼。如果預設 GA4 用戶端已安裝在您的伺服器容器中的「用戶端」區塊下,您可以跳至第 4 步。
若要將事件傳送至轉換 API,您必須從範本庫安裝 Meta 轉換 API 代碼。facebookincubator 稱代碼範本為 轉換 API 代碼。您可以設定讓系統在 GA4 用戶端(請參閱前一個步驟)接收的事件中觸發這個代碼,然後傳送至轉換 API。您必須取得像素編號和存取權杖,並將動作來源指定為「網站」,才能安裝 Meta 轉換 API 代碼。使用轉換 API,即表示您同意 action_source
參數就您所知是正確的。
建議在發佈變更之前使用 Google 代碼管理工具預覽模式來測試整合。網站容器和伺服器容器都有預覽模式,您可以同時執行這兩者。
如果您在執行預覽模式時變更設定,請務必重新啟動預覽模式以確保變更在測試時得到反映。
您可以使用事件管理工具中的測試事件功能,驗證是否已如預期接收伺服器事件。若要尋找該工具,請進入事件管理工具 > 資料來源 > 您的像素 > 測試事件。
測試事件工具會產生測試編號。在轉換 API 代碼中將測試編號作為 test_event_code
參數傳送,可以開始看到「測試事件」視窗中顯示的事件活動。請務必在發佈任何變更前移除此項目。
測試事件工具可讓您查看是否正確接收和刪除重複項目。如果您在一兩分鐘後沒有看到事件出現,請檢查 GTM 伺服器端偵錯工具以確保要求通過:
https://graph.facebook.com
的送出要求。查看要求詳細資訊底部的回應內文,以查看錯誤並根據需要更新您的整合。記得在進行任何變更後重新啟動預覽模式。顯示事件後,驗證是否正確傳送每個事件的事件編號,以及是否正確顯示所有預期的配對金鑰和自訂資料參數。測試事件工具將顯示事件是否已正確刪除重複項目。如果事件編號不同,請確保 GA4 和 Meta 像素代碼在同一個觸發程序上觸發,並檢查您的事件編號變數實作。
建議您使用備援事件設定,並分享同時來自轉換 API 和 Meta 像素的相同事件。請確定這兩個事件皆使用相同的 event_name
,並且包含 event_id
或是 external_id
和 fbp
的組合。
這樣有助於 Meta 刪除重複事件,同時減少重複回報相同事件的情況。深入瞭解如何刪除重複項目、使用時機和設定方式。external_id 和 fbp 是另一種刪除重複項目的解決方案,且有助於改善設定品質。建議您盡可能加入上述三項參數。
GTM 可透過多種方式在瀏覽器代碼和伺服器代碼中設定具有相同值的參數。其中一種方式是使用與觸發程序相同的 GA4 事件,觸發 Meta 像素代碼和伺服器事件。若要採用此方式:
event_id
:
x-fb-event_id
),然後利用 Javascript 方法或 Google 代碼管理工具自訂 Javascript 變數,在網站中為每個事件產生不重複編號,並按照下方範例設定事件中的值:gtag('event', 'purchase', { 'x-fb-event_id': generateEventId(), ...:... });您可以建立指向上述自訂 Javascript 的變數。每當系統轉介變數時,命令列就會載入以下 Javascript:
function() { var gtmData = window.google_tag_manager[{{Container ID}}].dataLayer.get('gtm'); return gtmData.start + '.' + gtmData.uniqueEventId; }
event_id
的值。若要這麼做,您可以建立新的資料層變數(例如 FBEventIdVar),並將資料層變數名稱設為 eventModel.event_id
。event_id
。fbq('track', Purchase, {..}, {eventID: FBEventIDVar });接下來,請設定 GA4 事件來傳送額外參數,這個參數的名稱應為
event_id
,且已設為 FBEventIdVar
變數。
若要傳送自訂資料,在 GA4 事件代碼中使用以下對應:
Meta 參數名稱 | GA4 參數名稱 |
---|---|
value | value |
currency | currency |
search_string | search_term |
order_id | transaction_id |
content_ids | x-fb-cd-content_ids |
content_type | x-fb-cd-content_type |
content_name | x-fb-cd-content_name |
content_category | x-fb-cd-content_category |
contents* | items OR x-fb-cd-contents |
num_items | x-fb-cd-num_items |
predicted_ltv | x-fb-cd-predicted_ltv |
status | x-fb-cd-status |
delivery_category | x-fb-cd-delivery_category |
custom_properties* | custom_properties |
請在傳送前對 x-fb-cd-contents 和 custom_properties 執行 JSON.stringify,因為這些是 Meta 定義的 JSON 參數。
設定網站和伺服器容器後,您就可以從自家網站傳送範例事件來驗證伺服器事件。包含已設定參數的範例事件可能如下所示:
gtag('event', 'purchase', { 'event_id': generateEventId(), 'transaction_id': 't_12345', 'currency': 'USD', 'value': 1.23, user_data: { email_address: '<HASHED_DATA>', phone_number: '<HASHED_DATA>', address: { first_name: '<HASHED_DATA>', last_name: '<HASHED_DATA>', city: '<HASHED DATA>', region: '<HASHED_DATA>', postal_code: '<HASHED_DATA>', country: '<HASHED_DATA>' }, }, items: [ { item_id: '1', item_name: 'foo', quantity: 5, price: 123.45, item_category: 'bar', item_brand: 'baz' } ], });
觸發事件後,您應該會看到傳送至範例連結且包含已設定參數的要求,例如 www.analytics.example.com/g/collect。您可以將測試事件代碼新增至 Meta 轉換 API 代碼,以驗證傳送到轉換 API 的事件。測試事件代碼應只用於測試。傳送生產裝載時,必須將其移除。
日後是否會新增傳送自訂參數的功能?如果會的話,這項功能什麼時候會推出?
答:我們已為 GTM 結構描述支援的大多數轉換 API 標準自訂參數新增對應項目,也已提供自訂對應項目。前往這裡瞭解詳情。
單一伺服器或叢集是否能執行多個容器?
答:GTM 目前僅支援 1 對 1 對應。瞭解整理容器的建議作法。
伺服器端 GTM 是否需要瀏覽器代碼才能發出事件?
答:是
是否可以透過伺服器端整合單獨保留 GA4?
答:若要單獨保留 GA4 和伺服器端 GTM 整合,您可以在 Google Analytics(分析)中建立額外的成效衡量編號。依照上述步驟,使用此成效衡量編號為伺服器端 GTM 建立一個單獨的 GA4 設定代碼。在此情況下,您現有的 GA4 設定代碼將繼續透過網站容器傳送 GA 流量,而新的設定代碼會將資料傳送到伺服器容器。根據第 2 步建立額外的 GA4 事件標籤,以使用新的設定代碼在伺服器端傳送事件
GTM 轉換 API 整合是否能與 GCP 以外的雲端代管解決方案搭配使用?
答:GTM 轉換 API 整合應可與 GCP 或任何其他您所選的平台搭配使用。前往這裡深入瞭解手動佈建。