Topics API สําหรับเว็บ

Topics API ช่วยให้สามารถโฆษณาตามความสนใจได้โดยไม่ต้องใช้คุกกี้ของบุคคลที่สาม

วิธีการทํางานของ Topics API

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

หัวข้อสำคัญ

  • หัวข้อคือหัวข้อที่ผู้ใช้ปัจจุบันสนใจซึ่งมนุษย์อ่านได้ และเป็นส่วนหนึ่งของการจัดหมวดหมู่หัวข้อ
  • ผู้เรียกคือเอนทิตี เช่น แอป, SDK ของบุคคลที่สาม, เว็บไซต์ หรือบริการที่ส่งคําขอไปยัง Topics API เพื่อสังเกตหรือเข้าถึงความสนใจของผู้ใช้
  • ผู้เรียกใช้จะสังเกตหัวข้อได้หากผู้เรียกใช้ส่งคำขอ Topics API จากหน้าเว็บหรือแอปที่เชื่อมโยงกับหัวข้อนี้ในช่วง 3 ยุคที่ผ่านมา
  • Epoch คือระยะเวลาของการคำนวณหัวข้อ ซึ่งค่าเริ่มต้นคือ 1 สัปดาห์
  • การจัดหมวดหมู่คือรายการหมวดหมู่ที่เป็นลําดับชั้น ซึ่งรวมถึงหมวดหมู่ต่างๆ เช่น /Arts & Entertainment/Music & Audio/Soul & R&B และ /Business & Industrial/Business Services/Corporate Events
  • ระบบจะดึงข้อมูลหัวข้อโดยใช้โมเดลการจัดหมวดหมู่ซึ่งจับคู่กิจกรรมของผู้ใช้กับหัวข้อตั้งแต่ 0 หัวข้อขึ้นไป

ขั้นตอนหลักของขั้นตอนการทํางานของ Topics API

วงจรการใช้งานของ Topics API มี 3 ขั้นตอนหลักดังนี้

  • สังเกตกิจกรรมของผู้ใช้ เช่น เมื่อผู้ใช้เข้าชมหน้าเว็บ https://cats.example/tabby/index.html หรือดาวน์โหลดแอป cats
  • ดึงข้อมูลหัวข้อจากกิจกรรมของผู้ใช้ เช่น /Pets & Animals/Pets/Cats
  • เข้าถึงหัวข้อที่สังเกตได้ก่อนหน้านี้สําหรับผู้ใช้ เช่น เป็นสัญญาณในการเลือกการโฆษณาที่เกี่ยวข้อง (เช่น โปรโมชันอาหารแมว)

สังเกตหัวข้อ

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

  • สมมติว่ามีผู้เรียกใช้ Topics API 2 ราย ได้แก่ A และ B
  • โดยบริบทมี 2 รูปแบบ ดังนี้
    • Greenhouse เช่น แอปชื่อ Greenhouse หรือเว็บไซต์ greenhouse.example ที่เชื่อมโยงกับหัวข้อ Home & Garden
    • การออกกำลังกายเทนนิส เช่น แอปชื่อ "การออกกำลังกายเทนนิส" หรือเว็บไซต์ tennis.example ที่เชื่อมโยงกับหัวข้อ Sports/Tennis
  • ทั้งผู้โทร A และ B อยู่ในบริบทของ Greenhouse
  • เฉพาะผู้โทร B เท่านั้นที่อยู่ในบริบทของการออกกำลังกายเทนนิส
  • สมมติว่าไม่มีหัวข้อใดที่สังเกตได้สําหรับผู้ใช้ก่อนศักราช 1 เพื่อลดความซับซ้อน
  • ผู้ใช้เข้าชมแอป Greenhouse และผู้ที่โทร A และ B เรียกใช้ Topics API เพื่อบันทึกการเข้าชมหน้าเว็บหรือแอปของผู้ใช้ (ดูวิธีเรียกใช้ Topics API ในคู่มือการใช้งานที่แนะนำในขั้นตอนถัดไป) ระบบจะใช้ระเบียนนี้ (ชื่อโฮสต์หรือข้อมูลแอป) ในภายหลังเพื่อดึงหัวข้อที่น่าสนใจ จากนั้น Topics API จะทําเครื่องหมายหัวข้อ Home & Garden ว่าเป็นผู้สังเกตการณ์โดยทั้งผู้เรียก A และ B
  • ผู้ใช้เข้าชมแอปการออกกำลังกายเทนนิส เฉพาะผู้ที่เรียกใช้ B เท่านั้นที่ส่งคําขอ Topics API จากนั้น Topics API จะทําเครื่องหมายหัวข้อ Sports/Tennis ตามที่ผู้เรียก B สังเกตเห็น
  • เมื่อสิ้นสุด Epoch Topics API จะรีเฟรชหัวข้อยอดนิยมของผู้ใช้และระบุผู้เรียกใช้ที่สังเกตหัวข้อเหล่านี้ตามกิจกรรมของผู้ใช้
  • ต่อมา เมื่อผู้โทร B เรียกใช้ Topics API อีกครั้ง ระบบอาจได้รับหัวข้อ Home & Garden หรือ Sports/Tennis (หรือหัวข้อแบบสุ่มโดยมีโอกาส 5%) สำหรับผู้ใช้รายนี้ในอาร์เรย์คำตอบ
  • ผู้เรียก A จะเข้าถึงได้เฉพาะหัวข้อ Home & Garden เนื่องจากไม่เคยสังเกตหัวข้อ Sports/Tennis ซึ่งหมายความว่าบุคคลที่สามจะทราบเฉพาะหัวข้อที่ผู้ใช้สนใจภายในบริบทที่เฉพาะเจาะจง (แอปหรือเว็บไซต์) ที่หัวข้อนั้นปรากฏอยู่
