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

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

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

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

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

โดยคุณจะต้องนึกถึงคำถามที่ต้องการตอบก่อนที่จะมีการรวบรวมข้อมูล

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

ในการตอบคําถามเหล่านี้ เรามาพิจารณามิติข้อมูล คีย์ และค่ากัน

ขนาด

หากต้องการทําความเข้าใจว่าแคมเปญสร้างรายได้อย่างไร ตามที่อธิบายไว้ที่นี่ คุณควรติดตามมิติข้อมูลต่อไปนี้

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

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

มิติข้อมูลที่ต้องการติดตามสําหรับตัวอย่างนี้แสดงอยู่ในรูปภาพต่อไปนี้

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

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

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

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

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

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

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

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

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

ในการตอบคําถามเกี่ยวกับมิติข้อมูลที่เราระบุไว้ คุณต้องทราบข้อมูลต่อไปนี้

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

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

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

เมื่อผู้ใช้ที่อยู่ในรหัสภูมิศาสตร์ 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, summary value}

รายงานสรุปประกอบด้วยชุดคู่คีย์-ค่าสไตล์พจนานุกรม JSON แต่ละคู่จะมีข้อมูลต่อไปนี้

  • bucket: คีย์การรวมข้อมูลที่เข้ารหัสเป็นสตริงไบต์
  • value: ค่าสรุปในรูปแบบทศนิยมสําหรับเป้าหมายการวัดผลหนึ่งๆ ซึ่งคํานวณจากรายงานที่รวบรวมได้ทั้งหมดที่มีพร้อมใช้งาน โดยมีระดับสัญญาณรบกวนเพิ่มเติม

ตัวอย่าง

[
  {"bucket": "111001001", "value": "2558500"},
  {"bucket": "111101001", "value": "3256211"},
  {...}
]

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

คีย์การรวมข้อมูลในทางปฏิบัติ

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

โครงสร้างคีย์

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

เช่น รหัสแคมเปญ × รหัสภูมิศาสตร์ × หมวดหมู่ผลิตภัณฑ์เป็นโครงสร้างคีย์

โครงสร้างคีย์

ประเภทคีย์

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

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

จากตัวอย่างก่อนหน้านี้ เป้าหมายการวัดผลประเภทนี้จะมีค่าที่เป็นไปได้ 2 ค่า ดังนี้

  • จํานวนการซื้อเป็นเป้าหมายการวัดผลประเภทแรก
  • มูลค่าการซื้อเป็นเป้าหมายการวัดผลประเภทที่ 2
เป้าหมายการวัดและประเภทเป้าหมายการวัด

หากคุณมีเป้าหมายการวัดผล n รายการ ประเภทเป้าหมายการวัดผลจะมีค่า n ประเภท

คุณอาจมองว่ามิติข้อมูลของคีย์เป็นเมตริก เช่น "จํานวนการซื้อผลิตภัณฑ์หนึ่งๆ ต่อแคมเปญต่อภูมิศาสตร์"

ขนาดคีย์ ขนาดมิติข้อมูล

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

ขนาดนี้ช่วยให้มีคีย์ที่ละเอียดมาก แต่คีย์ที่ละเอียดมากขึ้นก็มีโอกาสที่จะทําให้ค่ามีสัญญาณรบกวนมากขึ้น อ่านข้อมูลเพิ่มเติมเกี่ยวกับเสียงรบกวนได้ในส่วนทำความเข้าใจเสียงรบกวน

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

เช่น มิติข้อมูลประเทศอาจมี Cardinality เท่ากับ 200 เนื่องจากในโลกนี้มีประเทศประมาณ 200 ประเทศ ต้องใช้จำนวนบิตเท่าใดในการเข้ารหัสมิติข้อมูลนี้

7 บิตจะจัดเก็บได้เพียง 27 = 128 ตัวเลือกที่แตกต่างกัน ซึ่งน้อยกว่า 200 รายการที่ต้องการ

8 บิตจะจัดเก็บตัวเลือกที่แตกต่างกัน 28 = 256 รายการ ซึ่งมากกว่า 200 รายการที่จําเป็น คุณจึงใช้ n=8 บิตเพื่อเข้ารหัสมิติข้อมูลนี้ได้

การเข้ารหัสคีย์

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

ใส่ชิ้นส่วนกุญแจ 2 ชิ้นเพื่อให้เป็นกุญแจเต็มรูปแบบ

