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

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

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

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

หัวข้อสำคัญ

  • หัวข้อคือหัวข้อที่ผู้ใช้ปัจจุบันสนใจซึ่งมนุษย์อ่านได้ และเป็นส่วนหนึ่งของการจัดหมวดหมู่หัวข้อ
  • ผู้เรียกคือเอนทิตี เช่น แอป, SDK ของบุคคลที่สาม, เว็บไซต์ หรือบริการที่ส่งคําขอไปยัง Topics API เพื่อสังเกตหรือเข้าถึงความสนใจของผู้ใช้
  • ระบบจะสังเกตหัวข้อเมื่อผู้เรียกใช้ส่งคำขอ Topics API จากหน้าเว็บหรือแอปที่เชื่อมโยงกับหัวข้อนี้ในช่วง 3 ยุคที่ผ่านมา
  • ช่วงเวลาเริ่มต้นคือระยะเวลาของการคำนวณหัวข้อ ซึ่งค่าเริ่มต้นคือ 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 จะรีเฟรชหัวข้อยอดนิยม 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 มีให้เพื่อจับคู่ชื่อโฮสต์ของหน้าเว็บแต่ละหน้ากับรายการหัวข้อ
  3. เบราว์เซอร์จะสร้างรายการหัวข้อ 5 อันดับแรก

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

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

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

Next steps

Get your environment ready to test and develop web applications with the Topics API.
Check out implementation details and code samples for callers to observe and access topics.

See also

Check out our resources to better understand the Topics API on the Web.