แผนภาพที่แสดงว่า Topics API จะทําเครื่องหมายหัวข้อว่าสังเกตได้ก็ต่อเมื่อผู้เรียกมีอยู่ในบริบทเท่านั้น
Topics API จะทําเครื่องหมายหัวข้อที่สังเกตได้เฉพาะผู้เรียกที่มีอยู่ในบริบทของหัวข้อเหล่านี้ ผู้โทรจะเข้าถึงได้เฉพาะหัวข้อที่ตนสังเกตเท่านั้น

ดึงหัวข้อ

Topics จะดึงหัวข้อที่น่าสนใจจากกิจกรรมของผู้ใช้ หัวข้อจะเลือกจากการจัดหมวดหมู่แบบโอเพนซอร์สที่กำหนดไว้ล่วงหน้า Topics จะรีเฟรชหัวข้อยอดนิยม 5 อันดับแรกของผู้เรียกใช้และหัวข้อที่ผู้ใช้เรียกใช้ในช่วง Epoch 1 ครั้ง โมเดลการจัดประเภท Topics จะดึงหัวข้อมาจากกิจกรรมของผู้ใช้ เช่น ชื่อโฮสต์สําหรับการเข้าชมหน้าเว็บ ข้อมูลแอปใน Android

ผู้โทรเข้าถึงหัวข้อที่สนใจของผู้ใช้

API จะแสดงเฉพาะหัวข้อที่ผู้เรียกใช้สังเกตเห็นภายใน 3 ช่วงเวลาล่าสุด ระบบจะแสดงหัวข้อต่อผู้เรียกสูงสุด 3 หัวข้อ โดยให้ 1 หัวข้อสำหรับแต่ละ Epoch 3 รายการล่าสุด (หากผู้เรียกสังเกตหัวข้อสำหรับ Epoch นั้น) ผู้เรียกใช้สามารถใช้หัวข้อที่แสดงผลเพื่อเสริมข้อมูลตามบริบทและรวมเข้าด้วยกันเพื่อช่วยค้นหาโฆษณาที่เกี่ยวข้องกับผู้ใช้มากขึ้น

Epoch

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

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

หัวข้อบนเว็บในทางปฏิบัติ

ในเว็บ ระบบจะอนุมานหัวข้อจากชื่อโฮสต์ของหน้าเว็บที่ผู้ใช้เข้าชม เช่น หัวข้อที่อนุมานสําหรับเว็บไซต์ dogs.example อาจเป็น /Pets & Animals/Pets/Dogs

แผนภาพต่อไปนี้แสดงตัวอย่างที่เข้าใจง่ายเพื่อแสดงให้เห็นว่า Topics API อาจช่วยให้แพลตฟอร์มเทคโนโลยีโฆษณาเลือกโฆษณาที่เหมาะสมได้อย่างไร ตัวอย่างนี้ถือว่าเบราว์เซอร์ของผู้ใช้มีโมเดลในการแมปชื่อโฮสต์ของเว็บไซต์กับหัวข้ออยู่แล้ว

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

เบราว์เซอร์จะระบุต้นทางของผู้เรียกจากบริบทของโค้ดที่เรียก Topics API ในทางปฏิบัติ หมายความว่าผู้ใช้ Topics จะเรียก API ใน iframe จากต้นทาง หรือรวมหัวข้อไว้ในการดึงข้อมูลไปยังต้นทาง