สมมติว่าคุณใช้คีย์เพื่อติดตามมิติข้อมูลต่อไปนี้

  • รหัสแคมเปญ
  • รหัสภูมิศาสตร์
  • หมวดหมู่ผลิตภัณฑ์

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

ในทางปฏิบัติ หมายความว่าคุณจะตั้งค่าคีย์ใน 2 ขั้นตอน ดังนี้

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

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

ระบบจะคํานวณคีย์โดยนํา OR (v) ของชิ้นส่วนคีย์

การรวมข้อความคีย์แบบ OR

ตัวอย่าง

  • ชิ้นส่วนคีย์ฝั่งแหล่งที่มา = 0x159
  • ชิ้นส่วนกุญแจด้านทริกเกอร์ = 0x400
  • คีย์ = 0x159 v 0x400 = 0x559

การปรับชิ้นงานหลัก

เมื่อขยายชิ้นส่วนคีย์ 64 บิต 2 รายการเป็น 128 บิตโดยใช้ตัวเติม/ออฟเซ็ต 64 บิตที่วางไว้อย่างระมัดระวัง (เลข 0 16 ตัว) การดำเนินการ OR กับชิ้นส่วนคีย์จะเทียบเท่ากับการต่อชิ้นส่วนคีย์เข้าด้วยกัน ซึ่งทำให้เหตุผลและยืนยันได้ง่ายขึ้น

  • ชิ้นส่วนคีย์ฝั่งแหล่งที่มา = 0xa7e297e7c8c8d0540000000000000000
  • ชิ้นส่วนกุญแจด้านทริกเกอร์ = 0x0000000000000000674fbe308a597271
  • คีย์ = 0xa7e297e7c8c8d0540000000000000000 v 0x0000000000000000674fbe308a597271 = 0xa7e297e7c8c8d054674fbe308a597271

คีย์หลายรายการต่อการคลิกหรือดูโฆษณา 1 ครั้ง

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

  • คีย์ที่ติดตามรหัสภูมิศาสตร์ × รหัสแคมเปญ
  • คีย์อื่นที่ติดตามประเภทครีเอทีฟโฆษณา × รหัสแคมเปญ

มาดูตัวอย่างอื่นในกลยุทธ์ ข

การเข้ารหัสมิติข้อมูลเป็นคีย์

เมื่อขอรายงานสรุป คุณต้องบอกบริการรวบรวมข้อมูลว่าต้องการเข้าถึงเมตริกใด โดยขอรายงานสรุปสําหรับคีย์การรวบรวมข้อมูลชุดหนึ่งๆ

รายงานสรุปมีคู่ {คีย์, ค่าสรุป} ดิบ และไม่มีข้อมูลเพิ่มเติมเกี่ยวกับคีย์ ซึ่งหมายความว่า

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

การเข้ารหัสมิติข้อมูลโดยใช้แผนที่โครงสร้างคีย์

หากต้องการเข้ารหัสมิติข้อมูลเป็นคีย์ คุณสามารถสร้างและดูแลแผนที่โครงสร้างคีย์ล่วงหน้าเมื่อกําหนดคีย์ (ก่อนเวลาแสดงโฆษณา)

แผนที่โครงสร้างคีย์แสดงมิติข้อมูลแต่ละรายการและตําแหน่งในคีย์

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

เช่น

สมมติว่าคุณวางแผนที่จะติดตามทั้งการซื้อและมูลค่าการซื้อสําหรับแคมเปญ ภูมิภาคทางภูมิศาสตร์ และผลิตภัณฑ์ที่เฉพาะเจาะจง

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

เมื่อใช้เป้าหมายการวัดผลเหล่านี้ คีย์จะมีมิติข้อมูลต่อไปนี้

  • หมวดหมู่ผลิตภัณฑ์
  • ประเภทเป้าหมายการวัด
  • รหัสภูมิศาสตร์
  • รหัสแคมเปญ

มาดูมิติข้อมูลแต่ละรายการกัน สมมติว่ากรณีการใช้งานของคุณจําเป็นต้องติดตามสิ่งต่อไปนี้

  • หมวดหมู่ผลิตภัณฑ์ 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)

ในตัวอย่างนี้ แผนที่โครงสร้างคีย์สําหรับคีย์เหล่านี้จะมีลักษณะดังนี้

แผนที่โครงสร้างคีย์

ลำดับของมิติข้อมูลภายในคีย์ขึ้นอยู่กับคุณ

