Attribution-Reporting-Register-Source

實驗性:這是一個實驗性技術
在生產環境中使用此功能前,請仔細檢視瀏覽器相容性表格

Attribution-Reporting-Register-Source 標頭將頁面功能註冊為歸因來源。這是對包含Attribution-Reporting-Eligible 標頭的請求的響應的一部分。它提供了瀏覽器在與歸因來源互動時應儲存的資訊。您在此標頭中包含的資訊還決定了瀏覽器可以生成哪種型別的報告。

有關更多詳細資訊,請參閱歸因報告 API

注意:如果呼叫站點未在成功的隱私沙盒註冊流程中包含歸因報告 API,則會忽略Attribution-Reporting-Register-Source 標頭,並且不會註冊歸因來源。

標頭型別 響應標頭
禁止的標頭名稱
CORS 安全列表響應標頭

語法

http
Attribution-Reporting-Register-Source: <json-string>

指令

<json-string>

一個 JSON 字串,提供瀏覽器在與歸因來源互動時應儲存的資訊。可用的欄位如下

"source_event_id" 可選

表示歸因來源 ID 的字串,可在與歸因來源互動時將其對映到其他資訊,或在報告端點聚合資訊。該字串必須僅由以基數 10 格式表示的 64 位無符號整陣列成。

"destination"

單個字串或 1-3 個字串的陣列。這些字串必須包含與預期發生觸發器的網站(方案 + eTLD+1)相對應的完整 URL。當與觸發器互動時,這些用於將歸因觸發器與來源匹配。

"aggregation_keys" 可選

包含使用者提供的鍵的物件,這些鍵表示要彙總報告值的不同資料點。

"aggregatable_report_window" 可選

表示時間的字串(以秒為單位),在此時間之後,觸發器資料將不再包含在生成的聚合報告中(這稱為**報告視窗**)。如果未設定,則預設為"expiry"值。

"debug_key" 可選

表示除錯金鑰的以基數 10 格式表示的 64 位無符號整數。如果您想與關聯的歸因報告一起生成除錯報告,請設定此值。

"debug_reporting" 可選

布林值。如果設定了debug_key,則將其設定為true以指定生成的除錯報告應為詳細除錯報告。

"event_level_epsilon" 可選

等於或大於0的數字,它控制新增到報告中的噪聲量。epsilon 值越低,噪聲越大,因此提供的隱私保護越好。最大值和預設值因實現而異;例如,Chrome 的最大值和預設值為14

"event_report_window" 可選

表示時間的字串(以秒為單位),在此時間之後,後續觸發器將無法歸因於此來源以生成事件級報告(這稱為**報告視窗**)。如果未設定,則事件報告視窗將回退到"expiry"值。

注意:如果指定了"event_report_window",則不能指定"event_report_windows",否則來源註冊將失敗。

"event_report_windows" 可選

表示一系列報告視窗的物件,從"start_time"開始,在"end_times"中指定的每個結束時間之後交付此來源的報告。這可用於在多個報告中更改報告交付時間。如果未設定,則事件報告視窗將回退到"expiry"值。屬性如下

  • "start_time" 可選:指定報告視窗開始時間的非負數。如果未指定,則預設為0
  • "end_times":指定後續報告視窗結束時間的正數陣列。這些值必須遞增,並且大於"start_time"

    注意:如果指定了"event_report_windows",則不能指定"event_report_window",否則來源註冊將失敗。

"expiry" 可選

表示歸因來源過期時間的字串(以秒為單位),在此時間之後,它將不再處於活動狀態(即,後續觸發器將無法歸因於此來源)。允許的最大過期時間為 2592000 秒(30 天),如果未顯式設定"expiry",則這也是預設值。

"filter_data" 可選

定義自定義資料的物件,該資料可用於篩選哪些轉化生成報告。有關更多詳細資訊,請參閱篩選器

"max_event_level_reports" 可選

介於020(含)之間的數字,指定此來源可以生成的事件級報告的總數。達到此最大值後,該來源將不再能夠生成任何新資料。如果未指定,則對於基於導航的來源,"max_event_level_reports"預設為3,對於基於事件的(基於影像或指令碼的)來源,預設為1