เช่น คุณสามารถฝังแพลตฟอร์มฝั่งอุปทาน (SSP) ในเว็บไซต์ของผู้เผยแพร่โฆษณาหลายราย จากนั้น SSP จะเรียกใช้ Topics API ภายใน iframe จากต้นทาง ซึ่งช่วยให้สามารถสังเกตหัวข้อที่เชื่อมโยงกับผู้ใช้ในเว็บไซต์ของผู้เผยแพร่โฆษณาเหล่านั้นได้ จากนั้นระบบจะแชร์หัวข้อเหล่านี้กับแพลตฟอร์มฝั่งดีมานด์ (DSP) เพื่อช่วยเลือกโฆษณาที่เกี่ยวข้องสําหรับผู้ใช้

วิธีที่ API ตัดสินใจว่าผู้เรียกจะให้ดูหัวข้อใด

ผู้เรียก API จะได้รับเฉพาะหัวข้อที่สังเกตเห็นล่าสุด และระบบจะรีเฟรชหัวข้อของผู้ใช้ทุกๆ Epoch 1 ครั้ง ซึ่งเป็นระยะเวลาที่ตั้งค่าไว้ที่ 1 สัปดาห์ในการใช้งานของ Chrome ซึ่งหมายความว่า API จะระบุกรอบเวลาแบบเลื่อนไปเรื่อยๆ ซึ่งผู้เรียกอาจได้รับหัวข้อที่สังเกตได้

ตารางต่อไปนี้แสดงตัวอย่าง (แม้ว่าจะน้อยมากจนไม่สมจริง) ของประวัติการท่องเว็บสมมติของผู้ใช้ในช่วงยุคสมัยเดียว ซึ่งแสดงหัวข้อที่เกี่ยวข้องกับเว็บไซต์ที่ผู้ใช้เข้าชม และตัวเรียก API ที่แสดงอยู่ในแต่ละเว็บไซต์ (เอนทิตีที่เรียก document.browsingTopics() ในโค้ด JavaScript ที่รวมอยู่ในเว็บไซต์)

ไซต์ หัวข้อ ผู้เรียก API ในเว็บไซต์
running.example Running & Walking
Athletic Shoes
adtech1.example
adtech2.example
dogs.example Dogs adtech1.example
holiday.example Hotels & Accommodations adtech2.example
sunglasses.example Sunglasses [none]

เมื่อสิ้นสุดช่วงเวลา (โดยค่าเริ่มต้นคือ 1 สัปดาห์) Topics API จะสร้างหัวข้อยอดนิยมของเบราว์เซอร์สำหรับสัปดาห์นั้น

  • ตอนนี้ adtech1.example มีสิทธิ์รับหัวข้อ Running & Walking, Athletic Shoes และ Dogs เนื่องจากได้สังเกตหัวข้อดังกล่าวใน running.example และ dogs.example
  • adtech1.example ไม่มีสิทธิ์รับหัวข้อ Hotels & Accommodations สําหรับผู้ใช้รายนี้ เนื่องจากไม่มีหัวข้อดังกล่าวในเว็บไซต์ที่ผู้ใช้เข้าชมเมื่อเร็วๆ นี้ซึ่งเชื่อมโยงกับหัวข้อนั้น
  • adtech2.example เคยเห็นหัวข้อ Running & Walking, Athletic Shoes และ Hotels & Accommodations แต่ไม่เคยเห็นหัวข้อ Dogs

ผู้ใช้เข้าชม sunglasses.example ซึ่งมีหัวข้อ Sunglasses แต่ไม่มีการเรียกใช้ Topics API ในเว็บไซต์นั้น ขั้นตอนนี้หมายความว่า API จะไม่แสดงหัวข้อ Sunglasses แก่ผู้เรียก API รายใดก็ตาม

ในสัปดาห์ที่ 2 ผู้ใช้เข้าชมเว็บไซต์อื่น

ไซต์ หัวข้อ ผู้เรียก API ในเว็บไซต์
cameras.example Camera & Photo Equipment adtech2.example

นอกจากนี้ ระบบจะเพิ่มโค้ดจาก adtech2.example ลงใน sunglasses.example

ไซต์ หัวข้อ ผู้เรียก API ในเว็บไซต์
sunglasses.example Sunglasses adtech2.example

รวมถึง Running & Walking, Athletic Shoes และ Hotels & Accommodations จากสัปดาห์ที่ 1 ซึ่งหมายความว่าตอนนี้ adtech2.example จะสามารถรับหัวข้อ Camera & Photo Equipment และ Sunglasses ได้ แต่ต้องรอจนถึงศักราชถัดไป ซึ่งเป็นสัปดาห์ที่ 3 วิธีนี้ช่วยให้มั่นใจได้ว่าบุคคลที่สามจะไม่สามารถเรียนรู้เพิ่มเติมเกี่ยวกับอดีตของผู้ใช้ (ในกรณีนี้คือความสนใจเรื่องแฟชั่น) ได้มากกว่าการใช้คุกกี้

