ทำความเข้าใจคีย์การรวมสำหรับ Attribution Reporting

คีย์การรวมคืออะไร มีการใช้คีย์ใน Attribution Reporting API อย่างไร และวิธีแปลงเป้าหมายเป็นคีย์

ในฐานะบริษัทเทคโนโลยีโฆษณาที่ใช้แคมเปญในหลายสถานที่ตั้งสำหรับหมวดหมู่ผลิตภัณฑ์ต่างๆ คุณต้องการช่วยผู้ลงโฆษณาตอบคำถามต่อไปนี้

  1. แต่ละแคมเปญของฉันทำให้เกิดการซื้อสำหรับผลิตภัณฑ์แต่ละหมวดหมู่ได้กี่รายการในแต่ละพื้นที่ทางภูมิศาสตร์
  2. แคมเปญแต่ละแคมเปญของฉันในแต่ละพื้นที่ทางภูมิศาสตร์สร้างรายได้รายได้จากผลิตภัณฑ์แต่ละหมวดหมู่ได้เท่าใด

แม้ว่าบริษัทเทคโนโลยีโฆษณาหลายแห่งแนะนำให้ผู้ลงโฆษณากําหนดค่า Conversion หลายประเภท แต่การมุ่งเน้นที่ Conversion ที่สำคัญที่สุด เช่น การซื้อ เป็นวิธีที่ดีในการตรวจสอบว่าผลสรุปมีรายละเอียดและถูกต้องสําหรับเหตุการณ์สําคัญเหล่านี้

ในการทำเช่นนั้น คุณต้องคิดถึงคำถามที่คุณต้องการตอบก่อนจะรวบรวมข้อมูล

มิติข้อมูล คีย์ และค่า

มาดูมิติข้อมูล คีย์ และค่าต่างๆ เพื่อตอบคำถามเหล่านี้กัน

ขนาด

คุณจะต้องติดตามมิติข้อมูลต่อไปนี้เพื่อทำความเข้าใจวิธีที่แคมเปญสร้างรายได้ ดังที่อธิบายไว้ที่นี่

  • รหัสแคมเปญโฆษณา: ตัวระบุสำหรับแคมเปญที่เฉพาะเจาะจง
  • รหัสภูมิศาสตร์: ภูมิภาคทางภูมิศาสตร์ที่แสดงโฆษณา
  • หมวดหมู่ผลิตภัณฑ์: ประเภทผลิตภัณฑ์ที่คุณกำหนดไว้

แม้ว่าระบบจะทราบมิติข้อมูลรหัสแคมเปญและรหัสภูมิศาสตร์เมื่อมีการแสดงโฆษณา (เวลาแสดงโฆษณา) ระบบจะรู้จักหมวดหมู่ผลิตภัณฑ์จากเหตุการณ์ทริกเกอร์เมื่อผู้ใช้ทํา Conversion (เวลาที่เกิด Conversion)

มิติข้อมูลที่คุณต้องการติดตามสำหรับตัวอย่างนี้มีลักษณะดังที่ปรากฏในรูปภาพต่อไปนี้

รหัสแคมเปญ รหัสภูมิศาสตร์ และหมวดหมู่ผลิตภัณฑ์
มิติข้อมูลที่จะติดตาม

คีย์การรวม (ที่เก็บข้อมูล) คืออะไร

คีย์การรวมและที่เก็บข้อมูลของคําหมายถึงสิ่งเดียวกัน คีย์การรวมจะใช้ใน API ของเบราว์เซอร์ที่ใช้เพื่อกำหนดค่ารายงาน คำว่า bucket จะใช้ในรายงานแบบรวมและรายงานสรุปได้ และใน API บริการรวบรวมข้อมูล

คีย์การรวม (คีย์ย่อ) คือชิ้นข้อมูลที่แสดงถึงค่าของมิติข้อมูลที่กำลังติดตาม ระบบจะรวบรวมข้อมูลในภายหลังตามคีย์การรวมแต่ละรายการ

ตัวอย่างเช่น สมมติว่าคุณกำลังติดตามมิติข้อมูลในหมวดหมู่ผลิตภัณฑ์ รหัสภูมิศาสตร์ และรหัสแคมเปญ

เมื่อผู้ใช้ที่อยู่ในรหัสภูมิศาสตร์ 7 เห็นโฆษณารหัสแคมเปญ 12 และทํา Conversion ในภายหลังโดยการซื้อผลิตภัณฑ์ในหมวดหมู่ผลิตภัณฑ์ 25 คุณอาจตั้งค่าคีย์การรวมที่มีลักษณะคล้ายกับคีย์ในรูปภาพต่อไปนี้

คีย์การรวมสำหรับ Conversion

คุณจะเห็นว่าคีย์การรวมไม่ได้มีลักษณะเช่นนี้ในทางปฏิบัติ แต่ในตอนนี้เรามามุ่งเน้นที่ข้อมูลที่มีอยู่ในคีย์กัน

ค่าที่รวบรวมได้คืออะไร

