ทำความเข้าใจคีย์การรวมสำหรับ 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

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

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

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

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

ประเภทคีย์

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ระบบจะคำนวณคีย์โดยใช้ OR (v) ของคีย์ชิ้น

การรวมชิ้นส่วนคีย์แบบ OR

ตัวอย่าง

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

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

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

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

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

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

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

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

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

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

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

  • เมื่อตั้งค่าคีย์เมื่อผู้ใช้ดูหรือคลิกโฆษณา แล้วทำ 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. เมื่อมีการแสดงโฆษณา ให้สร้างสตริงที่มีมิติข้อมูลทั้งหมดที่ต้องการติดตามและค่าของมิติข้อมูล หากต้องการสร้างชิ้นส่วนคีย์ฝั่งแหล่งที่มา ให้แฮชสตริงนี้และพิจารณาเพิ่มส่วนต่อท้าย 64 บิตที่เป็น 0 เพื่อจัดแนวชิ้นส่วนคีย์ดังกล่าวให้สอดคล้องกับชิ้นส่วนคีย์ฝั่งทริกเกอร์และทําให้ OR อนุมานได้ง่ายขึ้น
    • ส่วนคีย์ฝั่งแหล่งที่มา
      = <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. เบราว์เซอร์หรือองค์ประกอบสำคัญเหล่านี้เพื่อสร้างคีย์
    • คีย์การรวม 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 ต่อคลิกหรือการดู

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

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

สมมติว่าคุณต้องการข้อมูลเชิงลึกรายสัปดาห์สำหรับ Use Case ของคุณ

คุณยังต้องติดตามสิ่งต่อไปนี้ด้วย

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

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

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

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

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

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

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

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

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

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

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

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

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

กลยุทธ์ ก: โครงสร้างเป็นลําต้นลึก 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 ต้น" ดังนี้

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

ด้วยกลยุทธ์ ข คุณจะต้องตอบคำถามของคุณดังนี้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

กำหนดข้อมูลสำคัญฝั่งแหล่งที่มา

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

มาสร้างองค์ประกอบหลักกัน

ส่วนคีย์แหล่งที่มาสำหรับรหัสคีย์... สตริงที่มีค่ามิติข้อมูลที่คุณต้องการตั้งค่า แฮชของสตริงนี้เป็นฐานสิบหก โดยตัดให้เหลือ 64 บิตแรก (64/4 = 16 อักขระ1) แฮชเลขฐานสิบหกที่มีเลข 0 ต่อท้ายเพื่อทำให้ง่ายขึ้น OR-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) แฮชฐานสิบหกที่มีเลข 0 ต่อท้ายเพื่อทำให้เข้าใจง่ายขึ้น OR-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: $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 รายการต่อการคลิกหรือการดูโฆษณา (เหตุการณ์แหล่งที่มา)

ตอนนี้คุณตั้งค่าต่อไปนี้ได้แล้ว

  • 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.