หลังจากผ่านไป 2 สัปดาห์ Running & Walking, Athletic Shoes และ Hotels & Accommodations อาจออกจากรายการหัวข้อที่มีสิทธิ์ของ adtech2.example หากผู้ใช้ไม่ได้เข้าชมเว็บไซต์ที่มีหัวข้อเหล่านั้นซึ่งมีโค้ดจาก adtech2.example

ขั้นตอนที่ Topics API ดำเนินการเมื่อผู้ใช้เข้าชมเว็บไซต์ที่ใช้ API
วิธีที่ API สังเกตและเข้าถึงหัวข้อ

โมเดลตัวแยกประเภท

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

การจัดหมวดหมู่

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

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

การจัดประเภทหัวข้อ

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

หน้า chrome://topics-internals ที่เลือกแผงตัวจัดหมวดหมู่ไว้
แผงตัวจัดหมวดหมู่หน้า chrome://topics-internals จะแสดงเวอร์ชันโมเดล เส้นทาง และหัวข้อที่เชื่อมโยงกับโฮสต์แต่ละรายการที่แสดง

การใช้งาน Topics API ของ Chrome จะดาวน์โหลดไฟล์ TensorFlow Lite ที่แสดงโมเดลเพื่อให้ใช้โมเดลในเครื่องของผู้ใช้ได้

วิธีที่ระบบเลือก 5 หัวข้อยอดนิยมของผู้ใช้

API จะแสดงผลหัวข้อ 1 หัวข้อต่อแต่ละ Epoch โดยสูงสุดไม่เกิน 3 หัวข้อ หากระบบแสดงผล 3 รายการ หัวข้อดังกล่าวจะรวมหัวข้อของยุคปัจจุบันและ 2 ยุคก่อนหน้า

  1. เมื่อสิ้นสุดแต่ละยุคของเบราว์เซอร์ เบราว์เซอร์จะรวบรวมรายการหน้าเว็บที่ตรงตามเกณฑ์ต่อไปนี้
    • ผู้ใช้เข้าชมหน้าเว็บระหว่างช่วงเวลาดังกล่าว
    • หน้าเว็บมีโค้ดที่เรียก document.browsingTopics()
    • API เปิดใช้งาน (เช่น ไม่ได้ถูกบล็อกโดยผู้ใช้หรือส่วนหัวคำตอบ)
  2. เบราว์เซอร์ในอุปกรณ์ของผู้ใช้จะใช้รูปแบบตัวจัดหมวดหมู่ที่ Topics API ระบุเพื่อจับคู่ชื่อโฮสต์ของแต่ละหน้ากับรายการหัวข้อ
    • หัวข้อรูท 22 หัวข้อในการจัดหมวดหมู่แต่ละหัวข้อจะได้รับมอบหมายให้กลุ่ม "ยูทิลิตีสูง" หรือ "ยูทิลิตีมาตรฐาน" โดยอิงตามความคิดเห็นจากระบบนิเวศการโฆษณา โดยเบราว์เซอร์จะจัดเรียงหัวข้อตามการกำหนดที่เก็บก่อน หัวข้อที่สืบทอดทั้งหมดจะรับการกําหนดกลุ่มของหัวข้อรูทหลัก โดยระบบจะจัดลำดับความสำคัญให้กับหัวข้อ "ประโยชน์สูง"
    • จากนั้นเบราว์เซอร์จะจัดเรียงหัวข้อตามความถี่ภายในแต่ละที่เก็บ
    • ระบบจะเลือก 5 หัวข้อยอดนิยมจากรายการที่จัดเรียงนี้ให้เป็นหัวข้อยอดนิยมของผู้ใช้สำหรับ Epoch นั้น

จากนั้นเมธอด document.browsingTopics() จะแสดงหัวข้อแบบสุ่มจาก 5 อันดับแรกสำหรับแต่ละ Epoch โดยมี 5% ที่ระบบจะสุ่มหัวข้อใดหัวข้อหนึ่งจากการจัดหมวดหมู่หัวข้อทั้งหมด ใน Chrome ผู้ใช้ยังนำหัวข้อแต่ละหัวข้อออก หรือล้างประวัติการท่องเว็บเพื่อลดจำนวนหัวข้อที่ API แสดงผลได้ด้วย นอกจากนี้ ผู้ใช้ยังเลือกไม่ใช้ API ได้ด้วย

คุณดูข้อมูลเกี่ยวกับหัวข้อที่สังเกตได้ในช่วงปัจจุบันได้จากหน้า chrome://topics-internals

ขั้นตอนถัดไป

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

ดูเพิ่มเติม

ดูแหล่งข้อมูลของเราเพื่อทำความเข้าใจเกี่ยวกับ Topics API บนเว็บให้ดียิ่งขึ้น