เราจะใช้การนําเสนอแบบไบนารีเพื่อแสดงให้เห็นว่ามิติข้อมูลประกอบโครงสร้างคีย์อย่างไร ด้วยเหตุนี้ ID แคมเปญ (บิตแรก) จึงอยู่ด้านขวาสุด และหมวดหมู่ผลิตภัณฑ์ (บิตสุดท้าย) จึงอยู่ด้านซ้ายสุด

ภายในมิติข้อมูลแต่ละรายการ บิตที่มีนัยสำคัญที่สุด (บิตที่มีค่าตัวเลขมากที่สุด) คือบิตด้านซ้ายสุด บิตที่มีนัยสำคัญน้อยที่สุดคือบิตที่อยู่ด้านขวาสุด ซึ่งเป็นบิตที่มีค่าตัวเลขน้อยที่สุด

มาดูวิธีใช้แผนที่โครงสร้างคีย์เพื่อถอดรหัสคีย์กัน

สมมติว่า 0b1100100111100 เป็นคีย์ตัวอย่างแบบกำหนดเอง และสมมติว่าคุณมีวิธีทราบว่าคีย์นี้เป็นไปตามแผนที่โครงสร้างคีย์ในภาพประกอบก่อนหน้า

ตามแผนที่โครงสร้างคีย์ คีย์นี้จะถอดรหัสเป็น

`11001 0 011 1100`

ดังนั้นคีย์ 0b1100100111100 จึงแสดงจํานวนการซื้อของหมวดหมู่ผลิตภัณฑ์ 25 สําหรับรหัสแคมเปญ 12 ที่เปิดตัวในยุโรป

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

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

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

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

เคล็ดลับที่เป็นประโยชน์ 2-3 ข้อหากคุณใช้แนวทางที่อิงตามแฮชนี้

  • ใช้ลําดับของมิติข้อมูลเดียวกันเสมอ วิธีนี้ช่วยให้มั่นใจได้ว่าแฮชจะสร้างขึ้นใหม่ได้อย่างน่าเชื่อถือ ("COUNT, CampaignID=12, GeoID=7" จะไม่สร้างแฮชเดียวกันกับ "COUNT, GeoID=7, CampaignID=12") วิธีหนึ่งที่ทำได้ง่ายๆ คือจัดเรียงมิติข้อมูลตามลําดับตัวอักษรและตัวเลข นี่คือสิ่งที่เราจะทําในตัวอย่าง ยกเว้นว่าเราจะทําให้ COUNT หรือ VALUE เป็นรายการแรกในมิติข้อมูลเสมอ ซึ่งเป็นทางเลือกที่ช่วยให้อ่านง่าย เนื่องจาก COUNT หรือ VALUE เข้ารหัสข้อมูลที่ต่างออกไปเล็กน้อยจากมิติข้อมูลอื่นๆ ทั้งหมดในแง่แนวคิด
  • ติดตามชุดมิติข้อมูลที่คุณใช้ในคีย์ คุณควรหลีกเลี่ยงการสร้างคีย์ตามชุดมิติข้อมูลที่คุณไม่เคยใช้
  • การเกิดแฮชที่ทับซ้อนกันนั้นเกิดขึ้นได้น้อยมากหากใช้ฟังก์ชันแฮชที่เหมาะสม แต่การตรวจสอบแฮชที่ใช้ก่อนหน้านี้ (ซึ่งควรจัดเก็บไว้เพื่อตีความผลลัพธ์จากบริการรวบรวมข้อมูล) จะช่วยหลีกเลี่ยงการใช้คีย์ใหม่ซึ่งทับซ้อนกับคีย์เก่าได้

ดูวิธีใช้คีย์ตามแฮชในทางปฏิบัติในตัวอย่าง Conversion 1 รายการต่อคลิกหรือการดู

ค่าที่รวบรวมได้ในทางปฏิบัติ

บริษัทเทคโนโลยีโฆษณาจะตั้งค่าที่รวบรวมได้เมื่อผู้ใช้ทํา Conversion

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

เราจะเรียกขีดจํากัดนี้ว่า CONTRIBUTION_BUDGET ในคำอธิบาย ขีดจํากัดนี้เรียกว่างบประมาณ L1 แต่ก็คือ CONTRIBUTION_BUDGET นั่นเอง

ดูการพูดคุยเรื่องงบประมาณการมีส่วนร่วมอย่างละเอียดได้ที่งบประมาณการมีส่วนร่วมสําหรับรายงานสรุป

ตัวอย่างเช่น 1 Conversion ต่อคลิกหรือการดู

