คีย์การรวมคืออะไร มีการใช้คีย์นี้ใน Attribution Reporting API อย่างไร และวิธีแปลงเป้าหมายเป็นคีย์
ในฐานะบริษัทเทคโนโลยีโฆษณาที่ลงแคมเปญในหลายหมวดหมู่ผลิตภัณฑ์ คุณจึงอยากช่วยผู้ลงโฆษณาตอบคำถามต่อไปนี้
- แต่ละแคมเปญของฉันในแต่ละพื้นที่ทางภูมิศาสตร์ทำให้เกิดการซื้อผลิตภัณฑ์แต่ละหมวดหมู่กี่ครั้ง
- แต่ละแคมเปญของฉันในแต่ละพื้นที่ทางภูมิศาสตร์สร้างรายได้สำหรับผลิตภัณฑ์แต่ละหมวดหมู่มากน้อยเพียงใด
แม้ว่าบริษัทเทคโนโลยีโฆษณาจำนวนมากจะส่งเสริมให้ผู้ลงโฆษณากําหนดค่า Conversion ประเภทต่างๆ แต่การมุ่งเน้นที่ Conversion ที่สําคัญที่สุด เช่น การซื้อ ก็เป็นวิธีที่ดีในการรับประกันว่าผลสรุปจะมีรายละเอียดและถูกต้องสําหรับเหตุการณ์สําคัญเหล่านี้
ในการทำเช่นนั้น คุณจะต้องคิดคำถามที่ต้องการตอบก่อนที่จะเก็บรวบรวมข้อมูล
มิติข้อมูล คีย์ และค่า
มาดูมิติข้อมูล คีย์ และค่าต่างๆ เพื่อตอบคำถามเหล่านี้กัน
ขนาด
เพื่อให้เข้าใจวิธีที่แคมเปญของคุณสร้างรายได้ ดังที่ได้อธิบายไว้ที่นี่ คุณจะต้องติดตามมิติข้อมูลต่อไปนี้
- รหัสแคมเปญโฆษณา: ตัวระบุสำหรับแคมเปญที่เฉพาะเจาะจง
- รหัสภูมิศาสตร์: พื้นที่ทางภูมิศาสตร์ที่โฆษณาแสดง
- หมวดหมู่ผลิตภัณฑ์: ประเภทผลิตภัณฑ์ตามที่คุณกำหนดไว้
แม้ว่าระบบจะทราบมิติข้อมูลรหัสแคมเปญและรหัสภูมิศาสตร์เมื่อโฆษณาแสดงขึ้น (เวลาแสดงโฆษณา) แต่จะทราบหมวดหมู่ผลิตภัณฑ์จากเหตุการณ์ทริกเกอร์เมื่อผู้ใช้ทํา Conversion เสร็จสมบูรณ์ (เวลาที่เกิด Conversion)
มิติข้อมูลที่คุณต้องการติดตามสำหรับตัวอย่างนี้ดังที่ปรากฏในรูปภาพต่อไปนี้
คีย์การรวม (ที่เก็บข้อมูล) คืออะไร
คีย์และที่เก็บข้อมูลคำศัพท์อ้างอิงถึงสิ่งเดียวกัน คีย์การรวมจะใช้ใน API ของเบราว์เซอร์ที่ใช้กำหนดค่ารายงาน คำว่าที่เก็บข้อมูลจะใช้ในรายงานสรุปรวมและรายงานสรุป รวมถึงใน API บริการการรวม
คีย์การรวม (คีย์สรุป) คือข้อมูลที่แสดงค่าของมิติข้อมูลที่กำลังติดตาม หลังจากนั้น ระบบจะรวบรวมข้อมูลตามคีย์การรวมแต่ละรายการ
ตัวอย่างเช่น สมมติว่าคุณกำลังติดตามมิติข้อมูลหมวดหมู่ผลิตภัณฑ์ รหัสภูมิศาสตร์ และรหัสแคมเปญ
เมื่อผู้ใช้ที่อยู่ในรหัสภูมิศาสตร์ 7 เห็นโฆษณาสำหรับรหัสแคมเปญ 12 แล้วทำ Conversion ในภายหลังโดยการซื้อผลิตภัณฑ์ในหมวดหมู่ผลิตภัณฑ์ 25 คุณอาจตั้งค่าคีย์การรวมที่มีลักษณะเหมือนคีย์ในภาพต่อไปนี้
คุณจะเห็นในภายหลังว่าคีย์การรวมจะไม่มีลักษณะแบบนี้ทุกประการ แต่คราวนี้เราจะไปดูกันที่ข้อมูลที่อยู่ในคีย์
ค่ารวมได้คืออะไร
เพื่อที่จะตอบคำถามของคุณเกี่ยวกับมิติข้อมูลที่เราร่างไว้ คุณต้องทราบข้อมูลต่อไปนี้
- จํานวนการซื้อ (จํานวนการซื้อ) เมื่อรวบรวมและแสดงไว้ในรายงานสรุปแล้ว นี่จะเป็นยอดรวมการซื้อทั้งหมด (มูลค่าสรุป)
- รายได้จากการซื้อแต่ละครั้ง (มูลค่าการซื้อ) เมื่อรวบรวมและแสดงไว้ในรายงานสรุปแล้ว นี่จะเป็นรายได้ทั้งหมด (ค่าสรุป)
แต่ละรายการ ทั้งจำนวนการซื้อสำหรับ 1 Conversion และมูลค่าการซื้อสำหรับ 1 Conversion เป็นมูลค่าแบบรวมได้ คุณสามารถคิดว่าค่ารวมได้เป็นค่าของเป้าหมายการวัดผล
คำถาม | ค่ารวมได้ = เป้าหมายการวัด |
---|---|
จำนวนการซื้อ... | จำนวนการซื้อ |
รายได้เท่าใด... | มูลค่าการซื้อ |
เมื่อผู้ใช้ที่อยู่ในรหัสภูมิศาสตร์ 7 เห็นโฆษณาสำหรับรหัสแคมเปญ 12 แล้วทำ Conversion ในภายหลังโดยการซื้อผลิตภัณฑ์หมวดหมู่ผลิตภัณฑ์ 25 ในราคา 3,600 บาท (ในกรณีที่สกุลเงินของคุณคือ USD) คุณอาจตั้งค่าคีย์การรวมและค่ารวมที่มีลักษณะดังนี้
ระบบจะรวมค่าที่รวบรวมได้ตามคีย์จากผู้ใช้จำนวนมากเพื่อสร้างข้อมูลเชิงลึกแบบรวมในรูปแบบของค่าสรุปในรายงานสรุป
ระบบจะสรุปค่าที่รวบรวมได้เพื่อสร้างข้อมูลเชิงลึกแบบรวมสําหรับเป้าหมายการวัดผล
โปรดทราบว่าแผนภาพนี้ไม่มีการถอดรหัสและแสดงตัวอย่างง่ายๆ ที่ไม่มีการใช้สัญญาณรบกวน ในส่วนถัดไป เราจะสรุปตัวอย่างนี้ด้วยเสียง
จากคีย์และค่าไปจนถึงรายงาน
ตอนนี้เราจะมาดูกันว่าคีย์และค่าที่รวบรวมได้เกี่ยวข้องกับรายงานอย่างไร
รายงานที่รวบรวมได้
เมื่อผู้ใช้คลิกหรือดูโฆษณา แล้วทำ Conversion ในภายหลัง คุณจะสั่งให้เบราว์เซอร์จัดเก็บคู่ {aggregation key, aggregatable value}
การร่วมให้ข้อมูลในฮิสโตแกรมในตัวอย่างของเรา เมื่อผู้ใช้คลิกหรือดูโฆษณา แล้วทำ Conversion ในภายหลัง คุณจะสั่งให้เบราว์เซอร์สร้างการมีส่วนร่วม 2 รายการ (1 รายการต่อเป้าหมายการวัด)
คุณจะเห็นในภายหลังว่ารายงานรวม {aggregation key, aggregatable value} ไม่ได้มีลักษณะแบบนี้ แต่คราวนี้เราจะไปดูข้อมูลที่อยู่ในรายงานกัน
เมื่อคุณสั่งให้เบราว์เซอร์สร้างการมีส่วนร่วม 2 รายการ เบราว์เซอร์จะสร้างรายงานแบบรวมได้ (หากจับคู่ Conversion กับการดูหรือคลิกก่อนหน้าได้)
รายงานแบบรวมได้ประกอบด้วย
- การมีส่วนร่วมที่คุณกำหนดค่าไว้
- ข้อมูลเมตาเกี่ยวกับเหตุการณ์การคลิกหรือการดูและเหตุการณ์ Conversion เช่น เว็บไซต์ที่เกิด Conversion และอื่นๆ ดูช่องทั้งหมดในรายงานที่รวบรวมได้
รายงานที่รวบรวมได้จะอยู่ในรูปแบบ JSON และประกอบด้วยช่องเพย์โหลดที่จะใช้เป็นอินพุตข้อมูลสำหรับรายงานสรุปขั้นสุดท้าย
เพย์โหลดมีรายการการมีส่วนร่วม โดยแต่ละรายการเป็นคู่ {aggregation key, aggregatable value} ดังนี้
- ที่เก็บข้อมูล: คีย์การรวมที่เข้ารหัสเป็นไบต์สตริง
- value: ค่ารวมสำหรับเป้าหมายการวัดดังกล่าว โดยเข้ารหัสเป็นไบต์สตริง
ตัวอย่าง
{
"data": [
{
"bucket": "111001001",
"value": "11111010000",
}
],
"operation": "histogram"
}
ในทางปฏิบัติ รายงานรวมได้จะมีการเข้ารหัสในลักษณะที่จะทำให้ที่เก็บข้อมูลและค่าดูแตกต่างจากในตัวอย่างก่อนหน้านี้ (ที่เก็บข้อมูลอาจมีลักษณะดังนี้ \u0000\u0000\x80\u0000
) ที่เก็บข้อมูลและ ค่า เป็นไบต์สตริงทั้งคู่
รายงานสรุป
รายงานที่รวบรวมได้มาจากเบราว์เซอร์และอุปกรณ์ต่างๆ (ผู้ใช้) ดังนี้
- รายงานสรุปคําขอเทคโนโลยีโฆษณาสำหรับชุดคีย์หนึ่งๆ และชุดรายงานที่รวบรวมได้ซึ่งมาจากเบราว์เซอร์ (ผู้ใช้) ที่แตกต่างกัน
- บริการรวบรวมข้อมูลจะถอดรหัสรายงานที่รวบรวมได้
- สำหรับแต่ละคีย์ ระบบจะรวมค่าผลรวมจากรายงานที่รวบรวมได้
- ระบบจะเพิ่มสัญญาณรบกวนลงในค่าสรุป
ผลลัพธ์ที่ได้คือรายงานสรุปที่มีชุดคู่ {aggregation key, summary value}
รายงานสรุปประกอบด้วยชุดคู่คีย์-ค่าในรูปแบบพจนานุกรม JSON แต่ละคู่จะมีข้อมูลต่อไปนี้
- ที่เก็บข้อมูล: คีย์การรวมที่เข้ารหัสเป็นไบต์สตริง
- value: ค่าสรุปที่เป็นทศนิยมสำหรับเป้าหมายการวัดที่ระบุ สรุปจากรายงานที่รวบรวมได้ทั้งหมดพร้อมด้วยระดับสัญญาณรบกวนที่เพิ่มขึ้น
ตัวอย่าง
[
{"bucket": "111001001", "value": "2558500"},
{"bucket": "111101001", "value": "3256211"},
{...}
]
ในทางปฏิบัติ รายงานสรุปจะมีการเข้ารหัสในลักษณะที่จะทำให้ที่เก็บข้อมูลและค่าดูแตกต่างจากที่ระบุไว้ในตัวอย่าง (กล่าวคือ ที่เก็บข้อมูลอาจมีลักษณะดังนี้ \u0000\u0000\x80\u0000
) ที่เก็บข้อมูลและ ค่า เป็นไบต์สตริงทั้งคู่
คีย์การรวมในทางปฏิบัติ
คีย์การรวม (ที่เก็บข้อมูล) จะกำหนดโดยบริษัทเทคโนโลยีโฆษณาซึ่งมักทำใน 2 ขั้นตอน ได้แก่ เมื่อมีการคลิกหรือดูโฆษณาและเมื่อผู้ใช้ทำ Conversion
โครงสร้างหลัก
เราจะใช้คำว่าโครงสร้างคีย์ในการกำหนดชุดมิติข้อมูลที่เข้ารหัสเป็นคีย์
เช่น รหัสแคมเปญ x GeoID x หมวดหมู่ผลิตภัณฑ์ เป็นโครงสร้างที่สำคัญ
ประเภทคีย์
ระบบจะรวมค่าที่รวบรวมได้สำหรับคีย์หนึ่งๆ จากผู้ใช้/เบราว์เซอร์หลายรายการ แต่เราพบว่าค่ารวมสามารถติดตามเป้าหมายการวัดผลที่แตกต่างกันได้ เช่น มูลค่าการซื้อหรือการซื้อ คุณต้องการตรวจสอบว่าบริการการรวมจะรวมค่าต่างๆ ที่รวมข้อมูลได้ของประเภทเดียวกัน
โดยจะเข้ารหัสชิ้นข้อมูลที่บอกว่าค่าสรุปหมายถึงอะไรภายในแต่ละคีย์ ซึ่งเป็นเป้าหมายการวัดที่คีย์นี้หมายถึง วิธีหนึ่งที่สามารถทำได้คือการสร้างมิติข้อมูลเพิ่มเติมสำหรับคีย์ที่แสดงถึงประเภทเป้าหมายการวัดผล
จากตัวอย่างก่อนหน้านี้ ประเภทเป้าหมายการวัดผลนี้จะมีค่าที่เป็นไปได้ 2 ค่าที่แตกต่างกัน
- จํานวนการซื้อคือเป้าหมายการวัดผลประเภทแรก
- มูลค่าการซื้อเป็นเป้าหมายการวัดผลประเภทที่ 2
หากคุณมีเป้าหมายการวัด n ประเภท ประเภทเป้าหมายการวัดผลจะมีค่าต่างประเภท n ค่า
คุณสามารถคิดว่ามิติข้อมูลของคีย์เป็นเมตริกได้ เช่น "จํานวนการซื้อผลิตภัณฑ์บางรายการต่อแคมเปญต่อพื้นที่ทางภูมิศาสตร์"
ขนาดคีย์ ขนาดมิติข้อมูล
ขนาดสูงสุดของคีย์จะกำหนดเป็นบิต ซึ่งเป็นจำนวน 0 และ 1 ในไบนารีเพื่อสร้างคีย์แบบเต็ม API อนุญาตให้มีความยาวคีย์ 128 บิต
ขนาดนี้รองรับคีย์ที่เล็กมาก แต่คีย์ที่ละเอียดยิ่งขึ้นมีแนวโน้มที่จะทำให้ค่ามีเสียงดังกว่า อ่านเพิ่มเติมเกี่ยวกับสัญญาณรบกวนได้ในทําความเข้าใจสัญญาณรบกวน
ตามที่ได้แนะนำไว้ก่อนหน้านี้ มิติข้อมูลจะได้รับการเข้ารหัสไว้ในคีย์การรวม มิติข้อมูลแต่ละรายการมี Cardinality ที่เฉพาะเจาะจง ซึ่งก็คือจํานวนค่าที่แตกต่างกันที่มิติข้อมูลอาจใช้ได้ แต่ละมิติข้อมูลจะต้องแสดงด้วยจำนวนบิตที่กำหนด ทั้งนี้ขึ้นอยู่กับ Cardinality ของมิติข้อมูลนั้น คุณใช้ n บิตเพื่อแสดงตัวเลือกที่แตกต่างกันในรูปแบบ 2n ได้
เช่น มิติข้อมูลประเทศอาจมีจํานวนสมาชิกในเซ็ตเป็น 200 เนื่องจากมีประเทศประมาณ 200 ประเทศทั่วโลก ต้องใช้กี่บิตในการเข้ารหัสมิติข้อมูลนี้
7 บิตจะเก็บเฉพาะ 27 =128 ตัวเลือกที่ไม่ซ้ำกัน ซึ่งน้อยกว่า 200 ที่จำเป็น
8 บิตจะเก็บตัวเลือก 28 =256 แยกกันซึ่งเกินกว่า 200 ที่จำเป็น คุณจึงใช้ n=8 บิตในการเข้ารหัสมิติข้อมูลนี้ได้
การเข้ารหัสคีย์
เมื่อตั้งค่าคีย์ในเบราว์เซอร์ คีย์ควรเข้ารหัสเป็นเลขฐานสิบหก ในรายงานสรุป คีย์จะปรากฏในไบนารี (และเป็นชื่อที่เก็บข้อมูล)
ตั้งค่าคีย์ 2 ส่วนสำหรับคีย์แบบเต็ม
สมมติว่าคุณใช้คีย์เพื่อติดตามมิติข้อมูลต่อไปนี้
- รหัสแคมเปญ
- รหัสภูมิศาสตร์
- หมวดหมู่ผลิตภัณฑ์
แม้ว่าระบบจะทราบมิติข้อมูลรหัสแคมเปญและรหัสภูมิศาสตร์เมื่อโฆษณาแสดงขึ้น (เวลาในการแสดงโฆษณา) แต่จะทราบหมวดหมู่ผลิตภัณฑ์จากเหตุการณ์ทริกเกอร์เมื่อผู้ใช้ทํา Conversion เสร็จสมบูรณ์ (เวลาที่เกิด Conversion)
ในทางปฏิบัติ คุณจะต้องตั้งค่าคีย์ใน 2 ขั้นตอนดังนี้
- คุณจะต้องตั้งค่าคีย์ส่วนหนึ่ง ซึ่งก็คือรหัสแคมเปญ x รหัสภูมิศาสตร์ เมื่อคลิกหรือดูวิดีโอ
- คุณจะตั้งค่าส่วนที่ 2 ของคีย์ ได้แก่ หมวดหมู่ผลิตภัณฑ์ ณ เวลาที่เกิด Conversion
ส่วนต่างๆ ของแป้นเหล่านี้เรียกว่าส่วนสำคัญ
คีย์จะคำนวณโดยนำ XOR (^) ของชิ้นส่วนคีย์นั้นๆ
ตัวอย่าง
- ชิ้นส่วนคีย์ฝั่งแหล่งที่มา =
0x159
- คีย์ชิ้นส่วนฝั่งทริกเกอร์ =
0x400
- คีย์ =
0x159 ^ 0x400 = 0x559
การจัดวางส่วนประกอบสำคัญ
ด้วยชิ้นส่วนคีย์ 64 บิต 2 ชิ้นที่ขยายเป็น 128 บิต โดยใช้ฟิลเลอร์/ออฟเซ็ต 64 บิตที่วางอย่างระมัดระวัง (เลขศูนย์ 16) ส่วนคีย์ XOR จะเทียบเท่ากับการเชื่อมโยงชิ้นส่วนเหล่านี้ ซึ่งง่ายต่อการหาและยืนยันสิ่งต่อไปนี้
- ชิ้นส่วนคีย์ฝั่งแหล่งที่มา =
0xa7e297e7c8c8d0540000000000000000
- คีย์ชิ้นส่วนฝั่งทริกเกอร์ =
0x0000000000000000674fbe308a597271
- คีย์ =
- 0xa7e297e7c8c8d0540000000000000000 ^ 0x0000000000000000674fbe308a597271 =
- 0Xa7e297e7c8c8d054674fbe308a597271
หลายคีย์ต่อการคลิกโฆษณาหรือการดู
ในทางปฏิบัติ คุณอาจตั้งค่าคีย์ได้หลายคีย์ต่อเหตุการณ์แหล่งที่มาของการระบุแหล่งที่มา (การคลิกโฆษณาหรือการดู) ตัวอย่างเช่น คุณอาจตั้งค่าต่อไปนี้
- คีย์ที่ติดตามรหัสภูมิศาสตร์ x รหัสแคมเปญ
- อีกคีย์หนึ่งที่ติดตามประเภทครีเอทีฟโฆษณา x รหัสแคมเปญ
ลองดูตัวอย่างอื่นในกลยุทธ์ ข
การเข้ารหัสมิติข้อมูลเป็นคีย์
เมื่อขอรายงานสรุป คุณต้องบอกบริการรวบรวมว่าต้องการเข้าถึงเมตริกใด โดยขอรายงานสรุปสําหรับชุดคีย์การรวมที่ต้องการ
รายงานสรุปมีคู่ {key,สรุป value} ดิบ และไม่มีข้อมูลเพิ่มเติมเกี่ยวกับคีย์ ซึ่งหมายความว่า
- เมื่อตั้งค่าคีย์เมื่อผู้ใช้ดูหรือคลิกโฆษณา แล้วทำ 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 บิต("COUNT, campaignID=12, geoID=7"))><64-bit 00000000...> - โปรดทราบว่า COUNT เข้ารหัสสิ่งเดียวกันกับMeasurementGoalType=0 ในแนวทางการแมปโครงสร้างหลัก COUNT อ่านง่ายขึ้นและชัดเจนกว่าเล็กน้อย
- คีย์ชิ้นส่วนฝั่งแหล่งที่มา
- เมื่อถึงเวลาที่เกิด Conversion ให้สร้างสตริงที่มีมิติข้อมูลทั้งหมดที่คุณต้องการติดตาม พร้อมค่าของมิติข้อมูลเหล่านั้น หากต้องการสร้างคีย์ชิ้นส่วนฝั่งทริกเกอร์ ให้แฮชสตริงนี้และเพิ่มคำนำหน้า 0 แบบ 64 บิต
- คีย์ชิ้นส่วนฝั่งทริกเกอร์ = <64 บิต 00000000...><แฮชฐานสิบหก 64 บิต("productCategory=25")>
- เบราว์เซอร์จะ XOR ส่วนประกอบที่สำคัญเหล่านี้เพื่อสร้างคีย์
- คีย์การรวม 128 บิต
= <แฮชชิ้นส่วนคีย์ซอร์สฐานสิบหก 64 บิต><แฮชชิ้นส่วนหกเหลี่ยมด้านแหล่งที่มา 64 บิต>
- คีย์การรวม 128 บิต
- เมื่อพร้อมขอรายงานสรุปสำหรับคีย์นี้ในภายหลังแล้ว ก็ให้สร้างรายงานทันทีโดยทำดังนี้
- สร้างส่วนคีย์ฝั่งแหล่งที่มาและฝั่งทริกเกอร์ตามมิติข้อมูลที่คุณสนใจ
- คีย์ชิ้นส่วนฝั่งแหล่งที่มา
= <แฮชฐานสิบหก 64 บิต("COUNT, campaignID=12, geoID=7"))><64-bit 00000000...> - คีย์ชิ้นส่วนฝั่งทริกเกอร์
= <64 บิต 00000000...><แฮชฐานสิบหก 64 บิต("productCategory=25")> - คีย์ชิ้นส่วนฝั่งทริกเกอร์ = toHex(hash("productCategory=25"))
- คีย์ชิ้นส่วนฝั่งแหล่งที่มา
- เช่นเดียวกับเบราว์เซอร์ XOR เป็นส่วนสำคัญเหล่านี้ในการสร้างคีย์เดียวกับที่เบราว์เซอร์สร้างขึ้นก่อนหน้านี้
- คีย์การรวม 128 บิต
= <แฮชชิ้นส่วนของคีย์แหล่งที่มา 64 บิต><แฮชของคีย์แหล่งที่มา 64 บิต>
- คีย์การรวม 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 ต่อคลิกหรือการดู
สำหรับตัวอย่างนี้ ให้สมมติว่าคุณต้องการตอบคำถามต่อไปนี้
- หมวดหมู่ผลิตภัณฑ์ใดมีมูลค่ามากที่สุดในแต่ละภูมิภาค
- กลยุทธ์แคมเปญใดมีประสิทธิภาพมากที่สุดในแต่ละภูมิภาค
และสมมติว่าคุณต้องการข้อมูลเชิงลึกรายสัปดาห์ในกรณีการใช้งานของคุณ
นอกจากนี้ คุณยังต้องติดตามสิ่งต่อไปนี้ด้วย
- 16 แคมเปญ
- ภูมิภาคทางภูมิศาสตร์ที่แตกต่างกัน 8 ภูมิภาค ได้แก่ อเมริกาเหนือ อเมริกากลาง อเมริกาใต้ ยุโรป แอฟริกา เอเชีย แคริบเบียน และโอเชียเนีย
- 29 หมวดหมู่ผลิตภัณฑ์ที่แตกต่างกัน
สิ่งที่ควรวัด
แม้ว่าบริษัทเทคโนโลยีโฆษณาจำนวนมากจะส่งเสริมให้ผู้ลงโฆษณากําหนดค่า Conversion ประเภทต่างๆ แต่การมุ่งเน้น Conversion ที่สําคัญที่สุด เช่น การซื้อ ก็เป็นวิธีที่ดีในการทําให้ผลลัพธ์โดยรวมมีความละเอียดมากขึ้นและแม่นยําสําหรับเหตุการณ์ Conversion ที่สําคัญเหล่านี้ แน่นอนว่ายิ่งคุณวัดเมตริกมากเท่าไร งบประมาณการมีส่วนร่วมต่อเมตริกก็จะยิ่งน้อยลงเท่านั้น ซึ่งก็มีแนวโน้มที่จะมีเสียงดังรบกวนแต่ละค่ามากขึ้น ดังนั้น คุณจึงต้องเลือกสิ่งที่จะวัดอย่างรอบคอบ
ในตัวอย่างนี้ เราจะเน้นการตั้งค่าแคมเปญที่วัด Conversion เพียง 1 รายการต่อคลิกหรือการดูเท่านั้น กล่าวคือ การซื้อ
คุณจะยังคงวัดทั้งยอดรวมการซื้อและมูลค่าการซื้อ รวมทั้งเข้าถึงสถิติสำคัญแบบรวมหลายอย่าง เช่น มูลค่าการซื้อทั้งหมดและรายละเอียดทางภูมิศาสตร์ วิธีนี้จะช่วยให้รบกวนความสมเหตุสมผลของงบประมาณและทำให้คุณมีแนวทางการปรับขนาดที่เรียบง่ายสำหรับงบประมาณการสนับสนุนของคุณ
แล้วสกุลเงินต่างๆ ล่ะ
การใช้งานแคมเปญในภูมิภาคต่างๆ สื่อเป็นนัยว่าควรคำนึงถึงสกุลเงิน การดำเนินการที่คุณทำได้มีดังนี้
- ทำให้สกุลเงินเป็นมิติข้อมูลเฉพาะในคีย์การรวม
- หรืออนุมานสกุลเงินจากรหัสแคมเปญ และแปลงสกุลเงินทั้งหมดเป็นสกุลเงินอ้างอิง
ในตัวอย่างนี้ เราจะสมมติว่าคุณอนุมานสกุลเงินจากรหัสแคมเปญได้ วิธีนี้จะช่วยให้คุณแปลงมูลค่าการซื้อที่ระบุจากสกุลเงินท้องถิ่นของผู้ใช้เป็นสกุลเงินอ้างอิงที่เลือกได้ นอกจากนี้คุณยังทำ Conversion ได้ทันทีเมื่อผู้ใช้ซื้อสินค้า
เทคนิคนี้ช่วยให้ค่าที่รวบรวมได้ทั้งหมดจะเป็นสกุลเงินอ้างอิงเดียวกัน ดังนั้นจึงนำมารวมกันได้เพื่อสร้างมูลค่าการซื้อรวมทั้งหมด ซึ่งเป็นมูลค่าการซื้อแบบสรุป
เปลี่ยนเป้าหมายให้เป็นคีย์
คุณมีตัวเลือกมากมายสำหรับกลยุทธ์หลักเมื่อใช้เป้าหมายและเมตริกการวัดผล ลองมาดูกลยุทธ์ 2 ข้อต่อไปนี้กัน
- กลยุทธ์ ก: โครงสร้างหลัก 1 โครงสร้าง
- กลยุทธ์ ข: โครงสร้างหลักแบบคร่าวๆ 2 โครงสร้าง
กลยุทธ์ ก: แผนผังลึก 1 กลุ่ม (โครงสร้างคีย์แบบละเอียด 1 โครงสร้าง)
ในกลยุทธ์ A คุณใช้โครงสร้างคีย์แบบละเอียด 1 รายการ ซึ่งมีมิติข้อมูลทั้งหมดที่ต้องการ ดังนี้
คีย์ทั้งหมดใช้โครงสร้างนี้
คุณแบ่งโครงสร้างที่สำคัญนี้เป็น 2 ประเภทหลักเพื่อสนับสนุนเป้าหมายการวัดผล 2 อย่าง
- ประเภทคีย์ 0: ประเภทเป้าหมายการวัด = 0 ซึ่งคุณตัดสินใจที่จะกำหนดเป็นจำนวนการซื้อ
- ประเภทคีย์ 1: ประเภทเป้าหมายการวัดผล = 1 ซึ่งคุณตัดสินใจที่จะกำหนดเป็นมูลค่าการซื้อ
รายงานสรุปมีลักษณะดังต่อไปนี้
กลยุทธ์ ก ก็เปรียบเสมือนกลยุทธ์แบบ "1 แผนผังลึก" ดังนี้
- ค่าสรุปแต่ละค่าในรายงานสรุปจะเชื่อมโยงกับมิติข้อมูลทั้งหมดที่กำลังติดตาม
- คุณสามารถรวมค่าสรุปเหล่านี้ควบคู่กับมิติข้อมูลแต่ละรายการ เพื่อให้ภาพรวมเหล่านี้เจาะลึกได้เท่ากับจำนวนมิติข้อมูลที่คุณมีอยู่
เมื่อใช้กลยุทธ์ ก คุณจะตอบคำถามได้ดังนี้
คำถาม | คำตอบ |
---|---|
หมวดหมู่ผลิตภัณฑ์ใดมีมูลค่ามากที่สุดในแต่ละภูมิภาค | รวมสรุปจำนวนและมูลค่าการซื้อที่อยู่ในรายงานสรุปของทุกแคมเปญ ซึ่งจะแสดงจำนวนและมูลค่าการซื้อต่อรหัสทางภูมิศาสตร์ x หมวดหมู่ผลิตภัณฑ์ เปรียบเทียบมูลค่าการซื้อและจำนวนหมวดหมู่ผลิตภัณฑ์ที่ต่างกันสำหรับแต่ละภูมิภาค |
กลยุทธ์แคมเปญใดมีประสิทธิภาพมากที่สุดในแต่ละภูมิภาค | รวมจำนวนและมูลค่าการซื้อแบบสรุปที่อยู่ในรายงานสรุปของทุกหมวดหมู่ผลิตภัณฑ์ ซึ่งจะแสดงจำนวนและมูลค่าการซื้อต่อรหัสแคมเปญ x รหัสทางภูมิศาสตร์ เปรียบเทียบมูลค่าการซื้อและจำนวนของแคมเปญต่างๆ สำหรับแต่ละภูมิภาค |
กลยุทธ์ ก. คุณยังตอบคำถามที่ 3 นี้ได้โดยตรงอีกด้วย
"แต่ละแคมเปญของฉันในแต่ละพื้นที่ทางภูมิศาสตร์สร้างรายได้สำหรับผลิตภัณฑ์แต่ละรายการเป็นจำนวนเท่าใด"
แม้ว่าค่าสรุปจะมีเสียงรบกวน แต่คุณก็พิจารณาได้ว่าความแตกต่างของค่าที่วัดระหว่างแต่ละแคมเปญไม่ได้เกิดจากข้อผิดพลาดอย่างเดียว ดูวิธีดำเนินการนี้ได้ในทำความเข้าใจเกี่ยวกับข้อผิดพลาด
กลยุทธ์ ข: ต้นไม้ตื้น 2 ต้น (โครงสร้างหลักแบบหยาบ 2 ต้น)
ในกลยุทธ์ B คุณจะใช้โครงสร้างคีย์แบบคร่าวๆ 2 โครงสร้าง โดยแต่ละโครงสร้างรวมถึงชุดย่อยของมิติข้อมูลที่ต้องการ ดังนี้
คุณจะแบ่งโครงสร้างหลักเหล่านี้ออกเป็น 2 ประเภทหลักๆ เพื่อรองรับเป้าหมายการวัดผล 2 อย่าง
- ประเภทเป้าหมายการวัด = 0 ซึ่งคุณเลือกที่จะกำหนดเป็นจำนวนการซื้อ
- ประเภทเป้าหมายการวัด = 1 ซึ่งคุณตัดสินใจว่าจะกำหนดเป็นมูลค่าการซื้อ
สุดท้ายนี้คุณประกอบด้วย 4 ประเภทหลักๆ ดังนี้
- ประเภทคีย์ I-0: โครงสร้างคีย์ I, จำนวนการซื้อ
- ประเภทคีย์ I-1: โครงสร้างหลัก I, มูลค่าการซื้อ
- ประเภทคีย์ II-0: โครงสร้างหลัก II จำนวนการซื้อ
- ประเภทคีย์ II-1: โครงสร้างหลัก II มูลค่าการซื้อ
รายงานสรุปมีลักษณะดังต่อไปนี้
ให้ลองคิดว่ากลยุทธ์ ข เป็นกลยุทธ์ "ต้นไม้ตื้น 2 ต้น" ดังนี้
- ค่าสรุปในรายงานสรุปจะจับคู่กับมิติข้อมูลเล็กๆ 1 ใน 2 ชุด
- คุณควบรวมค่าสรุปเหล่านี้พร้อมกับมิติข้อมูลแต่ละรายการในชุดเหล่านี้ได้ ซึ่งหมายความว่าภาพรวมเหล่านี้จะไม่ลึกเท่าตัวเลือก A เนื่องจากมีมิติข้อมูลที่จะภาพรวมน้อยกว่า
เมื่อใช้กลยุทธ์ ข คุณจะตอบคำถามได้ดังนี้
คำถาม | คำตอบ |
---|---|
หมวดหมู่ผลิตภัณฑ์ใดมีมูลค่ามากที่สุดในแต่ละภูมิภาค | เข้าถึงจำนวนและมูลค่าการซื้อแบบสรุปที่อยู่ในรายงานสรุปได้โดยตรง |
กลยุทธ์แคมเปญใดมีประสิทธิภาพมากที่สุดในแต่ละภูมิภาค | เข้าถึงจำนวนและมูลค่าการซื้อแบบสรุปที่อยู่ในรายงานสรุปได้โดยตรง |
การตัดสินใจ: กลยุทธ์ ก
กลยุทธ์ A นั้นใช้งานง่าย ข้อมูลทั้งหมดเป็นไปตามโครงสร้างหลักเดียวกัน ซึ่งหมายความว่าคุณจะมีโครงสร้างหลักเพียงโครงสร้างเดียวที่ต้องบำรุงรักษา
อย่างไรก็ตาม เมื่อใช้กลยุทธ์ A คุณจะต้องรวมค่าสรุปที่ได้รับในรายงานสรุปเพื่อตอบคําถามบางข้อของคุณ ค่าสรุปแต่ละค่า มีเสียงดังรบกวน การสรุปข้อมูลดังกล่าวจะเป็นการสรุปข้อมูลรบกวนด้วย
แต่ต่างจากกลยุทธ์ B ซึ่งค่าสรุปที่แสดงในรายงานสรุปจะให้ข้อมูลที่คุณต้องการอยู่แล้ว ซึ่งหมายความว่ากลยุทธ์ B มีแนวโน้มที่จะทำให้เกิดผลกระทบน้อยกว่ากลยุทธ์ A
คุณควรกำหนดกลยุทธ์ใดที่จะใช้ สำหรับผู้ลงโฆษณาหรือแคมเปญที่มีอยู่ คุณอาจใช้ข้อมูลย้อนหลังในการพิจารณาว่าปริมาณ Conversion เหมาะกับกลยุทธ์ A หรือกลยุทธ์ B มากกว่า อย่างไรก็ตาม สำหรับผู้ลงโฆษณาหรือแคมเปญใหม่ คุณอาจตัดสินใจทำดังต่อไปนี้
- รวบรวมข้อมูลของทั้งเดือนด้วยคีย์แบบละเอียด (กลยุทธ์ A) เนื่องจากคุณขยายระยะเวลาในการเก็บรวบรวมข้อมูล ค่าสรุปจะสูงขึ้นและสัญญาณรบกวนจะค่อนข้างต่ำลง
- ประเมินจำนวน Conversion และมูลค่าการซื้อรายสัปดาห์ด้วยความแม่นยำที่สมเหตุสมผล
ในตัวอย่างนี้ สมมติว่าการซื้อและมูลค่าการซื้อรายสัปดาห์สูงพอที่กลยุทธ์ A จะทําให้เกิดเปอร์เซ็นต์สัญญาณรบกวนที่คุณคิดว่ายอมรับได้สําหรับ Use Case ของคุณ
เนื่องจากกลยุทธ์ ก. ทำได้ง่ายกว่าและก่อให้เกิดผลกระทบเล็กๆ น้อยๆ ซึ่งไม่ได้ส่งผลต่อความสามารถในการตัดสินใจของคุณ คุณจึงตัดสินใจใช้กลยุทธ์ ก.
เลือกอัลกอริทึมการแฮช
คุณตัดสินใจใช้วิธีการตามแฮชเพื่อสร้างคีย์ โดยคุณจะต้องเลือกอัลกอริทึมการแฮชเพื่อรองรับวิธีการดังกล่าว
สมมติว่าคุณเลือก SHA-256 หรือคุณอาจใช้อัลกอริทึมที่เรียบง่าย แต่มีความปลอดภัยน้อยกว่า เช่น MD5
ในเบราว์เซอร์: ตั้งค่าคีย์และค่า
เมื่อตัดสินใจเกี่ยวกับโครงสร้างคีย์และอัลกอริทึมการแฮชแล้ว คุณก็พร้อมที่จะลงทะเบียนคีย์และค่าเมื่อผู้ใช้คลิกหรือดูโฆษณาแล้วทำ Conversion ในภายหลัง
ถัดไปเป็นภาพรวมของส่วนหัวที่คุณจะได้ตั้งค่าในการลงทะเบียนคีย์และค่าในเบราว์เซอร์
กำหนดข้อมูลสำคัญของฝั่งแหล่งที่มา
เมื่อผู้ใช้คลิกหรือดูโฆษณา ให้ตั้งค่าคีย์การรวมในส่วนหัว Attribution-Reporting-Register-Aggregatable-Source
ในขั้นตอนนี้ สำหรับแต่ละคีย์ คุณสามารถตั้งค่าได้เฉพาะส่วนของคีย์ หรือส่วนคีย์ ซึ่งเป็นที่รู้จักในขณะแสดงโฆษณา
มาสร้างส่วนสำคัญกัน
ส่วนคีย์ฝั่งแหล่งที่มาสำหรับรหัสคีย์... | สตริงที่มีค่ามิติข้อมูลที่คุณต้องการตั้งค่า | แฮชของสตริงนี้เป็นเลขฐานสิบหก โดยตัดให้เหลือ 64 บิตแรก (64/4 = 16 อักขระ1) | แฮชฐานสิบหกที่มีเลข 0 ต่อท้ายเพื่อให้ XOR-ing ง่ายขึ้น นี่คือส่วนสำคัญของฝั่งแหล่งที่มา |
---|---|---|---|
key_purchaseCount | นับ, 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) | แฮชฐานสิบหกที่มีเลข 0 ต่อท้ายเพื่อให้ XOR-ing simplify นี่คือส่วนสำคัญของฝั่งเซิร์ฟเวอร์ |
---|---|---|---|
key_purchaseCount | หมวดหมู่ผลิตภัณฑ์=25 | 0X1C7ce88C4904B | 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
: 1 Conversionkey_purchaseValue
: 1,560 บาท
คุณจะต้องปรับขนาดเพื่อลดสัญญาณรบกวนก่อนที่จะบันทึกค่าที่รวมได้เหล่านี้
คุณมีเป้าหมาย 2 อย่างที่จะใช้งบประมาณการสนับสนุน คุณจึงอาจตัดสินใจแบ่งงบประมาณการสนับสนุนออกเป็น 2 ส่วน
ในกรณีนี้ เป้าหมายแต่ละรายการจะได้รับการจัดสรรไม่เกิน 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 เนื่องจากคุณตัดสินใจที่จะติดตามการซื้อไม่เกิน 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 x รหัสภูมิศาสตร์ 7 x หมวดหมู่ผลิตภัณฑ์ 25 ให้ทำดังนี้
- สร้างชิ้นส่วนคีย์ด้านแหล่งที่มา เหมือนกับที่คุณทำเมื่อตั้งค่าในเบราว์เซอร์
- สร้างชิ้นส่วนคีย์ฝั่งทริกเกอร์ เหมือนกับที่คุณทำเมื่อตั้งค่าในเบราว์เซอร์
เมตริกที่ต้องการขอ1 | ส่วนสำคัญของแหล่งที่มา | คีย์ชิ้นส่วนฝั่งทริกเกอร์ | คีย์สำหรับส่งคำขอไปยังบริการรวบรวมข้อมูล2 |
---|---|---|---|
จำนวนการซื้อทั้งหมด (COUNT) | 0x3cf867903fbb73ec 00000000000000000 |
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
ด้วยเหตุนี้ รายงานสรุปจึงให้ข้อมูลเชิงลึกต่อไปนี้
Within the reporting time period, campaign #12
run in Europe drove about 156 purchases (± noise)
for the product category #25.
Within the reporting time period, campaign #12
run in Europe drove $31,230 of purchases (± noise)
for the product category #25.