"priority" 可選

表示歸因來源優先順序值的字串。預設情況下,轉化將歸因於最近匹配的來源。對於事件級報告和彙總報告,您可以設定更高的優先順序編號以優先考慮特定來源。例如,值2優先於預設值1。有關更多資訊,請參閱報告優先順序和限制

"trigger_data" 可選

表示資料的 32 位無符號整數陣列,這些資料描述了可能與該來源匹配的不同觸發器事件。例如,“使用者將商品新增到購物車”或“使用者註冊郵件列表”可能是觸發器網站上發生的事件,這些事件可能與該來源匹配,並指示廣告客戶嘗試衡量某種型別的轉化。必須將其與觸發器中指定的"trigger_data"匹配,才能進行事件級歸因。如果省略,則對於基於導航的來源,"trigger_data"預設為[0, 1, 2, 3, 4, 5, 6, 7],對於基於事件的(基於影像或指令碼的)來源,預設為[0, 1]

注意:用於表示每個事件的值以及陣列中的元素數量完全是任意的,由您作為開發人員定義。陣列可能包含未使用的值,但必須在陣列中存在值,以便在註冊觸發器時由瀏覽器歸因於來源。

"trigger_data_matching" 可選

指定如何將觸發器的"trigger_data"與來源的"trigger_data"匹配的字串。可能的值為

  • "exact":觸發器的"trigger_data"必須與來源的"trigger_data"中包含的值完全匹配;如果沒有這樣的匹配,則不會發生任何事件級歸因。
  • "modulus":在這種情況下,將執行以下計算 — d % allowedValues.size — 其中d是觸發器的"trigger_data"allowedValues是來源的"trigger_data"陣列中的值序列。如果此計算的結果與來源的"trigger_data"陣列中的值匹配,則匹配成功。在這種情況下,值將始終匹配,除非allowedValues為空。

"modulus"模式主要用於與引入"exact"之前的 API 行為向後相容,因此您不太可能使用它。它在需要非常具體的壓縮型別的特定情況下仍然有用,從而導致更小的註冊標頭。當使用需要根據來源型別根據來源"trigger_data"項的最大數量設定不同觸發器資料的複雜篩選邏輯時,可能需要這樣做。

注意:如果使用"modulus",則來源的"trigger_data"必須形成從 0 開始的連續整數序列。如果觸發器資料未形成此類序列,則會發生錯誤。

如果未指定,則"trigger_data_matching"預設為"modulus"。同樣,這樣做的原因是向後相容:省略"trigger_data_matching"欄位需要導致與引入此欄位之前觀察到的相同行為。

示例

註冊事件級報告的來源

Node.js 伺服器可能會如下設定Attribution-Reporting-Register-Source響應標頭,以便在觸發器與來源匹配時使瀏覽器生成事件級報告

js
res.set(
  "Attribution-Reporting-Register-Source",
  JSON.stringify({
    source_event_id: "412444888111012",
    destination: "https://shop.example",
    trigger_data: [0, 1, 2, 3, 4],
    trigger_data_matching: "exact",
    expiry: "604800",
    priority: "100",
    debug_key: "122939999",
    event_report_window: "86400",
  }),
);

註冊彙總報告的來源

要使瀏覽器在觸發器與來源匹配時生成彙總報告,您需要包含一些其他欄位,除了事件級報告生成所需的欄位之外。

js
res.set(
  "Attribution-Reporting-Register-Source",
  JSON.stringify({
    source_event_id: "412444888111012",
    destination: "https://shop.example",
    trigger_data: [0, 1, 2, 3, 4],
    trigger_data_matching: "exact",
    expiry: "604800",
    priority: "100",
    debug_key: "122939999",
    event_report_window: "86400",

    aggregation_keys: {
      campaignCounts: "0x159",
      geoValue: "0x5",
    },
    aggregatable_report_window: "86400",
  }),
);

規範

規範
歸因報告
# parse-source-registration-json

瀏覽器相容性

BCD 表格僅在啟用了 JavaScript 的瀏覽器中載入。

另請參閱