ในตัวอย่างนี้ สมมติว่าคุณต้องการตอบคําถามต่อไปนี้

  • ผลิตภัณฑ์หมวดหมู่ใดมีคุณค่ามากที่สุดในแต่ละภูมิภาค
  • กลยุทธ์แคมเปญใดมีประสิทธิภาพสูงสุดในแต่ละภูมิภาค

และสมมติว่ากรณีการใช้งานของคุณต้องใช้ข้อมูลเชิงลึกรายสัปดาห์

นอกจากนี้ คุณยังต้องติดตามข้อมูลต่อไปนี้ด้วย

  • แคมเปญที่แตกต่างกัน 16 แคมเปญ
  • ภูมิภาคทางภูมิศาสตร์ 8 แห่ง ได้แก่ อเมริกาเหนือ อเมริกากลาง อเมริกาใต้ ยุโรป แอฟริกา เอเชีย แคริบเบียน และโอเชียเนีย
  • หมวดหมู่ผลิตภัณฑ์ต่างๆ 29 หมวดหมู่

สิ่งที่ควรวัด

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

ในตัวอย่างนี้ เราจะมุ่งเน้นที่การตั้งค่าแคมเปญที่วัด Conversion เพียงรายการเดียวต่อการคลิกหรือการดู ซึ่งก็คือการซื้อ

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

แล้วสกุลเงินล่ะ

การแสดงแคมเปญในภูมิภาคต่างๆ หมายความว่าคุณควรพิจารณาสกุลเงินด้วย การดำเนินการที่คุณทำได้มีดังนี้

  • ทําให้สกุลเงินเป็นมิติข้อมูลที่เฉพาะเจาะจงในคีย์การรวม
  • หรือจะอนุมานสกุลเงินจากรหัสแคมเปญและแปลงสกุลเงินทั้งหมดเป็นสกุลเงินอ้างอิงก็ได้

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

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

แปลเป้าหมายเป็นคีย์

เป้าหมายการวัดผลและเมตริกช่วยให้คุณมีตัวเลือกมากมายสําหรับกลยุทธ์หลัก เรามามุ่งเน้นที่ 2 กลยุทธ์ต่อไปนี้

  • กลยุทธ์ ก: โครงสร้างคีย์แบบละเอียด 1 รายการ
  • กลยุทธ์ ข: โครงสร้างคีย์แบบหยาบ 2 รายการ

กลยุทธ์ ก: โครงสร้างเป็นลําต้นลึก 1 ชั้น (โครงสร้างคีย์แบบละเอียด 1 รายการ)

ในกลยุทธ์ ก. คุณใช้โครงสร้างคีย์แบบละเอียด 1 รายการซึ่งมีมิติข้อมูลทั้งหมดที่ต้องการ ดังนี้

โครงสร้างคีย์แบบละเอียด 1 รายการ

คีย์ทั้งหมดใช้โครงสร้างนี้

คุณแยกโครงสร้างคีย์นี้ออกเป็นคีย์ 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 ต้น" ดังนี้

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

เมื่อใช้กลยุทธ์ ข. คุณจะตอบคําถามดังนี้

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

การตัดสินใจ: กลยุทธ์ ก

กลยุทธ์ ก. นั้นง่ายกว่า เนื่องจากข้อมูลทั้งหมดใช้โครงสร้างคีย์เดียวกัน ซึ่งหมายความว่าคุณจะต้องดูแลรักษาโครงสร้างคีย์เพียงโครงสร้างเดียว

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

แต่กลยุทธ์ ข. จะไม่มีปัญหานี้ เนื่องจากค่าสรุปที่แสดงในรายงานสรุปจะให้ข้อมูลที่คุณต้องการอยู่แล้ว ซึ่งหมายความว่ากลยุทธ์ ข. มีแนวโน้มที่จะได้รับผลกระทบจากปัจจัยภายนอกน้อยกว่ากลยุทธ์ ก.

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

  • รวบรวมข้อมูล 1 เดือนด้วยคีย์แบบละเอียด (กลยุทธ์ ก) เนื่องจากคุณเพิ่มระยะเวลาการเก็บรวบรวมข้อมูล ค่าสรุปจะสูงขึ้นและสัญญาณรบกวนจะลดลง
  • ประเมินจํานวน Conversion และมูลค่าการซื้อรายสัปดาห์อย่างถูกต้อง

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

คุณจึงเลือกใช้กลยุทธ์ ก เนื่องจากง่ายกว่าและทำให้เกิดผลกระทบจากสัญญาณรบกวนที่ไม่ส่งผลต่อความสามารถในการตัดสินใจ

