匯總鍵的定義、在 Attribution Reporting API 中的用途,以及如何將目標轉換為鍵。
一家廣告技術公司,在多個地點放送不同產品類別的廣告活動,因此希望協助廣告主回答下列問題:
- 各個產品類別中的每個廣告活動帶來的購買次數為何?
- 每個地理區域的廣告活動為每個產品類別帶來多少收益?
雖然許多廣告技術公司都鼓勵廣告客戶設定各種轉換類型,但建議將重點放在最重要的轉換 (例如購買),以確保這些重要事件的摘要結果正確且準確。
因此,在收集資料前,您必須思考自己想回答的問題。
維度、鍵和值
為了回答這些問題,我們來談談維度、鍵和值。
尺寸
如要瞭解廣告活動如何產生收益,請按照下方說明追蹤下列維度:
- 廣告活動 ID:特定廣告活動的 ID。
- 地理位置 ID:放送廣告的地理區域。
- 產品類別:您定義的產品類型。
雖然「廣告活動 ID」和「地理位置 ID」維度會在廣告放送 (廣告放送時間) 時得知,但當使用者完成轉換 (轉換時間) 時,觸發事件就會得知產品類別。
在這個範例中,您想要追蹤的尺寸如下圖所示:
什麼是匯總鍵 (桶)?
匯總鍵和值區這兩個詞彙指的是同一個項目。匯總鍵會用於用來設定報表的瀏覽器 API。「值區」一詞用於可匯總報表和摘要報表,以及匯總服務 API 中。
匯總鍵 (簡稱鍵) 是一種資料,代表所追蹤維度的值。資料稍後會沿著各個匯總鍵進行匯總。
舉例來說,假設您追蹤的維度是產品類別、地理位置 ID 和廣告活動 ID。
當位於地理區域 ID 7 的使用者看到廣告活動 ID 12 的廣告,之後購買產品類別 25 的產品而轉換時,您可以設定聚合鍵,如下圖所示:
您稍後會發現,實際上匯總鍵並非完全像這樣,但我們先專注於鍵中包含的資訊。
什麼是可匯總的值?
如要解答您對上述維度的問題,請先瞭解下列事項:
- 購買次數 (購買次數)。摘要報表提供匯總資料及顯示後,將會是總購買次數 (摘要值)。
- 每筆交易的收益 (購買價值)。摘要報表提供匯總資料且可使用後,這就是總收益 (摘要值)。
每個值 (一次轉換的購買次數和購買價值) 都是可匯總的值。您可以將可匯總的值視為評估目標的值。
問題 | 可匯總值 = 評估目標 |
---|---|
有多少購買... | 購買次數 |
收益有多少? | 購物價值 |
假設位於地理區域 ID 7 的使用者看到廣告活動 ID 12 的廣告,之後購買了產品類別為 $120 美元的 25 美元 (假設貨幣為美元) 並完成轉換 (假設貨幣為美元),您可以設定匯總鍵和可匯總值,如下所示:
可匯總值是許多使用者的每個鍵的總和,以摘要報表中的摘要值的形式呈現。
系統會將可匯總的值加總,產生評估目標的匯總洞察資料。
請注意,此圖表省略解密程序,並呈現未套用雜訊的簡化範例。在下一節中,我們會以雜訊說明這個範例。
從鍵/值到報表
接下來,我們來討論可匯總的鍵和值與報表的關聯。
可匯總報表
當使用者點按或瀏覽廣告後完成轉換時,您可以指示瀏覽器儲存 {aggregation key, aggregatable value} 組合。
在本例中,當使用者點擊或觀看廣告,並在之後完成轉換時,您會指示瀏覽器產生兩個貢獻 (每個評估目標各一次)。
稍後您會看到 {aggregation key, aggregatable value} 匯總報表的樣式並非完全相同,但目前我們先專注於報表內含的資訊。
當您指示瀏覽器產生兩個貢獻時,瀏覽器會產生可匯總報表 (如果可以比對先前的瀏覽或點擊轉換)。
可匯總報表包含:
- 您設定的貢獻。
- 關於點擊或瀏覽事件和轉換事件的中繼資料 (發生轉換的網站等)。查看可匯總報表中的所有欄位。
可匯總的報表採用 JSON 格式,其中包含酬載欄位,可用於最終摘要報表的資料輸入。
酬載包含貢獻清單,每個貢獻都是 {匯總鍵, 可匯總值} 的組合:
bucket
:匯總鍵,以位元組字串編碼。value
:該評估目標的可匯總值,已編碼為位元組字串。
範例如下:
{
"data": [
{
"bucket": "111001001",
"value": "11111010000",
}
],
"operation": "histogram"
}
實際上,可匯總報表的編碼方式使值區和值看起來與上述範例不同 (也就是值區看起來可能像 \u0000\u0000\x80\u0000
)。Bucket 和 value 都是位元組字串。
摘要報表
可匯總報表會匯總許多瀏覽器和裝置 (使用者) 的資料,如下所示:
- 廣告技術會針對特定的一組鍵要求摘要報表,以及來自多個不同瀏覽器 (使用者) 的一組可匯總報表。
- 匯總服務會解密可匯總報表。
- 對於每個鍵,系統都會將可匯總報表中的可匯總值加總。
- 摘要值會加入雜訊。
結果會是摘要報表,內含一組 {匯總鍵, 摘要值} 組合。
摘要報表包含 JSON 字典樣式的鍵/值組合。每個組合都包含:
bucket
:匯總鍵,以位元組字串編碼。value
:特定評估目標 (以小數點表示) 的摘要值,是從所有可用的可匯總報表中加總,並增加雜訊等級。
範例:
[
{"bucket": "111001001", "value": "2558500"},
{"bucket": "111101001", "value": "3256211"},
{...}
]
在實務上,摘要報表編碼的方式會使值區和值看起來與範例說明不同 (即值區看起來可能像 \u0000\u0000\x80\u0000
)。Bucket 和 value 都是位元組字串。
匯總鍵的實際應用
廣告技術公司會定義匯總鍵 (分層),通常會在使用者點擊或觀看廣告,以及完成轉換時執行這兩個步驟。
鍵結構
我們會使用「鍵結構」一詞來指稱將編碼至鍵的維度集合。
舉例來說,廣告活動 ID × 地理 ID × 產品類別是重要的結構。
金鑰類型
系統會在多個使用者/瀏覽器中,為指定的鍵加總可匯總值。但我們發現可匯總的價值能夠追蹤不同的成效評估目標,例如購物價值或購買次數。您想確保匯總服務會將相同類型的可匯總值加總。
為此,請在每個鍵中編碼一組資料,說明摘要值代表的內容,也就是這個鍵所參照的評估目標。其中一種方法是為鍵建立其他維度,用來代表評估目標類型。
以前述的例子來說,這個評估目標類型會有兩個不同的可能值:
- 「購買次數」是第一種評估目標,
- 「購買價值」是第二種評估目標。
如果您的評估目標為「n」個,評估目標類型就會有「n」個不同類型的值。
您可以將鍵的維度視為指標。例如「每個地理位置每個廣告活動的特定產品購買次數」。
鍵大小、尺寸
金鑰大小上限以位元為單位,也就是要建立完整索引鍵的零個數和二元數。這個 API 的金鑰長度為 128 位元。
這個大小可用於非常精細的鍵,但精細的鍵越多,產生的雜訊值就越多。如要進一步瞭解雜訊,請參閱瞭解雜訊。
如先前所述,維度會編碼為匯總鍵。每個維度都有特定基數,也就是該維度能夠包含的不重複值數量。根據基數,每個維度都需要以特定位元數表示。使用 n 位元,可以表示 2n 個不同的選項。
舉例來說,全球大約有 200 個國家/地區,「國家/地區」維度的基數可能會是 200。需要多少位元才能編碼這個維度?
7 位元只會儲存 27 = 128 個不同選項,但低於必要的 200。
8 位元會儲存 28 = 256 個不同的選項,這超過所需的 200 個,因此您可以使用 n=8 位元來編碼這個維度。
金鑰編碼
在瀏覽器中設定鍵時,這些鍵應以十六進位編碼。在摘要報表中,按鈕會以二進位顯示 (並命名為「桶」)。
設定完整金鑰的兩個鍵片
假設您使用一個鍵來追蹤下列維度:
- 廣告活動 ID
- 地理位置 ID
- 產品類別
雖然「廣告活動 ID」和「地理位置 ID」維度會在廣告放送 (廣告放送時間) 時得知,但使用者透過觸發事件完成轉換 (轉換時間) 就會得知產品類別。
在實務上,您將透過兩個步驟設定金鑰:
- 您必須在點擊或瀏覽時間設定鍵的其中一個部分:廣告活動 ID × 地理位置 ID。
- 您將在轉換時設定「主要」鍵的第二部分:產品類別。
這些不同的鍵部分稱為「鍵片」。
索引鍵的計算方式是採用鍵的 OR (v
) 方式。
範例:
- 來源端鍵 =
0x159
- 觸發事件端鍵 =
0x400
- 鍵 =
0x159 v 0x400 = 0x559
對齊重點
透過精心安排的 64 位元填充字元/偏移量 (十六個零),可將兩個 64 位元金鑰片段擴展至 128 位元,將金鑰片段連結起來等同於執行 OR 運算,更容易推理及驗證:
- 來源端鍵片段 =
0xa7e297e7c8c8d0540000000000000000
- 觸發事件端鍵 =
0x0000000000000000674fbe308a597271
- 鍵 =
0xa7e297e7c8c8d0540000000000000000 v 0x0000000000000000674fbe308a597271 = 0xa7e297e7c8c8d054674fbe308a597271
每個廣告點擊或觀看次數對應多個鍵
實際上,您可以為每個歸因來源事件 (廣告點擊或瀏覽) 設定多個鍵。舉例來說,您可以設定:
- 用於追蹤地理區域 ID × 廣告活動 ID 的鍵。
- 另一個用於追蹤廣告素材類型 × 廣告活動 ID 的鍵。
如需其他範例,請參閱策略 B。
將維度編碼為鍵
請為特定一組匯總索引鍵要求摘要報表,藉此告訴匯總服務您要存取哪些指標。
摘要報表包含原始 {key,summary value} 組合,沒有鍵的其他資訊。這表示:
- 將鍵設為使用者觀看或點擊廣告後完成轉換時,您必須以鍵所代表的維度值可靠的設定鍵。
- 定義您要求摘要報表的鍵時,您必須根據要查看匯總資料的維度值,穩定地產生或存取使用者觀看或點擊廣告並完成轉換時設定的鍵。
使用鍵結構對應表編碼維度
如要將維度編碼為鍵,您可以在定義鍵時 (在廣告放送時間之前),預先建立並維護鍵結構對應關係。
機碼結構圖代表每個維度及其在鍵中的位置。
在實際操作中,建立及維護關鍵結構對應表,就表示您必須實作及維護解碼器邏輯。如果您想要尋找不需要執行此操作的方法,請考慮改用雜湊型方法。
範例如下:
假設您打算追蹤特定廣告活動、地理區域和產品的購買和購買價值,
產品類別、地理位置 ID 和廣告活動 ID 必須是鍵中的維度。此外,由於您想追蹤兩個不同的評估目標 (購買次數和購買價值),因此需要在鍵中新增一個維度,以便追蹤鍵類型。這樣一來,您就能在摘要報表中收到 {key, aggregatable value} 組合時,定義匯總值實際代表的內容。
根據這些評估目標,您的鍵具有下列維度:
- 產品類別
- 評估目標類型
- 地理位置 ID
- 廣告活動 ID
接著,我們來看看各個維度。假設您需要追蹤下列用途:
- 29 種不同的產品類別。
- 8 個不同的地理區域:北美洲、中美洲、南美洲、歐洲、非洲、亞洲、加勒比海和大洋洲。
- 16 個不同的廣告活動。
以下是對鍵中每個維度進行編碼所需的位元數:
- 產品類別:5 位元 (25 = 32 > 29)。
- 評估目標類型:1 位元。評估目標可以是購買次數或購買價值,代表兩者可能具有兩種不同可能性,因此只要一部分即可保存。
地理位置 ID:3 位元 (23 = 8)。您也需要為地理區域 ID 定義維度對應,以便瞭解每個二進位值代表哪個地理區域。地理區域 ID 維度的維度對應可能會像這樣:
鍵中的二進位值 地理位置 000 北美洲 001 中美洲 010 南美洲 011 歐洲 100 非洲 101 亞洲 110 加勒比海人 111 大洋洲 廣告活動 ID:4 位元 (24 = 16)
遵循這個結構的鍵長度將為 13 位元 (5 + 1 + 3 + 4)。
在這個範例中,這些鍵的鍵結構對應如下所示:
您可以自行決定關鍵內維度的順序。
為說明維度組成鍵結構的方式,我們將使用二元表示法,因此廣告活動 ID (第一部分) 位於最右側,產品類別 (最後部分) 位於最左側的位置。
在每個維度中,最左邊的位元是最高位元,也就是具有最大數值的位元。最右邊的位元是最低有效位元,也就是最小的數值位元。
我們來看看如何使用鍵結構對應將鍵解碼。
讓我們以 0b1100100111100 做為任意範例金鑰,假設您能夠知道,此金鑰遵循上一例中的金鑰結構對應。
根據金鑰結構對應,這個金鑰會解碼為:
`11001 0 011 1100`
因此,鍵 0b1100100111100 代表產品類別 25 的購買次數,針對在歐洲推出的廣告活動 ID 12。
使用雜湊函式編碼維度
您可以使用雜湊函式,以一致且可靠的方式動態產生鍵,而非使用索引鍵結構對應項目。
運作方式如下:
- 選取雜湊演算法。
- 在廣告放送時產生一個字串,當中包含您要追蹤的所有維度及其值。如要產生來源端的金鑰,請對這個字串進行雜湊處理,並考慮新增 64 位元後置的 0,以便與觸發事件端金鑰對齊,讓「或」更容易理解。
- 來源端索引鍵
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
- 請注意,
COUNT
在鍵結構對應方法中編碼的方式與measurementGoalType=0
相同。COUNT
是較為精簡且更明確的文字。
- 來源端索引鍵
- 在轉換時刻產生字串,其中包含您要追蹤的所有維度和其值。如要產生觸發端金鑰片段,請對這個字串進行雜湊處理,並加上 64 位元零字首:
- 觸發事件端鍵片段
=
<64-bit 00000000…><64-bit hex hash("productCategory=25")>
- 觸發事件端鍵片段
=
- 瀏覽器「或」這些重要部分,即可產生金鑰。
- 128 位元匯總鍵
=<64-bit hex source-side key piece hash><64-bit hex source-side key piece hash>
- 128 位元匯總鍵
- 之後,當您準備好要求此鍵的摘要報表時,請即時產生報表:
- 根據您感興趣的維度,按照先前的方法產生來源方和觸發方關鍵片段。
- 來源端鍵片
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
- 觸發事件端鍵
=<64-bit 00000000…><64-bit hex hash("productCategory=25")>
- 觸發事件端鍵片段 =
toHex(hash("productCategory=25"))
- 來源端鍵片
- 就像瀏覽器一樣,將這些金鑰片段 OR 起來,即可產生瀏覽器先前產生的相同金鑰。
- 128 位元匯總鍵
=<64-bit source-side key piece hash><64-bit source-side key piece hash>
- 128 位元匯總鍵
- 根據您感興趣的維度,按照先前的方法產生來源方和觸發方關鍵片段。
如果您使用這種以雜湊值為基礎的方法,請參考以下實用訣竅:
- 請一律採用與維度相同的順序。這可確保系統能夠可靠地重新產生雜湊。(
"COUNT, CampaignID=12, GeoID=7"
不會產生與"COUNT, GeoID=7, CampaignID=12"
相同的雜湊),最簡單的方法就是將維度 (英數字元) 排序。這就是我們會在範例中採取的做法,但因為我們一律將COUNT
或VALUE
設為維度中的第一個項目,因為COUNT
或VALUE
編碼的資訊概念略有不同。 - 追蹤您在鍵中使用的維度組合。您不會想要根據從未使用過的一組維度產生鍵。
- 如果使用適當的雜湊函式,雜湊衝突的情況就很少發生,但檢查先前使用的雜湊 (應儲存於系統中,以便解讀匯總服務的結果) 可避免引入與舊版金鑰衝突的新金鑰。
如要瞭解如何使用雜湊鍵,請參閱「單次點擊單次轉換或查看一次轉換範例」一文。
實務中可匯總的值
廣告技術公司會在使用者完成轉換時設定可匯總的值。
為保護使用者隱私,每位使用者貢獻的內容有上限。在與單一來源 (廣告點擊或觀看) 相關聯的所有可匯總值中,任何值都不能超過特定貢獻限制。
我們會將這項限制稱為「CONTRIBUTION_BUDGET
」。在說明文件中,這項限制稱為 L1 預算,但與 CONTRIBUTION_BUDGET
相同。
如要深入瞭解貢獻預算,請參閱「摘要報表的貢獻預算」一文。
範例:每個點擊或瀏覽一次計算為一個轉換
在這個範例中,假設您想回答以下問題:
- 哪些產品類別對各區域最有價值?
- 請問哪些廣告活動策略對每個區域最有效?
並假設您的用途需要每週深入分析資訊。
您也必須追蹤下列項目:
- 16 個不同的廣告活動。
- 8 個不同的地理區域:北美洲、中美洲、南美洲、歐洲、非洲、亞洲、加勒比海和大洋洲。
- 29 種不同的產品類別。
評估內容
雖然許多廣告技術公司鼓勵廣告客戶設定各種轉換類型,但專注於最重要的轉換 (例如購買) 是確保這些重要轉換事件的匯總結果詳細且準確的好方法。事實上,您評估的指標越多,每項指標的貢獻預算就越少,因此每個值的雜訊可能就會越多。因此,您必須仔細選取要測量的項目。
在本例中,我們會著重於廣告活動設定,只針對每次點擊或觀看計為一次轉換:購買。
您還是可以評估購買次數和購買價值,還可存取各種重要匯總統計資料,例如總購物價值和地理區域細目。 這樣一來,噪音就能維持在合理範圍內,並確保貢獻預算的簡單調整方式。
那麼貨幣呢?
如果您在不同地區放送廣告活動,必須將貨幣列入考量。 您可以採取以下做法:
- 在匯總鍵中將貨幣設為專屬維度。
- 也可以根據廣告活動 ID 推斷出貨幣,然後將所有幣別轉換為參考貨幣。
在本範例中,我們假設您可以透過廣告活動 ID 推斷貨幣。這樣您就可以將使用者的當地幣別換算成您選擇的參考貨幣。您也可以在使用者購買商品時,即時執行轉換。
使用這項技術時,所有可匯總的值都會以相同的參考幣別表示,因此可以相加產生匯總購買價值,也就是匯總購買價值。
將目標轉換為鍵
您可以根據評估目標和指標,選擇多種關鍵策略。讓我們來看看這兩種策略:
- 策略 A:一個精細的鍵結構。
- 策略 B:兩個粗略的鍵結構。
策略 A:一棵深的樹狀結構 (單一精細的鍵結構)
在策略 A 中,您使用一個精細的鍵結構,其中包含所需的所有維度:
所有鍵都會使用這個結構。
您可以將這個鍵結構分成兩個鍵類型,以支援兩個評估目標。
- 鍵值類型 0:測量目標類型 = 0,您可以將其定義為購買次數。
- 鍵值類型 1:測量目標類型 = 1,您可以將其定義為購買價值。
摘要報表如下:
您可以將策略 A 視為「一棵深度樹」策略:
- 匯總報表中的每個匯總值都會與您追蹤的所有維度相關聯。
- 您可以將這些摘要值與每個維度一起匯總,讓匯總資料的深度與維度數量相同。
採用策略 A 時,您會回答以下問題:
問題 | 解答 |
---|---|
哪些產品類別對各區域最有價值? | 將所有廣告活動中摘要報表中的摘要購買次數和值加總。 算出每個地理區域 ID × 產品類別的購買計數和價值。 針對每個地區,比較不同產品類別的購買價值和計數。 |
哪些廣告活動策略在各個區域最有效? | 針對所有產品類別,加總摘要報表中的購買次數和值總和。 這會顯示每個廣告活動 ID × 地理 ID 的購買次數和價值。 針對各個地區,比較不同廣告活動的購物價值和數量。 |
使用策略 A 時,您也可以直接回答第三個問題:
「每個地理區域的每個廣告活動為每項產品帶來多少收益?」
雖然摘要值很雜訊,但您可以判斷每次廣告活動之間評估的值差異,並非由雜訊造成。如要瞭解如何完成這項操作,請參閱「噪音簡介」。
策略 B:兩棵淺樹 (兩種粗略的結構)
在策略 B 中,您使用兩個粗略的鍵結構,每個結構都包含您需要的維度子集:
您可以將每個主要結構分割為兩個主要類型,以支援兩個評估目標。
- 評估目標類型 = 0,您決定將這種目標定義為購買次數。
- 評估目標類型 = 1,您決定將這種目標定義為「購買價值」。
您最終會得到四種鍵類型:
- 金鑰類型 I-0:金鑰結構 I、購買次數。
- 鍵型 I-1:鍵結構 I,購買價值。
- 金鑰類型 II-0:金鑰結構 2、購買次數。
- 第 II-1 金鑰:主要結構 2、購買價值。
摘要報表如下所示:
您可以將 B 策略想成「兩棵淺樹」策略:
- 摘要報表中的摘要值會對應至兩個小型維度的其中一組。
- 您可以將這些匯總值與這些組合中的每個維度匯總;也就是說,由於可匯總的維度較少,因此這些匯總值不會與選項 A 中的深度比較。
採用 B 策略時,您可以按照下列步驟回答問題:
問題 | 解答 |
---|---|
哪些產品類別對各區域最有價值? | 直接存取摘要報表中的摘要購買次數和值。 |
每個地區最有效的廣告活動策略為何? | 直接存取摘要報表中的摘要購買次數和值。 |
決策:策略 A
策略 A 較為簡單,所有資料都遵循相同的鍵結構,這也表示您只需要維護一個鍵結構。
不過,使用策略 A 時,需要匯總摘要報表中收到的摘要值,才能回答部分問題。每個摘要值都會產生雜訊。加總這些資料後,您也能加總雜訊。
但策略 B 與此狀況不同,因為摘要報表中顯示的摘要值已經為您提供您需要的資訊。也就是說,策略 B 比策略 A 更能降低雜訊的影響。
請問你該如何決定要採用的策略?對於現有的廣告客戶或廣告活動,您可能需要參考歷來資料,以判斷轉換量是否更適合策略 A 或策略 B。不過,對於新廣告客戶或廣告活動,您可以決定:
- 使用精細的鍵收集一個月的資料 (策略 A)。由於您要延長資料收集時間,摘要值將會增加,雜訊量會相對較低。
- 以合理準確度評估每週轉換次數和購物價值。
在本例中,假設每週購買次數和購買價值夠高,策略 A 會產生您針對該用途接受的雜訊百分比。
由於策略 A 較為簡單,且不會影響您做出決策的能力,因此您決定採用策略 A。
選取雜湊演算法
您決定採用雜湊型方法來產生金鑰。如要這麼做,您必須選取一個雜湊演算法來支援該方法。
假設您已選取 SHA-256。您也可以使用較簡單、安全性較低的演算法,例如 MD5。
在瀏覽器中:設定鍵和值
您已決定鍵結構和雜湊演算法,因此可以開始在使用者點擊或觀看廣告並完成轉換時,註冊鍵和值。
接下來,我們將簡要說明您在瀏覽器中註冊鍵和值時要設定的標頭:
設定來源端索引鍵片段
在使用者點選或觀看廣告時,請在 Attribution-Reporting-Register-Aggregatable-Source
標頭中設定匯總鍵。在這個階段,您只能設定在廣告放送時已知的鍵部分或「鍵」。
讓我們產生主要部分:
金鑰 ID 的來源端金鑰... | 包含所要設定的維度值的字串 | 這個字串的雜湊值,格式為十六進位,並已剪輯成前 64 位元 (64/4 = 16 個字元1) | 附加零的十六進位雜湊,簡化 OR 作業。這是來源端的鍵。 |
---|---|---|---|
key_purchaseCount |
COUNT, CampaignID=12, GeoID=7 |
0x3cf867903fbb73ec | 0x3cf867903fbb73ec0000000000000000 |
key_purchaseValue |
VALUE, CampaignID=12, GeoID=7 |
0x245265f432f16e73 | 0x245265f432f16e730000000000000000 |
現在讓我們設定主要部分:
// Upon receiving the request from the publisher site
res.set(
"Attribution-Reporting-Register-Aggregatable-Source",
JSON.stringify([
{
"id": "key_purchaseCount",
"key_piece": "0x3cf867903fbb73ec0000000000000000"
},
{
"id": "key_purchaseValue",
"key_piece": "0x245265f432f16e730000000000000000"
}
])
);
請注意,最終報表「不會」顯示鍵 ID。只有在瀏覽器中設定鍵時,才會使用這類鍵,因此可以讓來源端和觸發端的鍵互相對應,並合併為完整的鍵。
選用:事件層級報表
如果您需要同時使用事件層級報表和可匯總報表,請確保針對特定來源,事件層級資料 (來源事件 ID 和觸發資料) 和匯總鍵可以配對。
舉例來說,假設您打算使用事件層級報表,針對哪幾類廣告帶來最多購買量,就可以使用這兩種報表。
使用者完成轉換
使用者完成轉換時,系統通常會將像素請求傳送至廣告技術伺服器。收到這項要求後:
- 設定轉換端 (觸發事件端) 鍵片,完成鍵。您會透過標頭
Attribution-Reporting-Register-Aggregatable-Trigger-Data
設定這些關鍵片段。 - 透過標頭
Attribution-Reporting-Register-Aggregatable-Values
為該轉換設定可匯總值。
設定觸發事件端鍵片,完成鍵
讓我們產生主要部分:
金鑰 ID 的觸發端鍵... | 包含要設定的維度值的字串 | 這個字串的雜湊值,格式為十六進位,並已剪輯成前 64 位元 (64/4 = 16 個字元1) | 內六角雜湊值,附加零以簡化 OR 運算。這是來源端的鍵片段。 |
---|---|---|---|
key_purchaseCount |
ProductCategory=25 |
0x1c7ce88c4904bbe2 | 0x0000000000000000f9e491fe37e55a0c |
key_purchaseValue |
(相同) | (相同) | (相同) |
接下來,我們來設定關鍵元素:
// Upon receiving the pixel request from the advertiser site
res.set(
"Attribution-Reporting-Register-Aggregatable-Trigger-Data",
JSON.stringify([
// Each dictionary independently adds pieces to multiple source keys
{
"key_piece": "0x0000000000000000f9e491fe37e55a0c",
"source_keys": ["key_purchaseCount", "key_purchaseValue"]
},
])
);
請注意,只要在 source_keys
中列出多個金鑰 ID,即可將相同的索引鍵新增至多個鍵。您要將金鑰新增至兩個金鑰中。
設定可匯總的值
設定可匯總的值之前,需要先向上擴充,以減少雜訊。
假設有人以 $52 美元的價格購買了一種產品類型 25。
請勿直接將這些元素設為可匯總值:
key_purchaseCount
:1 次轉換key_purchaseValue
:$52
相反地,您必須先縮放這些可匯總的值,才能註冊這些值,以便盡量減少雜訊。
您要使用捐款預算分成兩個目標,因此您可以決定將貢獻預算分配給兩半。
在這種情況下,每個目標最多會分配 CONTRIBUTION_BUDGET/2
(=65,536/2=32,768)。
假設根據網站所有使用者的購物記錄,單一使用者的最高購物價值為 $1,500 美元。可能會有異常值,例如花費超過該金額的使用者人數很少,但您可以選擇忽略這些異常值。
購買價值的縮放比例應為:
((CONTRIBUTION_BUDGET
/2) / 1,500) = 32,768/1,500 = 21.8 匯入 22
由於您決定追蹤每個廣告點擊或瀏覽 (來源事件) 最多一筆購買次數,因此購買次數的縮放因數為 32,768/1 = 32,768。
您現在可以設定下列值:
key_purchaseCount
:1 × 32,768 = 32,768key_purchaseValue
:52 × 22 = 1,144
實際上,您可以使用專屬標頭 Attribution-Reporting-Register-Aggregatable-Values
將這些值設為以下值:
// Instruct the browser to schedule-send a report
res.set(
"Attribution-Reporting-Register-Aggregatable-Values",
JSON.stringify({
"key_purchaseCount": 32768,
"key_purchaseValue": 1144,
})
);
產生可匯總報表
瀏覽器比對轉換與先前的檢視畫面或點擊,並產生可匯總報表,其中包含報表中繼資料旁邊的已加密酬載。
以下是可在可匯總報表的酬載中找到的資料範例 (如果可在明文中讀取):
[
{
key: 0x3cf867903fbb73ecf9e491fe37e55a0c, // = source-side key piece OR conversion-side key piece for the key key_purchaseCount
value: 32768 // the scaled value for 1 conversion, in the context of [CONTRIBUTION_BUDGET/2]
},
{
key: 0x245265f432f16e73f9e491fe37e55a0c, // source-side key piece OR conversion-side key piece for the key key_purchaseValue
value: 1144 // the scaled value for $52, in the context of [CONTRIBUTION_BUDGET/2]
},
]
您可以在單一可匯總報表中看到兩個不同的貢獻。
索取摘要報表
- 批次處理可匯總報表。請按照「批次處理」一節中的建議操作。
- 產生要查看資料的鍵。舉例來說,如要查看廣告活動 ID 12 × 地理位置 ID 7 × 產品類別 25 的
COUNT
(總購買次數) 和VALUE
(總購物價值) 的摘要資料,請按照下列步驟操作:
要要求的指標1 | 來源端金鑰片段 | 觸發事件端按鍵 | 要求匯總服務金鑰2 |
---|---|---|---|
總購買次數 (COUNT ) |
0x3cf867903fbb73ec 0000000000000000 |
0x00000000000000 00f9e491fe37e55a0c |
0x3cf867903fbb73 ecf9e491fe37e55a0c |
總購物價值 (VALUE ) |
0x245265f432f16e73 0000000000000000 |
0x0000000000000000 f9e491fe37e55a0c |
0x245265f432f16e73 f9e491fe37e55a0c |
- 針對這些鍵向匯總服務要求摘要資料。
處理摘要報表
最後,您看到的摘要報表可能如下所示:
[
{"bucket": "00111100111110000110011110010000001111111011101101110011111011001111100111100100100100011111111000110111111001010101101000001100",
"value": "2558500"},
{"bucket": "00100100010100100110010111110100001100101111000101101110011100111111100111100100100100011111111000110111111001010101101000001100",
"value": "687060"},
…
]
第一個值區是二進位值中的 COUNT
鍵。第二個值區是二進位檔中的 VALUE
鍵。請注意,雖然這些鍵是異質的 (COUNT
與 VALUE
),但都包含在同一報表中。
縮減值
- 2,558,500 是指這個鍵的購買次數,經過先前計算的縮放係數放大後的結果。購買次數的縮放比例係數為 32,768。將 2,558,500 除以目標貢獻預算:2,558,500/32,768 = 156.15 次購買。
- 687,060 → 687,060/22 = $31,230 美元的總購買價值。
因此,摘要報表會提供下列洞察資料:
- Within the reporting time period, campaign #12
run in Europe drove about 156 purchases (± noise)
for the product category #25
```
```text
- Within the reporting time period, campaign #12
run in Europe drove $31,230 of purchases (± noise)
for the product category #25.