登錄歸因觸發條件

瞭解如何註冊歸因觸發條件,以計算轉換次數。

歸因觸發條件是指告知瀏覽器要擷取轉換的事件。

按照本文步驟註冊觸發條件後,瀏覽器就會註冊轉換,並將轉換歸因於相關來源事件,也就是廣告曝光或廣告點擊。

註冊方式

如要註冊觸發條件,請使用 HTML 元素或 JavaScript 呼叫:

  • <img> 標記
  • <script> 標記
  • fetch 通話
  • XMLHttpRequest

這會產生網路要求,您隨後會以觸發條件註冊 HTTP 回應標頭回應這些要求。

登錄觸發條件,將轉換歸因於來源

登錄觸發事件與登錄歸因來源事件類似。完整步驟請見下文。摘要如下:

  1. 啟動觸發條件註冊程序。使用像素或 fetch() 呼叫提出要求。
  2. 完成觸發事件登錄,方法是使用觸發事件登錄標頭回應。

    收到像素要求後 (傳送至一般 src 屬性中定義的端點,或傳送至您選擇使用 attributionsrc 並賦予值時,在 attributionsrc 中定義的端點),請使用 Attribution-Reporting-Register-Trigger 標頭回應。

    在這個標題中,指定您最終要在報表中顯示的觸發資料。任何回應都可以設定這個標頭。只要是回應來自與 destination 相符網站的要求,來源就會相符。收到標頭後,瀏覽器會尋找相符的來源,並排定報表。

    事件層級報表範例:

    {
      "event_trigger_data": [{
        "trigger_data": "[unsigned 64-bit integer]",
        "priority": "[signed 64-bit integer]",
        "deduplication_key": "[unsigned 64-bit integer]"
      }]
    }
    

    摘要報表示例:

    {
      ... // existing fields, such as "event_trigger_data"
    
      "aggregatable_trigger_data": [
       {
         "key_piece": "0x400",
         "source_keys": ["campaignCounts"]
       },
       {
         "key_piece": "0xA80",
         "source_keys": ["geoValue", "nonMatchingKeyIdsAreIgnored"]
       }
      ],
      "aggregatable_values": {
        "campaignCounts": 32768,
        "geoValue": 1664
      }
    }
    

處理子網域

如果 destinationhttps://advertiser.example,系統會將 https://advertiser.example 和子網域 (例如 https://shop.advertiser.example) 的轉換歸因於 https://advertiser.example

如果 destinationhttps://shop.advertiser.example,則 https://advertiser.examplehttps://shop.advertiser.example 的轉換都可以歸因。

必要和選填屬性

使用 HTML 元素或發出 JavaScript 呼叫來註冊觸發條件時,您可能需要使用 attributionsrcattributionReporting。如要瞭解何時需要提供這些資訊,請參閱下表。

如果 attributionsrc選用,使用此參數表示要求符合歸因報表資格。如果您使用 attributionsrc,瀏覽器會傳送 Attribution-Reporting-Eligible 標頭。這項功能也適用於應用程式到網站的評估:如果存在 attributionsrc,瀏覽器會傳送 Attribution-Reporting-Support 標頭。

註冊方式 觸發條件
<a> 標記 不適用:錨點無法註冊觸發事件。
<img> 標記 attributionsrc選填欄位。標頭足以登錄觸發條件。
<script> 標記 attributionsrc選填欄位。標頭足以登錄觸發條件。
fetch 通話 attributionReporting 選項為必要
XMLHttpRequest attributionReporting 選項為必要
window.open() 不適用: window.open 無法註冊觸發事件。

步驟 1:啟動觸發條件註冊程序

您可以使用像素 (<img> 標記) 或指令碼標記註冊觸發條件。

使用新的或現有的轉換像素

下列範例會新增 attributionsrc 屬性,在現有圖片上觸發出處資訊。

attributionsrc 的來源必須與執行來源註冊的來源相符。

<img src="https://advertiser.example/conversionpixel"
     attributionsrc="https://adtech.example/attribution_trigger?purchase=13">

下一個範例會新增轉換像素 attributionsrc 屬性,觸發歸因。

src 的來源必須與執行來源註冊的來源相符。

<img src="https://adtech.example/conversionpixel"
     attributionsrc>

使用指令碼標記

您可以使用指令碼標記執行觸發事件登錄,行為與 <img> 相同。下列程式碼範例說明如何使用 fetch()XMLHttpRequest() (XHR)。

這段程式碼會有效模擬使用 attributionsrc 的 HTML 要求:

const attributionReporting = {
  eventSourceEligible: false,
  triggerEligible: true,
};

// Optionally set keepalive to make sure the request outlives the page.
window.fetch("https://adtech.example/attribution_source?my_ad_id=123",
  { keepalive: true, attributionReporting });
const attributionReporting = {
  eventSourceEligible: false,
  triggerEligible: true,
};

const req = new XMLHttpRequest();
req.open("GET", url);
req.setAttributionReporting(attributionReporting);
req.send();

attributionsrc (有值或沒有值)

您可以新增 attributionsrc,也可以新增值。

<!-- Without a value -->
<img src="..." width="1" height="1" attributionsrc>

<!-- With a value (URL) -->
<img src="..." width="1" height="1" attributionsrc="https://...">

如果為 attributionsrc 設定值,可以是一或多個以空格分隔的網址。

使用網址會導致瀏覽器發出個別的存留連線擷取要求 (每個網址各一),其中包含 Attribution-Reporting-Eligible 要求標頭。

如果您想透過與元素主要要求無關的要求來註冊觸發條件,這項功能就相當實用。

舉例來說,如果您需要在圖片元素上註冊觸發條件,您可能無法實際控管圖片回應;在這種情況下,您會希望透過設定,將觸發條件註冊標頭做為與圖片分開的要求的回應傳送,並完全控管該要求。明確指定 attributionsrc 的值,即可指示瀏覽器發出額外要求並設定目的地。

步驟 2:以標題回覆

收到瀏覽器要求後,請在回應中加入 Attribution-Reporting-Register-Trigger 標頭:

JSON.stringify({
  event_trigger_data: [{
    trigger_data: "412444888111012",
    // Optional
    priority: "1000000000000",
    deduplication_key: "2345698765"
  }],
  debug_key: "1115698977"
});

後續步驟

瞭解如何註冊歸因來源