คีย์การรวมคืออะไร มีการใช้คีย์ใน Attribution Reporting API อย่างไร และวิธีแปลงเป้าหมายเป็นคีย์
ในฐานะบริษัทเทคโนโลยีโฆษณาที่ใช้แคมเปญในหลายสถานที่ตั้งสำหรับหมวดหมู่ผลิตภัณฑ์ต่างๆ คุณต้องการช่วยผู้ลงโฆษณาตอบคำถามต่อไปนี้
- แต่ละแคมเปญของฉันทำให้เกิดการซื้อสำหรับผลิตภัณฑ์แต่ละหมวดหมู่ได้กี่รายการในแต่ละพื้นที่ทางภูมิศาสตร์
- แคมเปญแต่ละแคมเปญของฉันในแต่ละพื้นที่ทางภูมิศาสตร์สร้างรายได้รายได้จากผลิตภัณฑ์แต่ละหมวดหมู่ได้เท่าใด
แม้ว่าบริษัทเทคโนโลยีโฆษณาหลายแห่งแนะนำให้ผู้ลงโฆษณากําหนดค่า Conversion หลายประเภท แต่การมุ่งเน้นที่ Conversion ที่สำคัญที่สุด เช่น การซื้อ เป็นวิธีที่ดีในการตรวจสอบว่าผลสรุปมีรายละเอียดและถูกต้องสําหรับเหตุการณ์สําคัญเหล่านี้
ในการทำเช่นนั้น คุณต้องคิดถึงคำถามที่คุณต้องการตอบก่อนจะรวบรวมข้อมูล
มิติข้อมูล คีย์ และค่า
มาดูมิติข้อมูล คีย์ และค่าต่างๆ เพื่อตอบคำถามเหล่านี้กัน
ขนาด
คุณจะต้องติดตามมิติข้อมูลต่อไปนี้เพื่อทำความเข้าใจวิธีที่แคมเปญสร้างรายได้ ดังที่อธิบายไว้ที่นี่
- รหัสแคมเปญโฆษณา: ตัวระบุสำหรับแคมเปญที่เฉพาะเจาะจง
- รหัสภูมิศาสตร์: ภูมิภาคทางภูมิศาสตร์ที่แสดงโฆษณา
- หมวดหมู่ผลิตภัณฑ์: ประเภทผลิตภัณฑ์ที่คุณกำหนดไว้
แม้ว่าระบบจะทราบมิติข้อมูลรหัสแคมเปญและรหัสภูมิศาสตร์เมื่อมีการแสดงโฆษณา (เวลาแสดงโฆษณา) ระบบจะรู้จักหมวดหมู่ผลิตภัณฑ์จากเหตุการณ์ทริกเกอร์เมื่อผู้ใช้ทํา Conversion (เวลาที่เกิด Conversion)
มิติข้อมูลที่คุณต้องการติดตามสำหรับตัวอย่างนี้มีลักษณะดังที่ปรากฏในรูปภาพต่อไปนี้
คีย์การรวม (ที่เก็บข้อมูล) คืออะไร
คีย์การรวมและที่เก็บข้อมูลของคําหมายถึงสิ่งเดียวกัน คีย์การรวมจะใช้ใน API ของเบราว์เซอร์ที่ใช้เพื่อกำหนดค่ารายงาน คำว่า bucket จะใช้ในรายงานแบบรวมและรายงานสรุปได้ และใน API บริการรวบรวมข้อมูล
คีย์การรวม (คีย์ย่อ) คือชิ้นข้อมูลที่แสดงถึงค่าของมิติข้อมูลที่กำลังติดตาม ระบบจะรวบรวมข้อมูลในภายหลังตามคีย์การรวมแต่ละรายการ
ตัวอย่างเช่น สมมติว่าคุณกำลังติดตามมิติข้อมูลในหมวดหมู่ผลิตภัณฑ์ รหัสภูมิศาสตร์ และรหัสแคมเปญ
เมื่อผู้ใช้ที่อยู่ในรหัสภูมิศาสตร์ 7 เห็นโฆษณารหัสแคมเปญ 12 และทํา Conversion ในภายหลังโดยการซื้อผลิตภัณฑ์ในหมวดหมู่ผลิตภัณฑ์ 25 คุณอาจตั้งค่าคีย์การรวมที่มีลักษณะคล้ายกับคีย์ในรูปภาพต่อไปนี้
คุณจะเห็นว่าคีย์การรวมไม่ได้มีลักษณะเช่นนี้ในทางปฏิบัติ แต่ในตอนนี้เรามามุ่งเน้นที่ข้อมูลที่มีอยู่ในคีย์กัน
ค่าที่รวบรวมได้คืออะไร
คุณควรทราบข้อมูลต่อไปนี้เพื่อตอบคำถามเกี่ยวกับมิติข้อมูลที่เราได้ร่างไว้
- จํานวนการซื้อ (จํานวนการซื้อ) เมื่อรวบรวมข้อมูลและแสดงในรายงานสรุปแล้ว ยอดการซื้อนี้จะเป็นยอดรวมการซื้อ (ค่าสรุป)
- รายได้สําหรับการซื้อแต่ละครั้ง (มูลค่าการซื้อ) เมื่อรวบรวมข้อมูลและแสดงในรายงานสรุปแล้ว ตัวเลขนี้จะเป็นรายได้ทั้งหมด (ค่าสรุป)
แต่ละรายการเหล่านี้คือจํานวนการซื้อสําหรับ Conversion 1 รายการและมูลค่าการซื้อสําหรับ 1 Conversion คือมูลค่าที่รวมได้ คุณสามารถมองว่าค่าที่รวบรวมได้เป็นค่าของเป้าหมายการวัดผล
คำถาม | มูลค่าที่รวบรวมได้ = เป้าหมายการวัดผล |
---|---|
จำนวนการซื้อ... | จำนวนการซื้อ |
รายได้เท่าใด... | มูลค่าการซื้อ |
เมื่อผู้ใช้ที่อยู่ในรหัสภูมิศาสตร์ 7 เห็นโฆษณาสำหรับรหัสแคมเปญ 12 แต่ทำ Conversion ในภายหลังโดยการซื้อผลิตภัณฑ์ในหมวดหมู่ผลิตภัณฑ์ 25 ในราคา $120 (สมมติว่าสกุลเงินของคุณคือ USD) คุณอาจตั้งค่าคีย์การรวมและค่าที่รวบรวมได้ให้มีลักษณะดังนี้
ระบบจะรวมค่าที่รวบรวมได้ต่อคีย์ของผู้ใช้จำนวนมากเพื่อสร้างข้อมูลเชิงลึกแบบรวมในรูปแบบของค่าสรุปในรายงานสรุป
ระบบจะรวมค่าที่รวบรวมได้เพื่อสร้างข้อมูลเชิงลึกแบบรวมสำหรับเป้าหมายการวัดผล
โปรดทราบว่าแผนภาพนี้ไม่มีการถอดรหัสและแสดงตัวอย่างแบบง่ายที่ไม่ใช้สัญญาณรบกวน ในส่วนถัดไป เราจะกล่าวถึงตัวอย่างนี้ด้วยสัญญาณรบกวน
ตั้งแต่คีย์และค่าไปจนถึงรายงาน
ต่อไปเราจะมาดูกันว่าคีย์และค่าที่รวบรวมได้เกี่ยวข้องกับรายงานอย่างไร
รายงานที่รวบรวมได้
เมื่อผู้ใช้คลิกหรือดูโฆษณาแล้วทํา Conversion ในภายหลัง จะเป็นการสั่งให้เบราว์เซอร์จัดเก็บคู่ {aggregation key, aggregatable value}
ในตัวอย่างของเรา เมื่อผู้ใช้คลิกหรือดูโฆษณา แล้วทํา Conversion ในภายหลัง คุณจะสั่งให้เบราว์เซอร์สร้างการมีส่วนร่วม 2 รายการ (1 รายการต่อเป้าหมายการวัดผล)
คุณจะเห็นในภายหลังว่ารายงานที่รวบรวมได้ {aggregation key, aggregatable value} ไม่ได้มีลักษณะเช่นนี้ แต่ในตอนนี้เรามามุ่งเน้นที่ข้อมูลที่อยู่ในรายงานกันดีกว่า
เมื่อคุณสั่งให้เบราว์เซอร์สร้างการมีส่วนร่วม 2 รายการ เบราว์เซอร์จะสร้างรายงานที่รวบรวมได้ (หากสามารถจับคู่ Conversion กับการดูหรือคลิกก่อนหน้า)
รายงานที่รวบรวมได้จะมีข้อมูลต่อไปนี้
- การมีส่วนร่วมที่คุณกำหนด
- ข้อมูลเมตาเกี่ยวกับเหตุการณ์การคลิกหรือการดูและเหตุการณ์ Conversion: เว็บไซต์ที่เกิด Conversion และอื่นๆ ดูช่องทั้งหมดในรายงานที่รวบรวมได้
รายงานที่รวบรวมได้จะอยู่ในรูปแบบ JSON และรวมถึงช่องเพย์โหลดซึ่งจะใช้เป็นอินพุตข้อมูลในรายงานสรุปขั้นสุดท้าย
เพย์โหลดมีรายการการมีส่วนร่วม โดยแต่ละรายการเป็นคู่ {aggregation key, aggregatable value}
bucket
: คีย์การรวมซึ่งเข้ารหัสเป็นไบต์สตริงvalue
: ค่าที่รวบรวมได้ของเป้าหมายการวัดนั้นซึ่งเข้ารหัสเป็นไบต์สตริง
ตัวอย่าง
{
"data": [
{
"bucket": "111001001",
"value": "11111010000",
}
],
"operation": "histogram"
}
ในทางปฏิบัติ รายงานที่รวบรวมได้จะได้รับการเข้ารหัสในลักษณะที่ทำให้ที่เก็บข้อมูลและค่ามีลักษณะแตกต่างจากตัวอย่างก่อนหน้านี้ (กล่าวคือ ที่เก็บข้อมูลอาจมีลักษณะเหมือน \u0000\u0000\x80\u0000
) ที่เก็บข้อมูล และค่าเป็นไบต์สตริงทั้งคู่
รายงานสรุป
รายงานที่รวบรวมได้นั้นรวบรวมมาจากเบราว์เซอร์และอุปกรณ์ (ผู้ใช้) จำนวนมากดังต่อไปนี้
- เทคโนโลยีโฆษณาจะขอรายงานสรุปสำหรับชุดคีย์ที่กำหนด และรายงานชุดหนึ่งที่รวบรวมได้ซึ่งมาจากเบราว์เซอร์ (ผู้ใช้) ต่างๆ จำนวนมาก
- รายงานที่รวบรวมได้จะถอดรหัสโดยบริการรวมข้อมูล
- สำหรับแต่ละคีย์ ระบบจะรวมค่าที่รวบรวมได้จากรายงานที่รวบรวมได้
- ระบบจะเพิ่มเสียงรบกวนลงในค่าสรุป
ผลลัพธ์ที่ได้คือรายงานสรุปที่มีชุดคู่ของ {aggregation key, หน้าสรุปค่า}
รายงานสรุปมีชุดคู่คีย์-ค่าในรูปแบบพจนานุกรม JSON แต่ละคู่จะมีข้อมูลต่อไปนี้
bucket
: คีย์การรวมซึ่งเข้ารหัสเป็นไบต์สตริงvalue
: ค่าสรุปเป็นทศนิยมสำหรับเป้าหมายการวัดผลหนึ่งๆ ซึ่งสรุปจากรายงานที่รวบรวมได้ทั้งหมดซึ่งมีระดับข้อผิดพลาดที่เพิ่มขึ้น
เช่น
[
{"bucket": "111001001", "value": "2558500"},
{"bucket": "111101001", "value": "3256211"},
{...}
]
ในทางปฏิบัติ รายงานสรุปจะได้รับการเข้ารหัสในลักษณะที่ทำให้ที่เก็บข้อมูลและค่ามีลักษณะแตกต่างจากที่ระบุไว้ในตัวอย่าง (กล่าวคือ ที่เก็บข้อมูลอาจมีลักษณะคล้ายกับ \u0000\u0000\x80\u0000
) ที่เก็บข้อมูลและค่าเป็นไบต์สตริงทั้งคู่
คีย์การรวมในทางปฏิบัติ
คีย์การรวม (ที่เก็บข้อมูล) กำหนดโดยบริษัทเทคโนโลยีโฆษณา ซึ่งโดยทั่วไปมี 2 ขั้นตอน ได้แก่ เมื่อผู้ใช้คลิกหรือดูโฆษณา และเมื่อผู้ใช้ทำ Conversion
โครงสร้างคีย์
เราจะใช้คำว่าโครงสร้างคีย์เพื่อระบุชุดมิติข้อมูลที่เข้ารหัสเป็นคีย์
เช่น รหัสแคมเปญ × GeoID × หมวดหมู่ผลิตภัณฑ์เป็นโครงสร้างหลัก
ประเภทคีย์
ระบบจะรวมค่าที่รวมได้สำหรับคีย์ที่ระบุสำหรับผู้ใช้/เบราว์เซอร์หลายรายการ แต่เราพบว่ามูลค่าที่รวบรวมได้สามารถติดตามเป้าหมายการวัดผลที่แตกต่างกันได้ เช่น มูลค่าการซื้อหรือจํานวนการซื้อ คุณต้องการตรวจสอบว่าบริการรวมข้อมูลจะรวมค่าที่รวมได้ของประเภทเดียวกัน
โดยการเข้ารหัสข้อมูลแต่ละคีย์ที่บอกคุณว่าค่าสรุปหมายถึงเป้าหมายการวัดที่คีย์นี้หมายถึงอะไร ภายในแต่ละคีย์ วิธีหนึ่งที่สามารถทำได้คือการสร้างมิติข้อมูลเพิ่มเติมสำหรับคีย์ของคุณซึ่งแสดงประเภทเป้าหมายการวัดผล
จากตัวอย่างก่อนหน้านี้ ประเภทเป้าหมายการวัดผลนี้จะมีค่าที่เป็นไปได้ 2 ค่า ได้แก่
- จํานวนการซื้อเป็นเป้าหมายการวัดผลประเภทแรก
- มูลค่าการซื้อเป็นเป้าหมายการวัดผลประเภทที่ 2
หากคุณมีเป้าหมายการวัดผล n เป้าหมาย ประเภทเป้าหมายการวัดผลจะมีค่าประเภทต่างๆ n
คุณสามารถมองว่ามิติข้อมูลของคีย์เป็นเมตริกได้ เช่น "จำนวนการซื้อผลิตภัณฑ์หนึ่งๆ ต่อแคมเปญต่อพื้นที่"
ขนาดคีย์ ขนาดมิติข้อมูล
ขนาดสูงสุดของคีย์จะกำหนดเป็นบิต ซึ่งก็คือจำนวน 0 และเลขฐานสองสำหรับสร้างคีย์แบบเต็ม โดย API นี้กำหนดความยาวคีย์ไว้ที่ 128 บิต
ขนาดดังกล่าวทำให้คีย์แบบละเอียดมากได้ แต่คีย์ที่มีความละเอียดมากกว่ามีแนวโน้มที่จะทำให้เกิดค่าที่มีสัญญาณรบกวนมากกว่า อ่านเพิ่มเติมเกี่ยวกับสัญญาณรบกวนได้ในทำความเข้าใจสัญญาณรบกวน
อย่างที่แนะนำก่อนหน้านี้ มิติข้อมูลจะได้รับการเข้ารหัสเป็นคีย์การรวม มิติข้อมูลแต่ละรายการมีจํานวนสมาชิกในเซ็ตที่เฉพาะเจาะจง ซึ่งก็คือจํานวนค่าที่ไม่ซ้ำกันซึ่งมิติข้อมูลนั้นรับได้ มิติข้อมูลแต่ละรายการจะต้องแสดงเป็นจำนวนบิตที่กำหนด ทั้งนี้ขึ้นอยู่กับ Cardinality ของมิติข้อมูลนั้น เมื่อใช้ n บิต คุณจะแสดงตัวเลือกที่แตกต่างกัน 2 n ได้
เช่น มิติข้อมูลประเทศอาจมีจำนวนสมาชิกในเซ็ตเป็น 200 เนื่องจากมีประมาณ 200 ประเทศในโลก ต้องใช้กี่บิตเพื่อเข้ารหัสมิติข้อมูลนี้
7 บิตจะเก็บเฉพาะ 27 = 128 ตัวเลือกที่แตกต่างกัน ซึ่งน้อยกว่า 200 ที่จำเป็น
8 บิตจะจัดเก็บ 28 = 256 ตัวเลือกที่แตกต่างกัน ซึ่งมากกว่าที่จำเป็น 200 บิต เพื่อให้คุณใช้ n=8 บิตในการเข้ารหัสมิติข้อมูลนี้ได้
การเข้ารหัสคีย์
เมื่อตั้งค่าคีย์ในเบราว์เซอร์ คีย์เหล่านั้นควรเข้ารหัสเป็นเลขฐานสิบหก ในรายงานสรุป คีย์จะปรากฏในไบนารี (และเปลี่ยนชื่อเป็นที่เก็บข้อมูล)
ตั้งค่าคีย์ 2 ส่วนสำหรับคีย์แบบเต็ม
สมมติว่าคุณใช้คีย์เพื่อติดตามมิติข้อมูลต่อไปนี้
- รหัสแคมเปญ
- รหัสภูมิศาสตร์
- หมวดหมู่ผลิตภัณฑ์
แม้ว่าระบบจะทราบมิติข้อมูลรหัสแคมเปญและรหัสภูมิศาสตร์เมื่อมีการแสดงโฆษณา (เวลาแสดงโฆษณา) ระบบจะรู้จักหมวดหมู่ผลิตภัณฑ์จากเหตุการณ์ทริกเกอร์เมื่อผู้ใช้ทํา Conversion เสร็จสมบูรณ์ (เวลาที่เกิด Conversion)
ในทางปฏิบัติ คุณจะต้องกำหนดหลักสำคัญใน 2 ขั้นตอนดังนี้
- คุณจะตั้งค่าส่วนหนึ่งของคีย์ได้คือ รหัสแคมเปญ × รหัสภูมิศาสตร์ ในเวลาที่คลิกหรือการดู
- คุณจะตั้งค่าส่วนที่ 2 ของคีย์ ซึ่งก็คือหมวดหมู่ผลิตภัณฑ์ในเวลาที่เกิด Conversion ได้
ส่วนต่างๆ ของคีย์เหล่านี้เรียกว่าคีย์ส่วนสำคัญ
ระบบจะคำนวณคีย์โดยนำ XOR (^
) ของชิ้นส่วนหลักของคีย์นั้นๆ มาคำนวณ
เช่น
- ส่วนคีย์ฝั่งแหล่งที่มา =
0x159
- ส่วนคีย์ฝั่งทริกเกอร์ =
0x400
- คีย์ =
0x159 ^ 0x400 = 0x559
การปรับแนวข้อมูลสำคัญ
คีย์ชิ้นส่วน 64 บิต 2 รายการขยายเป็น 128 บิต โดยใช้ฟิลเลอร์/ออฟเซ็ต 64 บิตที่วางไว้อย่างระมัดระวัง (เลข 0 จำนวน 16 บิต) คีย์ XOR-ing จะเทียบเท่ากับการต่อชิ้นส่วนเข้าด้วยกัน ซึ่งทำให้สามารถให้เหตุผลและตรวจสอบได้ง่ายขึ้น ดังนี้
- ส่วนคีย์ฝั่งแหล่งที่มา =
0xa7e297e7c8c8d0540000000000000000
- ส่วนคีย์ฝั่งทริกเกอร์ =
0x0000000000000000674fbe308a597271
- คีย์ =
0xa7e297e7c8c8d0540000000000000000 ^ 0x0000000000000000674fbe308a597271 = 0xa7e297e7c8c8d054674fbe308a597271
หลายคีย์ต่อการคลิกหรือดูโฆษณา
ในทางปฏิบัติ คุณอาจตั้งค่าคีย์ได้หลายรายการต่อเหตุการณ์แหล่งที่มาของการระบุแหล่งที่มา (การคลิกหรือการดูโฆษณา) ตัวอย่างเช่น คุณอาจตั้งค่าต่อไปนี้
- คีย์ที่ติดตามรหัสภูมิศาสตร์ × รหัสแคมเปญ
- คีย์อื่นที่ติดตามประเภทโฆษณา × รหัสแคมเปญ
ลองดูอีกตัวอย่างหนึ่งที่กลยุทธ์ B
การเข้ารหัสมิติข้อมูลเป็นคีย์
เมื่อขอรายงานสรุป คุณต้องบอกบริการรวมว่าต้องการเข้าถึงเมตริกใด โดยขอรายงานสรุปสำหรับคีย์การรวมชุดหนึ่ง
รายงานสรุปมีคู่ {คีย์, ค่าสรุป} ดิบ และไม่มีข้อมูลเพิ่มเติมเกี่ยวกับคีย์ ซึ่งหมายความว่า
- เมื่อตั้งค่าคีย์เมื่อผู้ใช้ดูหรือคลิกโฆษณา แล้วทำ Conversion ในภายหลัง คุณจะต้องตั้งค่าคีย์อย่างน่าเชื่อถือโดยอิงตามค่าของมิติข้อมูลที่คีย์นั้นแสดง
- เมื่อกำหนดคีย์ที่ต้องการขอรายงานสรุป คุณจะต้องสร้างหรือเข้าถึงคีย์เดียวกับคีย์ที่ตั้งค่าไว้เมื่อผู้ใช้ดูหรือคลิกโฆษณาและทำ Conversion โดยอิงตามค่าของมิติข้อมูลที่คุณต้องการดูข้อมูลรวม
การเข้ารหัสมิติข้อมูลโดยใช้แผนที่โครงสร้างหลัก
ในการเข้ารหัสมิติข้อมูลเป็นคีย์ คุณสามารถสร้างและรักษาแมปโครงสร้างคีย์ล่วงหน้าเมื่อกำหนดคีย์ (ก่อนเวลาแสดงโฆษณา)
แผนที่โครงสร้างคีย์จะแสดงมิติข้อมูลแต่ละรายการและตำแหน่งของแต่ละมิติข้อมูลในคีย์
ในทางปฏิบัติ การสร้างและดูแลรักษาแผนที่โครงสร้างหลักหมายความว่าคุณต้องใช้และดูแลรักษาตรรกะของตัวถอดรหัส หากกำลังมองหาวิธีการที่คุณไม่ต้องการให้ดำเนินการดังกล่าว ให้ลองใช้วิธีการแบบแฮชแทน
ตัวอย่าง
สมมติว่าคุณวางแผนที่จะติดตามทั้งมูลค่าการซื้อและมูลค่าการซื้อสำหรับแคมเปญ พื้นที่ทางภูมิศาสตร์ และผลิตภัณฑ์ที่เฉพาะเจาะจง
หมวดหมู่ผลิตภัณฑ์ รหัสภูมิศาสตร์ และรหัสแคมเปญต้องเป็นมิติข้อมูลในคีย์ของคุณ นอกจากนี้ เนื่องจากคุณต้องการติดตามเป้าหมายการวัดที่ต่างกัน 2 เป้าหมาย ได้แก่ จํานวนการซื้อและมูลค่าการซื้อ คุณต้องเพิ่มมิติข้อมูล 1 รายการภายในคีย์ของคุณที่ติดตามประเภทคีย์ ซึ่งจะทำให้คุณสามารถกำหนดว่าค่าที่รวบรวมได้นั้นคืออะไรเมื่อได้รับคู่ {key, aggregatable value} ในรายงานสรุป
คีย์จะมีมิติข้อมูลต่อไปนี้เมื่อมีเป้าหมายการวัดผลเหล่านี้
- หมวดหมู่ผลิตภัณฑ์
- ประเภทเป้าหมายการวัดผล
- รหัสภูมิศาสตร์
- รหัสแคมเปญ
เมื่อดูมิติข้อมูลแต่ละรายการแล้ว ลองสมมติว่ากรณีการใช้งานของคุณจำเป็นต้องติดตามข้อมูลต่อไปนี้
- 29 หมวดหมู่ผลิตภัณฑ์ต่างๆ
- ภูมิภาคทางภูมิศาสตร์ 8 แห่ง ได้แก่ อเมริกาเหนือ อเมริกากลาง อเมริกาใต้ ยุโรป แอฟริกา เอเชีย แคริบเบียน และโอเชียเนีย
- 16 แคมเปญที่แตกต่างกัน
ต่อไปนี้คือจำนวนบิตที่คุณจะต้องเข้ารหัสมิติข้อมูลแต่ละรายการในคีย์
- หมวดหมู่ผลิตภัณฑ์: 5 บิต (25 = 32 > 29)
- ประเภทเป้าหมายการวัด: 1 บิต เป้าหมายการวัดคือจํานวนการซื้อหรือมูลค่าการซื้อ ซึ่งจะหมายถึงความเป็นไปได้ 2 อย่าง ดังนั้น 1 บิตนั้นก็เพียงพอแล้วที่จะจัดเก็บไว้
รหัสภูมิศาสตร์: 3 บิต (23 = 8) นอกจากนี้ คุณยังต้องกำหนดการแมปมิติข้อมูลสำหรับรหัสภูมิศาสตร์เพื่อให้ทราบว่าค่าไบนารีแต่ละค่าแสดงถึงพื้นที่ทางภูมิศาสตร์ใด การแมปมิติข้อมูลสำหรับมิติข้อมูลรหัสภูมิศาสตร์อาจมีลักษณะดังนี้
ค่าไบนารีในคีย์ ภูมิศาสตร์ 000 อเมริกาเหนือ 001 อเมริกากลาง 010 อเมริกาใต้ 011 ยุโรป 100 แอฟริกา 101 เอเชีย 110 แคริบเบียน 111 โอเชียเนีย รหัสแคมเปญ: 4 บิต (24 = 16)
คีย์ตามโครงสร้างนี้จะยาว 13 บิต (5 + 1 + 3 + 4)
ในตัวอย่างนี้ แมปโครงสร้างคีย์สำหรับคีย์เหล่านี้จะมีลักษณะดังนี้
ลำดับของมิติข้อมูลในคีย์ขึ้นอยู่กับคุณ
ในการแสดงให้เห็นว่ามิติข้อมูลประกอบกันเป็นโครงสร้างหลักอย่างไร เราจะใช้การนำเสนอแบบไบนารี ซึ่งเป็นเหตุผลที่รหัสแคมเปญ (บิตแรก) จะอยู่ทางขวาสุด และหมวดหมู่ผลิตภัณฑ์ (บิตสุดท้าย) จะอยู่ซ้ายสุด
ในแต่ละมิติข้อมูล ไดรฟ์ที่สำคัญที่สุดซึ่งเป็นบิตที่มีค่าตัวเลขมากที่สุดคือบิตซ้ายสุด บิตที่มีความสำคัญน้อยที่สุด ซึ่งก็คือบิตทางขวาสุดที่ใช้ค่าตัวเลขน้อยที่สุด
มาดูกันว่าคุณจะใช้แผนที่โครงสร้างคีย์ในการถอดรหัสคีย์อย่างไร
ลองดู 0b1100100111100 เป็นคีย์ตัวอย่างที่กำหนดเอง และสมมติว่าคุณมีวิธีที่จะทราบว่าคีย์นี้เป็นไปตามแผนที่โครงสร้างคีย์ในภาพประกอบก่อนหน้า
ตามแผนที่โครงสร้างคีย์ คีย์นี้จะถอดรหัสเป็น 11001 0 011 1100
ดังนั้น คีย์ 0b1100100111100 แสดงจำนวนการซื้อหมวดหมู่ผลิตภัณฑ์ 25 สำหรับรหัสแคมเปญ 12 ที่เปิดตัวในยุโรป
การเข้ารหัสมิติข้อมูลโดยใช้ฟังก์ชันแฮช
คุณสามารถใช้ฟังก์ชันการแฮชเพื่อสร้างคีย์แบบไดนามิกด้วยวิธีที่สอดคล้องกันและเชื่อถือได้แทนการใช้แมปโครงสร้างคีย์
โดยมีวิธีการทำงานดังนี้
- เลือกอัลกอริทึมการแฮช
- เมื่อมีการแสดงโฆษณา ให้สร้างสตริงที่มีมิติข้อมูลทั้งหมดที่คุณต้องการติดตามและค่าของมิติข้อมูลเหล่านั้น ในการสร้างคีย์พีซด้านแหล่งที่มา ให้แฮชสตริงนี้และพิจารณาเพิ่มค่าต่อท้ายค่า 0 แบบ 64 บิตเพื่อปรับแนวเข้ากับคีย์พีซด้านทริกเกอร์และทำให้ XOR อธิบายเหตุผลได้ง่ายขึ้น
- ส่วนคีย์ฝั่งแหล่งที่มา
=<64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
- โปรดทราบว่า
COUNT
จะเข้ารหัสสิ่งเดียวกับmeasurementGoalType=0
ในแนวทางการทำงานของแผนที่โครงสร้างหลักCOUNT
จะดูเข้าใจง่ายกว่าและชัดเจนกว่าเล็กน้อย
- ส่วนคีย์ฝั่งแหล่งที่มา
- ในเวลาที่เกิด Conversion ให้สร้างสตริงที่มีมิติข้อมูลทั้งหมดที่คุณต้องการติดตามและค่าของมิติข้อมูลเหล่านั้น หากต้องการสร้างคีย์พีซด้านทริกเกอร์ ให้แฮชสตริงนี้และเพิ่มคำนำหน้า 64 บิตเป็นเลข 0 ดังนี้
- ส่วนคีย์ฝั่งทริกเกอร์
=
<64-bit 00000000…><64-bit hex hash("productCategory=25")>
- ส่วนคีย์ฝั่งทริกเกอร์
=
- เบราว์เซอร์ XOR จะใช้องค์ประกอบสำคัญเหล่านี้เพื่อสร้างคีย์
- คีย์การรวม 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"))
- ส่วนคีย์ฝั่งแหล่งที่มา
- เช่นเดียวกับเบราว์เซอร์ XOR ข้อมูลสำคัญเหล่านี้จะสร้างคีย์เดียวกันกับที่เบราว์เซอร์ได้สร้างขึ้นก่อนหน้านี้
- คีย์การรวม 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
จะเข้ารหัสข้อมูลที่มีแนวคิดแตกต่างจากมิติข้อมูลอื่นๆ ทั้งหมดเล็กน้อย - ติดตามชุดมิติข้อมูลที่คุณใช้ในคีย์ คุณต้องการหลีกเลี่ยงการสร้างคีย์ตามชุดมิติข้อมูลที่คุณไม่เคยใช้
- อาจเกิดการชนกันของแฮชไม่บ่อยนักหากใช้ฟังก์ชันแฮชที่เหมาะสม แต่การตรวจสอบแฮชที่ใช้ก่อนหน้านี้ (ซึ่งควรเก็บไว้เพื่อตีความผลลัพธ์จากบริการการรวม) จะหลีกเลี่ยงการนำคีย์ใหม่ที่มาชนกับคีย์เก่าได้
ดูวิธีใช้คีย์ตามแฮชในทางปฏิบัติใน 1 Conversion ต่อคลิกหรือดูตัวอย่าง
ค่าที่รวบรวมได้ในทางปฏิบัติ
บริษัทเทคโนโลยีโฆษณาตั้งค่าที่รวบรวมได้เมื่อผู้ใช้ทำ Conversion
การมีส่วนร่วมของผู้ใช้แต่ละคนจะมีขีดจำกัดสูงสุดเพื่อปกป้องความเป็นส่วนตัวของผู้ใช้ ในค่าที่รวบรวมได้ทั้งหมดซึ่งเชื่อมโยงกับแหล่งที่มาเดียว (การคลิกหรือการดูโฆษณา) จะไม่มีค่าใดสูงกว่าขีดจำกัดการมีส่วนร่วมที่กำหนด
เราจะเรียกขีดจำกัดนี้ว่า CONTRIBUTION_BUDGET
ในคำอธิบาย ขีดจำกัดนี้เรียกว่างบประมาณ L1 แต่เหมือนกับ CONTRIBUTION_BUDGET
หากต้องการพูดคุยอย่างละเอียดเกี่ยวกับงบประมาณการสนับสนุน โปรดดูงบประมาณการมีส่วนร่วมสำหรับรายงานสรุป
ตัวอย่าง: 1 Conversion ต่อคลิกหรือการดู
ในตัวอย่างนี้ ให้สมมติว่าคุณต้องการตอบคำถามต่อไปนี้
- ผลิตภัณฑ์หมวดหมู่ใดมีมูลค่ามากที่สุดในแต่ละภูมิภาค
- กลยุทธ์แคมเปญใดมีประสิทธิภาพมากที่สุดในแต่ละภูมิภาค
สมมติว่าคุณต้องการข้อมูลเชิงลึกรายสัปดาห์สำหรับ Use Case ของคุณ
คุณยังต้องติดตามสิ่งต่อไปนี้ด้วย
- 16 แคมเปญที่แตกต่างกัน
- ภูมิภาคทางภูมิศาสตร์ 8 แห่ง ได้แก่ อเมริกาเหนือ อเมริกากลาง อเมริกาใต้ ยุโรป แอฟริกา เอเชีย แคริบเบียน และโอเชียเนีย
- 29 หมวดหมู่ผลิตภัณฑ์ต่างๆ
สิ่งที่ควรวัด
แม้ว่าบริษัทเทคโนโลยีโฆษณาหลายแห่งแนะนำให้ผู้ลงโฆษณากําหนดค่า Conversion หลายประเภท แต่การมุ่งเน้นที่ Conversion ที่สำคัญที่สุด เช่น การซื้อ ก็เป็นวิธีที่ดีในการตรวจสอบว่าผลลัพธ์รวมมีรายละเอียดและถูกต้องสําหรับเหตุการณ์ Conversion สําคัญเหล่านี้ ยิ่งไปกว่านั้น ยิ่งวัดเมตริกมาก งบประมาณการมีส่วนร่วมต่อเมตริกก็จะยิ่งน้อยลง และแต่ละค่าก็จะยิ่งมีแนวโน้มน้อยลง คุณจึงต้องเลือกสิ่งที่ต้องการวัดอย่างรอบคอบ
ในตัวอย่างนี้ เราจะเน้นไปที่การตั้งค่าแคมเปญที่วัด Conversion เพียงรายการเดียวต่อคลิกหรือการดู นั่นก็คือการซื้อ
คุณจะยังคงวัดทั้งจำนวนการซื้อและมูลค่าการซื้อ และสามารถเข้าถึงสถิติรวมที่สำคัญต่างๆ เช่น มูลค่าการซื้อทั้งหมดและรายละเอียดทางภูมิศาสตร์ การทำแบบนี้ทำให้สัญญาณไม่สมเหตุสมผลและมอบแนวทางการปรับขนาดอย่างง่ายสำหรับงบประมาณการมีส่วนร่วมของคุณ
แล้วสกุลเงินล่ะ
การใช้งานแคมเปญในภูมิภาคที่ต่างกันหมายความว่าระบบควรพิจารณาสกุลเงินด้วย การดำเนินการที่คุณทำได้มีดังนี้
- กําหนดสกุลเงินเป็นมิติข้อมูลเฉพาะในคีย์การรวม
- หรืออนุมานสกุลเงินจากรหัสแคมเปญแล้วแปลงสกุลเงินทั้งหมดเป็นสกุลเงินอ้างอิง
ในตัวอย่างนี้ เราจะสมมติว่าคุณสามารถอนุมานสกุลเงินจากรหัสแคมเปญได้ ซึ่งช่วยให้คุณแปลงมูลค่าการซื้อที่ระบุจากสกุลเงินท้องถิ่นของผู้ใช้เป็นสกุลเงินอ้างอิงที่คุณเลือก นอกจากนี้คุณยังทำ Conversion ดังกล่าวได้ทันทีเมื่อผู้ใช้ซื้อสินค้า
เมื่อใช้เทคนิคนี้ มูลค่าที่รวบรวมได้ทั้งหมดจะเป็นสกุลเงินอ้างอิงเดียวกัน ดังนั้นจึงสามารถนำไปบวกเพื่อสร้างมูลค่าการซื้อโดยรวมได้ ซึ่งก็คือมูลค่าการซื้อโดยสรุป
แปลงเป้าหมายเป็นกุญแจ
เมื่อมีเป้าหมายการวัดผลและเมตริก คุณจะมีตัวเลือกมากมายสำหรับกลยุทธ์หลัก เราจะมาดูกลยุทธ์ 2 อย่างต่อไปนี้
- กลยุทธ์ ก: โครงสร้างคีย์แบบละเอียด 1 โครงสร้าง
- กลยุทธ์ ข: โครงสร้างคีย์คร่าวๆ 2 แบบ
กลยุทธ์ ก: Deep Tree 1 ต้น (โครงสร้างคีย์แบบละเอียด 1 โครงสร้าง)
ในกลยุทธ์ A คุณจะใช้โครงสร้างคีย์แบบละเอียดเดียว ซึ่งมีมิติข้อมูลทั้งหมดที่ต้องการ ดังนี้
คีย์ทั้งหมดของคุณจะใช้โครงสร้างนี้
คุณแบ่งโครงสร้างคีย์นี้เป็น 2 ประเภทหลักเพื่อรองรับเป้าหมายการวัดผล 2 เป้าหมาย
- ประเภทคีย์ 0: ประเภทเป้าหมายการวัดผล = 0 ซึ่งคุณเลือกกําหนดเป็นจํานวนการซื้อ
- ประเภทคีย์ที่ 1: ประเภทเป้าหมายการวัดผล = 1 ซึ่งคุณเลือกกําหนดเป็นมูลค่าการซื้อ
รายงานสรุปจะมีลักษณะดังนี้
คุณอาจมองว่ากลยุทธ์ ก เป็นกลยุทธ์ "ต้นไม้เดียว" ก็ได้
- ค่าสรุปแต่ละค่าในรายงานสรุปจะเชื่อมโยงกับมิติข้อมูลทั้งหมดที่คุณกำลังติดตาม
- คุณสามารถรวมค่าสรุปเหล่านี้ควบคู่กับมิติข้อมูลแต่ละรายการ เพื่อให้รายงานสรุปเหล่านี้เจาะลึกได้เท่ากับจำนวนมิติข้อมูลที่คุณมี
ด้วยกลยุทธ์ ก คุณจะตอบคำถามได้ดังนี้
คำถาม | คำตอบ |
---|---|
ผลิตภัณฑ์หมวดหมู่ใดมีมูลค่ามากที่สุดในแต่ละภูมิภาค | หาผลรวมของจำนวนและมูลค่าการซื้อที่อยู่ในรายงานสรุปของทุกแคมเปญ ข้อมูลนี้จะแสดงจํานวนการซื้อและมูลค่าต่อรหัสภูมิศาสตร์ × หมวดหมู่ผลิตภัณฑ์ ให้เปรียบเทียบมูลค่าการซื้อและจำนวนหมวดหมู่ผลิตภัณฑ์ต่างๆ สำหรับแต่ละภูมิภาค |
กลยุทธ์แคมเปญใดมีประสิทธิภาพมากที่สุดในแต่ละภูมิภาค | หาผลรวมของจำนวนและมูลค่าการซื้อโดยสรุปที่อยู่ในรายงานสรุปของหมวดหมู่ผลิตภัณฑ์ทั้งหมด ข้อมูลนี้จะแสดงจํานวนการซื้อและมูลค่าต่อรหัสแคมเปญ × รหัสภูมิศาสตร์ ให้เปรียบเทียบมูลค่าการซื้อและจำนวนแคมเปญต่างๆ ในแต่ละภูมิภาค |
ด้วยกลยุทธ์ ก คุณจะสามารถตอบคำถามที่ 3 นี้ได้โดยตรง
"แต่ละแคมเปญของฉันในแต่ละภูมิภาค สร้างรายได้เท่าใดสำหรับแต่ละผลิตภัณฑ์"
แม้ว่าค่าสรุปอาจไม่มาก แต่คุณก็สามารถระบุได้ว่าความแตกต่างของค่าที่วัดได้ระหว่างแต่ละแคมเปญไม่ได้เกิดจากค่าสัญญาณรบกวนเพียงอย่างเดียว ซึ่งทำได้ในทำความเข้าใจสัญญาณรบกวน
กลยุทธ์ ข: ต้นไม้ตื้น 2 ต้น (โครงสร้างหลักหยาบ 2 แบบ)
ในกลยุทธ์ ข คุณจะใช้โครงสร้างคีย์คร่าวๆ 2 โครงสร้าง โดยแต่ละโครงสร้างมีมิติข้อมูลบางส่วนที่ต้องการ ดังนี้
คุณแบ่งโครงสร้างคีย์แต่ละแบบออกเป็น 2 ประเภทหลักเพื่อรองรับเป้าหมายการวัดผล 2 เป้าหมาย
- ประเภทเป้าหมายการวัด = 0 ซึ่งคุณเลือกกําหนดเป็นจํานวนการซื้อ
- ประเภทเป้าหมายการวัด = 1 ซึ่งคุณเลือกกําหนดเป็นมูลค่าการซื้อ
แล้วคุณก็จะมี 4 ประเภทหลักดังนี้
- ประเภทคีย์ I-0: โครงสร้างหลัก I จำนวนการซื้อ
- ประเภทคีย์ I-1: โครงสร้างคีย์ I, มูลค่าการซื้อ
- ประเภทคีย์ II-0: โครงสร้างหลัก II, จำนวนการซื้อ
- ประเภทคีย์ II-1: โครงสร้างคีย์ II, มูลค่าการซื้อ
รายงานสรุปจะมีลักษณะดังนี้
ให้มองว่ากลยุทธ์ ข เป็นกลยุทธ์ "ต้นไม้ตื้น 2 ต้น" ดังนี้
- ค่าสรุปในรายงานสรุปจะแมปกับมิติข้อมูลเล็กๆ 1 จาก 2 ชุด
- คุณรวมค่าสรุปเหล่านี้ควบคู่ไปกับมิติข้อมูลแต่ละรายการในชุดเหล่านี้ได้ ซึ่งหมายความว่าภาพรวมเหล่านี้จะไม่ลึกเท่าตัวเลือก A เนื่องจากมีมิติข้อมูลที่จะควบรวมน้อยกว่า
ด้วยกลยุทธ์ ข คุณจะต้องตอบคำถามของคุณดังนี้
คำถาม | คำตอบ |
---|---|
ผลิตภัณฑ์หมวดหมู่ใดมีมูลค่ามากที่สุดในแต่ละภูมิภาค | เข้าถึงสรุปการซื้อและค่าที่อยู่ในรายงานสรุปได้โดยตรง |
กลยุทธ์แคมเปญใดมีประสิทธิภาพมากที่สุดในแต่ละภูมิภาค | เข้าถึงสรุปการซื้อและค่าที่อยู่ในรายงานสรุปได้โดยตรง |
การตัดสินใจ: กลยุทธ์ ก
กลยุทธ์ ก นั้นเรียบง่ายขึ้น ข้อมูลทั้งหมดเป็นไปตามโครงสร้างคีย์เดียวกัน ซึ่งหมายความว่าคุณมีโครงสร้างหลักเพียงโครงสร้างเดียวที่ต้องดูแลรักษาด้วย
แต่เมื่อใช้กลยุทธ์ A คุณจะต้องสรุปค่าสรุปที่ได้รับในรายงานสรุปเพื่อตอบคำถามบางข้อ ค่าสรุปแต่ละค่าเหล่านี้ ฟังดูน่ารำคาญ การสรุปข้อมูลดังกล่าวจะเป็นการ สรุปข้อมูลรบกวนนี้ด้วย
นี่ไม่ใช่กลยุทธ์ ข ที่ค่าสรุปที่แสดงในรายงานสรุปให้ข้อมูลที่คุณต้องการอยู่แล้ว ซึ่งหมายความว่ากลยุทธ์ B น่าจะทำให้ได้ผลลัพธ์น้อยกว่ากลยุทธ์ A
คุณควรตัดสินใจอย่างไรว่าควรใช้กลยุทธ์ใด สำหรับผู้ลงโฆษณาหรือแคมเปญที่มีอยู่แล้ว คุณอาจใช้ข้อมูลย้อนหลังเพื่อระบุว่าปริมาณ Conversion เหมาะกับกลยุทธ์ A หรือกลยุทธ์ B มากกว่า อย่างไรก็ตาม สำหรับผู้ลงโฆษณาหรือแคมเปญใหม่ คุณอาจตัดสินใจ:
- เก็บรวบรวมข้อมูลใน 1 เดือนด้วยคีย์แบบละเอียด (กลยุทธ์ A) เนื่องจากคุณกำลังขยายระยะเวลาเก็บรวบรวมข้อมูล ค่าสรุปจะสูงขึ้นและสัญญาณรบกวนจะค่อนข้างต่ำ
- ประเมินจำนวน Conversion และมูลค่าการซื้อรายสัปดาห์อย่างสมเหตุสมผล
ในตัวอย่างนี้ สมมติว่าจำนวนการซื้อและมูลค่าการซื้อรายสัปดาห์สูงพอที่กลยุทธ์ A จะทำให้เกิดเปอร์เซ็นต์ความผันผวนที่คุณเห็นว่ายอมรับได้สำหรับกรณีการใช้งานของคุณ
เนื่องจากกลยุทธ์ ก นั้นง่ายกว่าและนำไปสู่ผลกระทบที่ไม่น่าสนใจซึ่งไม่ส่งผลต่อความสามารถในการตัดสินใจ คุณจึงตัดสินใจใช้กลยุทธ์ ก
เลือกอัลกอริทึมการแฮช
คุณตัดสินใจใช้แนวทางที่อิงตามแฮชในการสร้างคีย์ โดยเลือกอัลกอริทึมการแฮชเพื่อรองรับแนวทางดังกล่าว
สมมติว่าคุณเลือก SHA-256 คุณอาจใช้อัลกอริทึมที่ง่ายและปลอดภัยน้อยกว่า เช่น MD5 ก็ได้
ในเบราว์เซอร์: ตั้งค่าคีย์และค่า
เมื่อได้เลือกโครงสร้างคีย์และอัลกอริทึมการแฮชแล้ว คุณก็พร้อมที่จะลงทะเบียนคีย์และค่าเมื่อผู้ใช้คลิกหรือดูโฆษณาแล้วทำ Conversion ในภายหลัง
ถัดไปเป็นภาพรวมของส่วนหัวที่คุณจะตั้งค่าเพื่อลงทะเบียนคีย์และค่าในเบราว์เซอร์
กำหนดข้อมูลสำคัญฝั่งแหล่งที่มา
เมื่อผู้ใช้คลิกหรือดูโฆษณา ให้ตั้งค่าคีย์การรวมในส่วนหัว Attribution-Reporting-Register-Aggregatable-Source
ในขั้นตอนนี้ สำหรับแต่ละคีย์ คุณจะตั้งค่าได้เฉพาะส่วนของคีย์หรือส่วนคีย์ที่จะทราบขณะแสดงโฆษณา
มาดูข้อมูลสำคัญกัน
ส่วนคีย์แหล่งที่มาสำหรับรหัสคีย์... | สตริงที่มีค่ามิติข้อมูลที่คุณต้องการตั้งค่า | แฮชของสตริงนี้เป็นเลขฐานสิบหก ซึ่งตัดเป็น 64 บิตแรก (64/4 = 16 อักขระ1) | แฮชเลขฐานสิบหกที่มีเลข 0 ต่อท้ายเพื่อทำให้ XOR-ing ง่ายขึ้น โดยส่วนนี้คือคีย์พีซด้านแหล่งที่มา |
---|---|---|---|
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"
}
])
);
โปรดทราบว่ารหัสคีย์จะไม่ปรากฏในรายงานสุดท้าย โดยจะใช้เมื่อตั้งค่าคีย์ในเบราว์เซอร์เท่านั้น เพื่อให้แมปคีย์ฝั่งแหล่งที่มาและฝั่งทริกเกอร์เข้าด้วยกันและรวมกันเป็นคีย์แบบเต็มได้
ไม่บังคับ: รายงานระดับเหตุการณ์
หากจำเป็นต้องใช้รายงานระดับเหตุการณ์ควบคู่ไปกับรายงานที่รวบรวมได้ ให้จับคู่ข้อมูลระดับเหตุการณ์ (รหัสเหตุการณ์แหล่งที่มาและข้อมูลทริกเกอร์) และคีย์การรวมได้สำหรับแหล่งที่มาหนึ่งๆ
คุณอาจใช้รายงานทั้ง 2 ประเภทได้ เช่น หากคุณวางแผนที่จะใช้รายงานระดับเหตุการณ์เพื่อเรียกใช้รูปแบบของประเภทโฆษณาที่มีแนวโน้มจะทำให้เกิดการซื้อมากที่สุด
ผู้ใช้ทำ Conversion
เมื่อผู้ใช้ทำ Conversion ระบบมักจะส่งคำขอพิกเซลไปยังเซิร์ฟเวอร์เทคโนโลยีโฆษณา เมื่อได้รับคำขอนี้:
- ตั้งค่าคีย์ส่วนสำคัญด้าน Conversion (ฝั่งทริกเกอร์) เพื่อดำเนินการคีย์ให้เสร็จสมบูรณ์
คุณจะตั้งค่าข้อมูลสำคัญเหล่านี้ผ่านส่วนหัว
Attribution-Reporting-Register-Aggregatable-Trigger-Data
- กำหนดมูลค่าที่รวบรวมได้สำหรับ Conversion นั้นผ่านส่วนหัว
Attribution-Reporting-Register-Aggregatable-Values
ตั้งค่าคีย์-คีย์ฝั่งทริกเกอร์เพื่อใส่คีย์ให้สมบูรณ์
มาดูข้อมูลสำคัญกัน
ส่วนคีย์ฝั่งทริกเกอร์สำหรับรหัสคีย์... | สตริงที่มีค่ามิติข้อมูลที่คุณต้องการตั้งค่า | แฮชของสตริงนี้เป็นเลขฐานสิบหก ซึ่งตัดเป็น 64 บิตแรก (64/4 = 16 อักขระ1) | แฮชเลขฐานสิบหกที่มีเลขศูนย์ต่อท้ายเพื่อsimplify XOR-ing นี่คือส่วนสำคัญด้านแหล่งที่มา |
---|---|---|---|
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
ระบบจะเพิ่มคีย์ชิ้นเดียวกันลงในทั้ง 2 คีย์
กำหนดค่าที่รวมได้
ก่อนที่จะกำหนดค่าที่รวมได้ คุณต้องปรับขนาดค่าเหล่านั้นเพื่อลดเสียงรบกวน
สมมติว่าเป็นการซื้อ 1 ครั้งสำหรับผลิตภัณฑ์ประเภทผลิตภัณฑ์ 25 ในราคา 1,520 บาท
จะไม่ตั้งค่าเหล่านี้เป็นค่าที่รวบรวมได้โดยตรง
key_purchaseCount
: Conversion 1 รายการkey_purchaseValue
: 1,520 บาท
แต่ก่อนที่จะบันทึกค่าที่รวบรวมได้เหล่านี้ คุณจะต้องปรับขนาดค่าเหล่านั้นเพื่อลดเสียงรบกวนให้เหลือน้อยที่สุด
คุณมีเป้าหมาย 2 ประการที่จะใช้งบประมาณการสนับสนุน คุณจึงอาจตัดสินใจแบ่งงบประมาณการสนับสนุนออกเป็น 2 ส่วน
ในกรณีนี้ ระบบจะจัดสรรแต่ละเป้าหมายสูงสุด CONTRIBUTION_BUDGET/2
(=65,536/2=32,768)
สมมติว่ามูลค่าการซื้อสูงสุดสำหรับผู้ใช้ 1 ราย จากประวัติการซื้อของผู้ใช้ทั้งหมดในเว็บไซต์คือ 45,000 บาท อาจมีการผิดเพี้ยนไป เช่น มีผู้ใช้จำนวนน้อยมากที่ใช้เงินรวมดังกล่าว แต่คุณอาจตัดสินใจที่จะไม่สนใจค่าผิดปกติเหล่านี้
ปัจจัยการปรับสเกลสำหรับมูลค่าการซื้อควรเป็นดังนี้
((CONTRIBUTION_BUDGET
/2) / 1,500) = 32,768/1,500 = 21.8 ≈ 22
ปัจจัยการปรับขนาดสําหรับจํานวนการซื้อคือ 32,768/1 = 32,768 เนื่องจากคุณตัดสินใจที่จะติดตามการซื้อไม่เกิน 1 รายการต่อการคลิกหรือการดูโฆษณา (เหตุการณ์แหล่งที่มา)
ตอนนี้คุณจะกำหนดค่าต่อไปนี้ได้
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,
})
);
ระบบจะสร้างรายงานที่รวบรวมได้
เบราว์เซอร์จะจับคู่ Conversion กับมุมมองหรือการคลิกก่อนหน้า แล้วสร้างรายงานที่รวบรวมข้อมูลได้ ซึ่งมีเพย์โหลดที่เข้ารหัสข้างข้อมูลเมตาของรายงาน
ต่อไปนี้คือตัวอย่างข้อมูลที่อาจพบภายในเพย์โหลดของรายงานที่รวบรวมได้ หากอ่านได้ในรูปแบบข้อความที่ไม่ได้เข้ารหัส
[
{
key: 0x3cf867903fbb73ecf9e491fe37e55a0c, // = source-side key piece XOR 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 XOR conversion-side key piece for the key key_purchaseValue
value: 1144 // the scaled value for $52, in the context of [CONTRIBUTION_BUDGET/2]
},
]
ในหน้านี้ คุณจะเห็นการมีส่วนร่วม 2 รายการแยกกันภายในรายงานที่รวบรวมได้รายงานเดียว
ขอรายงานสรุป
- รายงานที่รวบรวมได้เป็นกลุ่ม ทำตามคำแนะนำในการรวมกลุ่ม
- สร้างคีย์ที่ต้องการดูข้อมูล ตัวอย่างเช่น หากต้องการดูข้อมูลสรุปสำหรับ
COUNT
(จำนวนการซื้อทั้งหมด) และVALUE
(มูลค่าการซื้อทั้งหมด) สำหรับรหัสแคมเปญ 12 × รหัสภูมิศาสตร์ 7 × หมวดหมู่ผลิตภัณฑ์ 25 ให้ทำดังนี้- สร้างชุดคีย์ฝั่งแหล่งที่มาเช่นเดียวกับที่คุณทำเมื่อตั้งค่าในเบราว์เซอร์
- สร้างคีย์ด้านทริกเกอร์ เช่นเดียวกับที่คุณทำเมื่อตั้งค่าในเบราว์เซอร์
เมตริกที่คุณต้องการขอ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
ในไบนารี ที่เก็บข้อมูลที่ 2 คือคีย์ 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
รายงานสรุปจะแสดงข้อมูลเชิงลึกต่อไปนี้
- ภายในระยะเวลาการรายงาน แคมเปญ #12 ที่แสดงในยุโรปกระตุ้นการซื้อประมาณ 156 ครั้ง (± ความผันผวน) สำหรับหมวดหมู่ผลิตภัณฑ์ #25
- ภายในระยะเวลาของการรายงาน แคมเปญ #12 ดำเนินการในยุโรปกระตุ้นการซื้อ $31,230 (± Noise) สำหรับหมวดหมู่ผลิตภัณฑ์ #25