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

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

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

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

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

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

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

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

ขนาด

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

การร่วมให้ข้อมูลในฮิสโตแกรม

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

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

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

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

รายงานแบบรวมได้ประกอบด้วย

ผลลัพธ์รายงานรวมได้

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

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

  • ที่เก็บข้อมูล: คีย์การรวมที่เข้ารหัสเป็นไบต์สตริง
  • value: ค่ารวมสำหรับเป้าหมายการวัดดังกล่าว โดยเข้ารหัสเป็นไบต์สตริง

ตัวอย่าง

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

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

รายงานสรุป

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

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

ผลลัพธ์ที่ได้คือรายงานสรุปที่มีชุดคู่ {aggregation key, summary value}

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

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

ตัวอย่าง

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

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

คีย์การรวมในทางปฏิบัติ

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

โครงสร้างหลัก

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

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

โครงสร้างหลัก

ประเภทคีย์

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

คีย์จะคำนวณโดยนำ XOR (^) ของชิ้นส่วนคีย์นั้นๆ

ข้อมูลสำคัญ XORing

ตัวอย่าง

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

การจัดวางส่วนประกอบสำคัญ

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

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

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

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

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

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

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

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

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

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

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

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

แมปโครงสร้างที่สำคัญจะแสดงมิติข้อมูลแต่ละรายการและตำแหน่งในคีย์

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

ตัวอย่าง

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

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

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

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

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

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

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

  • หมวดหมู่ผลิตภัณฑ์: 5 บิต (25 = 32 > 29)
  • ประเภทเป้าหมายการวัด: 1 บิต เป้าหมายการวัดคือจํานวนการซื้อหรือมูลค่าการซื้อ ซึ่งหมายความว่าเป็นไปได้ 2 อย่างที่แตกต่างกัน ดังนั้น 1 บิตก็เพียงพอที่จะจัดเก็บข้อมูลนี้
  • รหัสภูมิศาสตร์: 3 บิต (23 = 8) นอกจากนี้ คุณยังต้องกำหนดแผนที่มิติข้อมูลสำหรับรหัสภูมิศาสตร์เพื่อให้ทราบว่าค่าไบนารีแต่ละค่าแสดงถึงพื้นที่ทางภูมิศาสตร์ใด แมปมิติข้อมูลสําหรับมิติข้อมูลรหัสภูมิศาสตร์อาจมีลักษณะดังนี้

    ค่าไบนารีในคีย์ ภูมิศาสตร์
    000 อเมริกาเหนือ
    001 อเมริกากลาง
    010 อเมริกาใต้
    011 ยุโรป
    100 แอฟริกา
    101 เอเชีย
    110 แคริบเบียน
    111 โอเชียเนีย

  • รหัสแคมเปญ: 4 บิต (24 = 16)

คีย์ที่เป็นไปตามโครงสร้างนี้จะมีความยาว 13 บิต (5 + 1 + 3 + 4)

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

การแมปโครงสร้างที่สำคัญ

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

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

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

มาดูกันว่าคุณจะใช้แมปโครงสร้างคีย์ในการถอดรหัสคีย์อย่างไร

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

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

11001 0 011 1100
ALT_TEXT_HERE

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

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

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

โดยมีขั้นตอนดังนี้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • กลยุทธ์ ก: โครงสร้างหลัก 1 โครงสร้าง
  • กลยุทธ์ ข: โครงสร้างหลักแบบคร่าวๆ 2 โครงสร้าง

กลยุทธ์ ก: แผนผังลึก 1 กลุ่ม (โครงสร้างคีย์แบบละเอียด 1 โครงสร้าง)

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

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

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

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

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

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

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

กลยุทธ์ ก ก็เปรียบเสมือนกลยุทธ์แบบ "1 แผนผังลึก" ดังนี้

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

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

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

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

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

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

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

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

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

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

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

สุดท้ายนี้คุณประกอบด้วย 4 ประเภทหลักๆ ดังนี้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ลงทะเบียนคีย์และค่าสำหรับข้อมูลพร็อพเพอร์ตี้หรือการคลิก
ลงทะเบียนคีย์และค่าสำหรับ Conversion

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

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

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

ส่วนคีย์ฝั่งแหล่งที่มาสำหรับรหัสคีย์... สตริงที่มีค่ามิติข้อมูลที่คุณต้องการตั้งค่า แฮชของสตริงนี้เป็นเลขฐานสิบหก โดยตัดให้เหลือ 64 บิตแรก (64/4 = 16 อักขระ1) แฮชฐานสิบหกที่มีเลข 0 ต่อท้ายเพื่อให้ XOR-ing ง่ายขึ้น นี่คือส่วนสำคัญของฝั่งแหล่งที่มา
key_purchaseCount นับ, CampaignID=12, GeoID=7 0x3cf867903fbb73ec 0x3cf867903fbb73ec0000000000000000
key_purchaseValue VALUE, CampaignID=12, GeoID=7 0X245265F432F16E73 0x245265f432f16e730000000000000000
1เลขฐาน 16 แต่ละหลักแทนตัวเลข 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 ต่อท้ายเพื่อให้ XOR-ing simplify นี่คือส่วนสำคัญของฝั่งเซิร์ฟเวอร์
key_purchaseCount หมวดหมู่ผลิตภัณฑ์=25 0X1C7ce88C4904B 0x0000000000000000f9e491fe37e55a0c
key_purchaseValue (เดียวกัน) (เดียวกัน) (เดียวกัน)
1เลขฐาน 16 แต่ละหลักแทนตัวเลข 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: 1 Conversion
  • key_purchaseValue: 1,560 บาท

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

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

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

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

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

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

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

