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

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

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

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

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

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

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

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

ขนาด

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ตอนนี้เรามาพูดถึงวิธีที่คีย์และค่าที่รวบรวมได้เกี่ยวข้องกับรายงานกัน

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

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

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

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

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

เมื่อสั่งให้เบราว์เซอร์สร้างการสนับสนุน 2 รายการ เบราว์เซอร์จะสร้างรายงานที่รวบรวมได้ (หากจับคู่ Conversion กับการดูหรือคลิกก่อนหน้าได้)

รายงานที่รวบรวมได้ประกอบด้วยข้อมูลต่อไปนี้

รายงานที่รวบรวมได้ที่ได้
รายงานที่รวบรวมได้ซึ่งเป็นผลลัพธ์

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

เพย์โหลดมีรายการการมีส่วนร่วม โดยแต่ละรายการเป็นคู่ {คีย์การรวม, ค่าที่รวมได้} ดังนี้

  • bucket: คีย์การรวมที่เข้ารหัสเป็นสตริงไบต์
  • value: ค่าที่รวบรวมได้สําหรับเป้าหมายการวัดผลนั้น ซึ่งเข้ารหัสเป็นไบต์สตริง

เช่น

{
  "data": [
    {
      "bucket": "111001001",
      "value": "11111010000",
    }
  ],
  "operation": "histogram"
}

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

รายงานสรุป

ระบบจะรวบรวมรายงานที่รวบรวมได้ในเบราว์เซอร์และอุปกรณ์ (ผู้ใช้) หลายรายการดังนี้

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

ผลลัพธ์คือรายงานสรุปที่มีชุดคู่ {คีย์การรวม ค่าสรุป}

รายงานสรุปมีชุดคู่คีย์-ค่าในรูปแบบพจนานุกรม 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 ของมิติข้อมูล เมื่อมี n บิต คุณจะแสดงตัวเลือกที่แตกต่างกันได้ 2n ตัวเลือก

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

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

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

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

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

ตั้งค่าชิ้นส่วนคีย์ 2 ชิ้นสำหรับคีย์แบบเต็ม

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

  • รหัสแคมเปญ
  • รหัสทางภูมิศาสตร์
  • หมวดหมู่สินค้า

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

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

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

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

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

การเชื่อมคีย์พีซด้วย OR
การใช้ตัวดำเนินการ OR กับชิ้นส่วนสำคัญ

ตัวอย่าง

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

การจัดองค์ประกอบที่สำคัญ

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

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

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

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

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

ดูอีกตัวอย่างได้ที่กลยุทธ์ ข

การเข้ารหัสขนาดเป็นคีย์

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

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

  • เมื่อตั้งค่าคีย์ขณะที่ผู้ใช้ดูหรือคลิกโฆษณาและทำ 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)

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

แผนที่โครงสร้างหลัก
แผนที่โครงสร้างคีย์

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

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

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

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

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

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

`11001 0 011 1100`

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

กลยุทธ์ ก. ต้นไม้แบบลึก 1 ต้น (โครงสร้างคีย์แบบละเอียด 1 โครงสร้าง)

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

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

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

คุณจะแยกโครงสร้างคีย์นี้ออกเป็นคีย์ 2 ประเภทเพื่อรองรับเป้าหมายการวัดผล 2 อย่าง

  • คีย์ประเภท 0: ประเภทเป้าหมายการวัด = 0 ซึ่งคุณตัดสินใจที่จะกำหนดเป็นจํานวนการซื้อ
  • คีย์ประเภทที่ 1: ประเภทเป้าหมายการวัดผล = 1 ซึ่งคุณตัดสินใจที่จะกําหนดเป็นมูลค่าการซื้อ

รายงานสรุปมีลักษณะดังนี้

รายงานสรุปกลยุทธ์ A
รายงานสรุปกลยุทธ์ ก.

คุณอาจมองว่ากลยุทธ์ ก. เป็นกลยุทธ์ "ต้นไม้ที่มีกิ่งก้านเดียว" ดังนี้

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

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

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

กลยุทธ์ ก ยังช่วยให้คุณตอบคำถามที่ 3 นี้ได้โดยตรงด้วย

"แคมเปญแต่ละแคมเปญในแต่ละภูมิภาคสร้างรายได้จากผลิตภัณฑ์แต่ละรายการเป็นจำนวนเท่าใด"

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

กลยุทธ์ B: ต้นไม้แบบตื้น 2 ต้น (โครงสร้างคีย์แบบหยาบ 2 โครงสร้าง)

ในกลยุทธ์ B คุณใช้โครงสร้างคีย์แบบคร่าวๆ 2 โครงสร้าง โดยแต่ละโครงสร้างจะมีชุดย่อยของ มิติข้อมูลที่คุณต้องการ

โครงสร้างคีย์ 1 และโครงสร้างคีย์ 2
โครงสร้างคีย์ 1 และโครงสร้างคีย์ 2

คุณจะแยกโครงสร้างหลักแต่ละอย่างออกเป็น 2 ประเภทหลักเพื่อรองรับเป้าหมายการวัดผล 2 อย่าง

  • ประเภทเป้าหมายการวัดผล = 0 ซึ่งคุณตัดสินใจที่จะกําหนดเป็นจํานวน การซื้อ
  • ประเภทเป้าหมายการวัดผล = 1 ซึ่งคุณตัดสินใจที่จะกําหนดเป็นมูลค่า การซื้อ

คุณจะมีคีย์ 4 ประเภทหลักๆ ดังนี้

  • ประเภทคีย์ I-0: โครงสร้างคีย์ I, จำนวนการซื้อ
  • ประเภทคีย์ I-1: โครงสร้างคีย์ I มูลค่าการซื้อ
  • คีย์ประเภท II-0: โครงสร้างคีย์ II, จำนวนการซื้อ
  • ประเภทคีย์ II-1: โครงสร้างคีย์ II, มูลค่าการซื้อ

รายงานสรุปมีลักษณะดังนี้

กลยุทธ์รายงานสรุป B
กลยุทธ์รายงานสรุป B

คุณอาจคิดว่ากลยุทธ์ B เป็นกลยุทธ์ "ต้นไม้ตื้น 2 ต้น" ดังนี้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

มาสร้างชิ้นส่วนสำคัญกัน

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

ตั้งค่าที่รวบรวมได้

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

สมมติว่ามีการซื้อประเภทผลิตภัณฑ์ 25 ในราคา $52

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

  • key_purchaseCount: Conversion 1 ครั้ง
  • key_purchaseValue: $52

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

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

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

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

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

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

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

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

  • key_purchaseCount: 1 × 32,768 = 32,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.