คุณควรทราบข้อมูลต่อไปนี้เพื่อตอบคำถามเกี่ยวกับมิติข้อมูลที่เราได้ร่างไว้

  • จํานวนการซื้อ (จํานวนการซื้อ) เมื่อรวบรวมข้อมูลและแสดงในรายงานสรุปแล้ว ยอดการซื้อนี้จะเป็นยอดรวมการซื้อ (ค่าสรุป)
  • รายได้สําหรับการซื้อแต่ละครั้ง (มูลค่าการซื้อ) เมื่อรวบรวมข้อมูลและแสดงในรายงานสรุปแล้ว ตัวเลขนี้จะเป็นรายได้ทั้งหมด (ค่าสรุป)

แต่ละรายการเหล่านี้คือจํานวนการซื้อสําหรับ Conversion 1 รายการและมูลค่าการซื้อสําหรับ 1 Conversion คือมูลค่าที่รวมได้ คุณสามารถมองว่าค่าที่รวบรวมได้เป็นค่าของเป้าหมายการวัดผล

คำถาม มูลค่าที่รวบรวมได้ = เป้าหมายการวัดผล
จำนวนการซื้อ... จำนวนการซื้อ
รายได้เท่าใด... มูลค่าการซื้อ

เมื่อผู้ใช้ที่อยู่ในรหัสภูมิศาสตร์ 7 เห็นโฆษณาสำหรับรหัสแคมเปญ 12 แต่ทำ Conversion ในภายหลังโดยการซื้อผลิตภัณฑ์ในหมวดหมู่ผลิตภัณฑ์ 25 ในราคา $120 (สมมติว่าสกุลเงินของคุณคือ USD) คุณอาจตั้งค่าคีย์การรวมและค่าที่รวบรวมได้ให้มีลักษณะดังนี้

คีย์และค่าการรวม
คีย์การรวมและค่าที่รวบรวมได้ โปรดทราบว่าค่าที่สรุปได้จะเป็นตัวหนาบนพื้นหลังสีน้ำเงิน

ระบบจะรวมค่าที่รวบรวมได้ต่อคีย์ของผู้ใช้จำนวนมากเพื่อสร้างข้อมูลเชิงลึกแบบรวมในรูปแบบของค่าสรุปในรายงานสรุป

กำลังสร้างข้อมูลเชิงลึกแบบรวม

ระบบจะรวมค่าที่รวบรวมได้เพื่อสร้างข้อมูลเชิงลึกแบบรวมสำหรับเป้าหมายการวัดผล

โปรดทราบว่าแผนภาพนี้ไม่มีการถอดรหัสและแสดงตัวอย่างแบบง่ายที่ไม่ใช้สัญญาณรบกวน ในส่วนถัดไป เราจะกล่าวถึงตัวอย่างนี้ด้วยสัญญาณรบกวน

ตั้งแต่คีย์และค่าไปจนถึงรายงาน

ต่อไปเราจะมาดูกันว่าคีย์และค่าที่รวบรวมได้เกี่ยวข้องกับรายงานอย่างไร

รายงานที่รวบรวมได้

เมื่อผู้ใช้คลิกหรือดูโฆษณาแล้วทํา Conversion ในภายหลัง จะเป็นการสั่งให้เบราว์เซอร์จัดเก็บคู่ {aggregation key, aggregatable value}

ในตัวอย่างของเรา เมื่อผู้ใช้คลิกหรือดูโฆษณา แล้วทํา Conversion ในภายหลัง คุณจะสั่งให้เบราว์เซอร์สร้างการมีส่วนร่วม 2 รายการ (1 รายการต่อเป้าหมายการวัดผล)

กำลังสร้างการมีส่วนร่วม 2 รายการ

คุณจะเห็นในภายหลังว่ารายงานที่รวบรวมได้ {aggregation key, aggregatable value} ไม่ได้มีลักษณะเช่นนี้ แต่ในตอนนี้เรามามุ่งเน้นที่ข้อมูลที่อยู่ในรายงานกันดีกว่า