เลือกอัลกอริทึมการแฮช

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

สมมติว่าคุณเลือก SHA-256 หรือจะใช้อัลกอริทึมที่ง่ายกว่าแต่มีความปลอดภัยน้อยกว่า เช่น MD5 ก็ได้

ในเบราว์เซอร์: ตั้งค่าคีย์และค่า

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

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

ลงทะเบียนคีย์และค่าสําหรับการดูหรือการคลิก
ลงทะเบียนคีย์และค่าสําหรับ Conversion

ตั้งค่าชิ้นส่วนคีย์ฝั่งแหล่งที่มา

เมื่อผู้ใช้คลิกหรือดูโฆษณา ให้ตั้งค่าคีย์การรวมข้อมูลในส่วนหัวของAttribution-Reporting-Register-Aggregatable-Source ในขั้นตอนนี้ สําหรับคีย์แต่ละรายการ คุณจะตั้งค่าได้เฉพาะส่วนของคีย์หรือชิ้นส่วนคีย์ที่ทราบ ณ เวลาแสดงโฆษณา

มาสร้างชิ้นงานหลักกัน

ชิ้นส่วนคีย์ฝั่งแหล่งที่มาสำหรับรหัสคีย์… สตริงที่มีค่ามิติข้อมูลที่ต้องการตั้งค่า แฮชของสตริงนี้เป็นฐานสิบหก โดยตัดให้เหลือ 64 บิตแรก (64/4 = 16 อักขระ1) แฮชฐาน 16 ที่มีการเพิ่ม 0 ต่อท้ายเพื่อลดความซับซ้อน ของการดำเนินการ OR นี่เป็นชิ้นส่วนคีย์ฝั่งแหล่งที่มา
key_purchaseCount COUNT, CampaignID=12, GeoID=7 0x3cf867903fbb73ec 0x3cf867903fbb73ec000000000000000
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) แฮชฐาน 16 ที่มีการเพิ่ม 0 ต่อท้ายเพื่อลดความซับซ้อนของการดำเนินการ OR นี่คือชิ้นส่วนคีย์ฝั่งแหล่งที่มา
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,500 บาท

คุณจะไม่ตั้งค่าเหล่านี้เป็นค่าที่รวบรวมได้โดยตรง

  • key_purchaseCount: Conversion 1 รายการ
  • key_purchaseValue: $52

แต่ก่อนบันทึกค่าที่รวบรวมได้เหล่านี้ คุณต้องปรับขนาดเพื่อลดสัญญาณรบกวน

คุณมีเป้าหมาย 2 รายการที่จะใช้งบประมาณการมีส่วนร่วม คุณจึงอาจตัดสินใจแบ่งงบประมาณการมีส่วนร่วมออกเป็น 2 ส่วน

ในกรณีนี้ ระบบจะจัดสรรพื้นที่โฆษณาสูงสุด CONTRIBUTION_BUDGET/2 (=65,536/2=32,768) ให้กับแต่ละเป้าหมาย

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

ค่าตัวคูณมาตราส่วนสำหรับมูลค่าการซื้อควรเป็นดังนี้

((CONTRIBUTION_BUDGET/2) / 1,500) = 32,768/1,500 = 21.8 ≈ 22

ปัจจัยการปรับขนาดสําหรับจํานวนการซื้อคือ 32,768/1 = 32,768 เนื่องจากคุณตัดสินใจที่จะติดตามการซื้อสูงสุด 1 ครั้งต่อการคลิกหรือดูโฆษณา 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 OR conversion-side key piece for the key key_purchaseCount
    value: 32768 // the scaled value for 1 conversion, in the context of [CONTRIBUTION_BUDGET/2]
  },
  {
    key: 0x245265f432f16e73f9e491fe37e55a0c, // source-side key piece OR conversion-side key piece for the key key_purchaseValue
    value: 1144 // the scaled value for $52, in the context of [CONTRIBUTION_BUDGET/2]
  },
]

คุณจะเห็นการมีส่วนร่วม 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คีย์สําหรับส่งคําขอไปยังบริการรวบรวมข้อมูล = ชิ้นส่วนคีย์ฝั่งแหล่งที่มาหรือชิ้นส่วนคีย์ฝั่งทริกเกอร์
  • ขอข้อมูลสรุปจากบริการรวบรวมข้อมูลสำหรับคีย์เหล่านี้

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

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

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

  ```text
- Within the reporting time period, campaign #12
  run in Europe drove $31,230 of purchases (± noise)
  for the product category #25.