คุณสามารถตั้งค่าต่อไปนี้

  • key_purchaseCount: 1*32,768 = 32,768
  • key_purchaseValue: 52*22 = 1,144

ในทางปฏิบัติ คุณจะตั้งค่าดังนี้โดยใช้ส่วนหัวเฉพาะ Attribution-Reporting-Register-Aggregatable-Values

// Instruct the browser to schedule-send a report
res.set(
  "Attribution-Reporting-Register-Aggregatable-Values",
  JSON.stringify(
    {
  "key_purchaseCount": 32768,
  "key_purchaseValue": 1144,
    }
))

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

เบราว์เซอร์จะจับคู่ Conversion กับการแสดงผลหรือการคลิกก่อนหน้า และสร้างรายงานแบบรวมได้ ซึ่งมีเพย์โหลดที่เข้ารหัสไว้ข้างข้อมูลเมตารายงาน

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

[ {
  key: 0x3cf867903fbb73ecf9e491fe37e55a0c, // = source-side key piece XOR conversion-side key piece for the key key_purchaseCount 
  value: 32768 // the scaled value for 1 conversion, in the context of [CONTRIBUTION_BUDGET/2]
}, {
  key: 0x245265f432f16e73f9e491fe37e55a0c, // source-side key piece XOR conversion-side key piece for the key key_purchaseValue 
  value: 1144 // the scaled value for $52, in the context of [CONTRIBUTION_BUDGET/2] 
}]

ในส่วนนี้ คุณจะเห็นการมีส่วนร่วม 2 รายการแยกกันภายในรายงานที่รวบรวมได้รายการเดียว

ขอรายงานสรุป

  • รายงานรวมเป็นกลุ่ม โปรดทำตามวิธีการในแบบกลุ่ม
  • สร้างคีย์ที่คุณต้องการดูข้อมูล ตัวอย่างเช่น หากต้องการดูข้อมูลสรุปสำหรับ COUNT (จำนวนการซื้อทั้งหมด) และ VALUE (มูลค่าการซื้อทั้งหมด) สำหรับรหัสแคมเปญ 12 x รหัสภูมิศาสตร์ 7 x หมวดหมู่ผลิตภัณฑ์ 25 ให้ทำดังนี้
เมตริกที่ต้องการขอ1 ส่วนสำคัญของแหล่งที่มา คีย์ชิ้นส่วนฝั่งทริกเกอร์ คีย์สำหรับส่งคำขอไปยังบริการรวบรวมข้อมูล2
จำนวนการซื้อทั้งหมด (COUNT) 0x3cf867903fbb73ec
00000000000000000
0x00000000000000
00f9e491fe37e55a0c
0x3cf867903fbb73
ecf9e491fe37e55a0c
มูลค่าการซื้อทั้งหมด (VALUE) 0x245265f432f16e73
0000000000000000
0x0000000000000000
f9e491fe37e55a0c
0x245265f432f16e73
F9e491fe37e55a0c
1เมตริกที่คุณต้องการขอ (สำหรับรหัสแคมเปญ 12 x รหัสภูมิศาสตร์ 7 x หมวดหมู่ผลิตภัณฑ์ 25) 2คีย์ที่ส่งคำขอไปยังบริการการรวม = ชิ้นส่วนคีย์ฝั่งแหล่งที่มา XOR ส่วนคีย์ฝั่งทริกเกอร์
  • ขอข้อมูลสรุปไปยังบริการรวบรวมสำหรับคีย์เหล่านี้

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

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

[
  {"bucket": "00111100111110000110011110010000001111111011101101110011111011001111100111100100100100011111111000110111111001010101101000001100", 
    "value": "2558500"}, 
  {"bucket": "00100100010100100110010111110100001100101111000101101110011100111111100111100100100100011111111000110111111001010101101000001100", 
    "value": "687060"}, 
… 
]

ที่เก็บข้อมูลแรกคือคีย์ COUNT ในไบนารี ที่เก็บข้อมูลที่ 2 คือคีย์ VALUE ในไบนารี โปรดทราบว่าแม้คีย์จะต่างกัน (COUNT กับ VALUE) แต่คีย์เหล่านี้จะอยู่ในรายงานเดียวกัน

ลดค่าต่างๆ

  • 2,558,500 หมายถึงจำนวนการซื้อสำหรับคีย์นี้ ซึ่งเพิ่มขึ้นตามปัจจัยการปรับขนาดที่คำนวณไว้ก่อนหน้านี้ ปัจจัยการปรับสเกลสำหรับจำนวนการซื้อคือ 32,768 หาร 2,558,500 ด้วยงบประมาณการมีส่วนร่วมของเป้าหมาย: 2,558,500/32,768 = การซื้อ 156.15 ครั้ง
  • 687,060 → 687,060/22 = มูลค่าการซื้อรวม $31,230

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

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