เมื่อคุณสั่งให้เบราว์เซอร์สร้างการมีส่วนร่วม 2 รายการ เบราว์เซอร์จะสร้างรายงานที่รวบรวมได้ (หากสามารถจับคู่ 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 ขั้นตอนดังนี้

  1. คุณจะตั้งค่าส่วนหนึ่งของคีย์ได้คือ รหัสแคมเปญ × รหัสภูมิศาสตร์ ในเวลาที่คลิกหรือการดู
  2. คุณจะตั้งค่าส่วนที่ 2 ของคีย์ ซึ่งก็คือหมวดหมู่ผลิตภัณฑ์ในเวลาที่เกิด Conversion ได้

ส่วนต่างๆ ของคีย์เหล่านี้เรียกว่าคีย์ส่วนสำคัญ

ระบบจะคำนวณคีย์โดยนำ XOR (^) ของชิ้นส่วนหลักของคีย์นั้นๆ มาคำนวณ

XOR-ing

เช่น

  • ส่วนคีย์ฝั่งแหล่งที่มา = 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 ที่เปิดตัวในยุโรป

การเข้ารหัสมิติข้อมูลโดยใช้ฟังก์ชันแฮช

คุณสามารถใช้ฟังก์ชันการแฮชเพื่อสร้างคีย์แบบไดนามิกด้วยวิธีที่สอดคล้องกันและเชื่อถือได้แทนการใช้แมปโครงสร้างคีย์

โดยมีวิธีการทำงานดังนี้

  1. เลือกอัลกอริทึมการแฮช
  2. เมื่อมีการแสดงโฆษณา ให้สร้างสตริงที่มีมิติข้อมูลทั้งหมดที่คุณต้องการติดตามและค่าของมิติข้อมูลเหล่านั้น ในการสร้างคีย์พีซด้านแหล่งที่มา ให้แฮชสตริงนี้และพิจารณาเพิ่มค่าต่อท้ายค่า 0 แบบ 64 บิตเพื่อปรับแนวเข้ากับคีย์พีซด้านทริกเกอร์และทำให้ XOR อธิบายเหตุผลได้ง่ายขึ้น
    • ส่วนคีย์ฝั่งแหล่งที่มา
      = <64-bit hex hash("COUNT, campaignID=12, geoID=7"))><64-bit 00000000…>
    • โปรดทราบว่า COUNT จะเข้ารหัสสิ่งเดียวกับ measurementGoalType=0 ในแนวทางการทำงานของแผนที่โครงสร้างหลัก COUNT จะดูเข้าใจง่ายกว่าและชัดเจนกว่าเล็กน้อย
  3. ในเวลาที่เกิด Conversion ให้สร้างสตริงที่มีมิติข้อมูลทั้งหมดที่คุณต้องการติดตามและค่าของมิติข้อมูลเหล่านั้น หากต้องการสร้างคีย์พีซด้านทริกเกอร์ ให้แฮชสตริงนี้และเพิ่มคำนำหน้า 64 บิตเป็นเลข 0 ดังนี้
    • ส่วนคีย์ฝั่งทริกเกอร์ = <64-bit 00000000…><64-bit hex hash("productCategory=25")>
  4. เบราว์เซอร์ XOR จะใช้องค์ประกอบสำคัญเหล่านี้เพื่อสร้างคีย์
    • คีย์การรวม 128 บิต
      = <64-bit hex source-side key piece hash><64-bit hex source-side key piece hash>
  5. เมื่อพร้อมขอรายงานสรุปสำหรับคีย์นี้ในภายหลัง ก็สร้างรายงานได้ทันที ดังนี้
    • สร้างส่วนสำคัญฝั่งแหล่งที่มาและฝั่งทริกเกอร์ตามมิติข้อมูลที่คุณสนใจเหมือนที่ทำก่อนหน้านี้
      • ส่วนคีย์ฝั่งแหล่งที่มา
        = <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>

เคล็ดลับบางส่วนที่นำไปใช้ได้จริงหากคุณใช้วิธีที่อิงตามแฮชนี้

  • ใช้การจัดลำดับมิติข้อมูลแบบเดียวกันเสมอ วิธีนี้จะช่วยให้มั่นใจว่าระบบจะสร้างแฮชใหม่ได้อย่างน่าเชื่อถือ ("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 โครงสร้าง โดยแต่ละโครงสร้างมีมิติข้อมูลบางส่วนที่ต้องการ ดังนี้

โครงสร้างคีย์ 1 และโครงสร้างหลัก 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 ในภายหลัง

ถัดไปเป็นภาพรวมของส่วนหัวที่คุณจะตั้งค่าเพื่อลงทะเบียนคีย์และค่าในเบราว์เซอร์

ลงทะเบียนคีย์และค่าสำหรับมุมมองหรือคลิก
ลงทะเบียนคีย์และมูลค่าสำหรับ 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
1เลขฐานสิบหกแต่ละหลักหมายถึง 4 บิต (เลขฐานสอง)

คราวนี้มากำหนดองค์ประกอบสำคัญกัน

// 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 (เดียวกัน) (เดียวกัน) (เดียวกัน)
1เลขฐานสิบหกแต่ละหลักหมายถึง 4 บิต (เลขฐานสอง)

คราวนี้มากำหนดองค์ประกอบสำคัญกัน

// 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,768
  • key_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
1เมตริกที่คุณต้องการขอ (สำหรับรหัสแคมเปญ 12 × รหัสภูมิศาสตร์ 7 × หมวดหมู่ผลิตภัณฑ์ 25) 2คีย์ที่จะขอไปยังบริการการรวม = คีย์ส่วน XOR ของทริกเกอร์ฝั่งทริกเกอร์
  • ขอข้อมูลสรุปไปยังบริการรวมข้อมูลสำหรับคีย์เหล่านี้

จัดการรายงานสรุป

สุดท้าย คุณจะได้รับรายงานสรุปที่มีลักษณะเช่นนี้:

[
  {"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