Topics API dành cho web

Topics API cho phép quảng cáo dựa trên mối quan tâm mà không cần sử dụng cookie của bên thứ ba.

Cách hoạt động của Topics API

Bạn có thể dùng Topics API để quan sát và cấp quyền truy cập vào những chủ đề mà người dùng có vẻ quan tâm, dựa trên hoạt động của họ. Sau đó, Topics API có thể cấp cho phương thức gọi API (chẳng hạn như nền tảng công nghệ quảng cáo) quyền truy cập vào các chủ đề mà người dùng quan tâm, nhưng không tiết lộ thêm thông tin về hoạt động của người dùng.

Khái niệm chính

  • Chủ đề (topic) là chủ đề mà người dùng hiện tại quan tâm (mọi người đều có thể đọc được), đồng thời chủ đề này cũng nằm trong hệ thống phân loại Chủ đề.
  • Phương thức gọi là một thực thể (chẳng hạn như ứng dụng, SDK bên thứ ba, trang web hoặc dịch vụ) đưa ra yêu cầu đến Topics API để quan sát hoặc truy cập vào mối quan tâm của người dùng.
  • Một chủ đề sẽ được quan sát qua một phương thức gọi, nếu phương thức gọi đó đã đưa ra yêu cầu Topics API từ một trang web hoặc ứng dụng liên kết với chủ đề này trong 3 khoảng thời gian bắt đầu gần đây nhất của hệ thống.
  • Thời gian bắt đầu của hệ thống là khoảng thời gian tính toán chủ đề, mặc định là một tuần.
  • Hệ thống phân loại là một danh sách phân cấp các danh mục, bao gồm các danh mục như /Arts & Entertainment/Music & Audio/Soul & R&B/Business & Industrial/Business Services/Corporate Events.
  • Các chủ đề được lấy bằng cách sử dụng mô hình phân loại liên kết hoạt động của người dùng với 0 hoặc nhiều chủ đề.

Các bước chính trong quy trình của Topics API

Vòng đời của Topics API có 3 bước chính:

  • Quan sát hoạt động của người dùng, chẳng hạn như khi họ truy cập vào trang web https://cats.example/tabby/index.html hoặc tải ứng dụng cats xuống.
  • Trích xuất chủ đề từ hoạt động của người dùng, ví dụ: /Pets & Animals/Pets/Cats.
  • Các chủ đề truy cập mà người dùng từng quan tâm, chẳng hạn như một tín hiệu để chọn quảng cáo phù hợp (chẳng hạn như quảng cáo thức ăn cho mèo).

Quan sát chủ đề

Phương thức gọi chỉ có thể truy cập vào những chủ đề mà họ quan sát được. Phương thức gọi quan sát một chủ đề khi thực hiện yêu cầu Topics API từ một ngữ cảnh liên kết với chủ đề này. Để minh hoạ khái niệm này, hãy xem xét ví dụ đơn giản sau.

  • Giả sử có hai phương thức gọi API Chủ đề: AB.
  • Có hai ngữ cảnh:
    • Greenhouse, ví dụ: một ứng dụng có tên Greenhouse hoặc trang web greenhouse.example, được liên kết với chủ đề Home & Garden.
    • Bài tập thể dục quần vợt, ví dụ: một ứng dụng có tên là Bài tập thể dục quần vợt hoặc trang web tennis.example, được liên kết với chủ đề Sports/Tennis.
  • Cả phương thức gọi AB đều có trong ngữ cảnh của Greenhouse.
  • Chỉ có phương thức gọi B xuất hiện trong ngữ cảnh của Bài tập thể dục tennis.
  • Giả sử không có chủ đề nào được quan sát cho người dùng trước khoảng thời gian bắt đầu 1, để đơn giản hoá.
  • Người dùng truy cập vào ứng dụng Greenhouse và phương thức gọi AB thực hiện lệnh gọi Topics API để ghi lại lượt truy cập của người dùng vào trang hoặc ứng dụng (xem hướng dẫn triển khai được đề xuất trong phần Các bước tiếp theo để tìm hiểu cách gọi Topics API). Sau đó, bản ghi này (tên máy chủ hoặc dữ liệu ứng dụng) được dùng để suy ra các chủ đề bạn quan tâm. Sau đó, Topics API sẽ đánh dấu chủ đề Home & Garden là chủ đề được cả phương thức gọi AB ghi nhận.
  • Người dùng truy cập vào ứng dụng Bài tập thể dục tennis. Chỉ phương thức gọi B mới gửi yêu cầu Topics API. Sau đó, Topics API sẽ đánh dấu chủ đề Sports/Tennis là chủ đề mà phương thức gọi B đã quan sát được.
  • Vào cuối thời gian bắt đầu của hệ thống, Topics API sẽ làm mới các chủ đề hàng đầu của người dùng và xác định những phương thức gọi đã quan sát thấy các chủ đề này dựa trên hoạt động của người dùng.
  • Sau đó, khi phương thức gọi B thực hiện một lệnh gọi API Chủ đề khác, phương thức này có thể nhận được chủ đề Home & Garden hoặc Sports/Tennis (hoặc một chủ đề ngẫu nhiên với xác suất 5%) cho người dùng này trong mảng phản hồi.
  • Phương thức gọi A chỉ có thể truy cập vào chủ đề Home & Garden, vì phương thức này chưa bao giờ quan sát thấy chủ đề Sports/Tennis. Điều này có nghĩa là bên thứ ba sẽ chỉ tìm hiểu về chủ đề mà người dùng quan tâm trong bối cảnh cụ thể (ứng dụng hoặc trang web) nơi chủ đề đó xuất hiện.
Sơ đồ cho thấy rằng Topics API chỉ đánh dấu các chủ đề là đã quan sát được nếu phương thức gọi có mặt trong ngữ cảnh.
Topics API đánh dấu các chủ đề chỉ được quan sát bởi các phương thức gọi có mặt trong ngữ cảnh của các chủ đề này. Phương thức gọi sẽ chỉ có thể truy cập vào các chủ đề mà chúng đã quan sát.

Trích xuất chủ đề

Topics API lấy chủ đề quan tâm từ hoạt động của người dùng. Các chủ đề này được chọn từ một hệ thống phân loại nguồn mở được xác định trước. Mỗi khoảng thời gian bắt đầu của hệ thống, API Chủ đề sẽ làm mới 5 chủ đề hàng đầu của người dùng và những phương thức gọi đã quan sát thấy các chủ đề đó trong khoảng thời gian bắt đầu của hệ thống. Mô hình thuật toán phân loại Chủ đề lấy chủ đề từ hoạt động của người dùng: tên máy chủ của một lượt truy cập trang web, thông tin ứng dụng trên Android.

Phương thức gọi truy cập vào các chủ đề mà người dùng quan tâm

API chỉ trả về những chủ đề mà phương thức gọi đã quan sát được trong 3 khoảng thời gian bắt đầu gần đây nhất. Hệ thống có thể trả về tối đa 3 chủ đề cho phương thức gọi,mỗi chủ đề cho một trong 3 khoảng thời gian bắt đầu gần đây (nếu phương thức gọi đã ghi nhận chủ đề cho khoảng thời gian bắt đầu đó). Phương thức gọi có thể sử dụng các chủ đề được trả về để bổ sung cho mọi thông tin theo bối cảnh và có thể kết hợp các chủ đề này để giúp tìm quảng cáo phù hợp hơn cho người dùng.

Thời gian bắt đầu

Topics API phải đảm bảo rằng các chủ đề mà nó cung cấp luôn được cập nhật. Các chủ đề được suy luận cho người dùng dựa trên hoạt động của họ trong một khoảng thời gian gọi là thời gian bắt đầu của hệ thống (theo mặc định là một tuần). Mỗi người dùng có các epoch riêng (epoch là "trên mỗi người dùng") và thời gian bắt đầu ban đầu được tạo ngẫu nhiên.

Sau mỗi khoảng thời gian bắt đầu của hệ thống, Topics API sẽ tính toán 5 chủ đề hàng đầu của người dùng và xác định những phương thức gọi nào đã quan sát thấy các chủ đề đó bằng thông tin trên thiết bị. Chủ đề được chọn cho mỗi thời gian bắt đầu của hệ thống sẽ được chọn ngẫu nhiên trong 5 chủ đề hàng đầu của người dùng trong khoảng thời gian đó. Để tăng cường quyền riêng tư và đảm bảo rằng tất cả chủ đề đều có thể được thể hiện, có 5% khả năng chủ đề được chọn ngẫu nhiên trong số tất cả chủ đề có thể có trong hệ thống phân loại mối quan tâm.

Chủ đề trên Web trong thực tế

Trên web, các chủ đề được suy luận từ tên máy chủ của những trang mà người dùng truy cập. Ví dụ: chủ đề được suy luận cho trang web dogs.example có thể là /Thú cưng và động vật/Thú cưng/Chó.

Sơ đồ sau đây cho thấy một ví dụ đơn giản để minh hoạ cách Topics API có thể giúp một nền tảng công nghệ quảng cáo chọn một quảng cáo phù hợp. Ví dụ này giả định rằng trình duyệt của người dùng đã có một mô hình để liên kết tên máy chủ của trang web với các chủ đề.

Sơ đồ minh hoạ các giai đoạn trong vòng đời của Topics API, từ khi người dùng truy cập vào các trang web cho đến khi quảng cáo xuất hiện.
Sơ đồ vòng đời của Topics API trình bày các giai đoạn của các thao tác API theo quan điểm cấp cao.

Trình duyệt xác định nguồn gốc của phương thức gọi từ bối cảnh của mã gọi Topics API. Trên thực tế, điều này có nghĩa là người dùng Topics gọi API trong một iframe từ nguồn gốc của họ hoặc họ đưa các chủ đề vào một lệnh fetch (tìm nạp) đến nguồn gốc của họ.

Ví dụ: bạn có thể nhúng một nền tảng bên cung (SSP) vào nhiều trang web của nhà xuất bản. Sau đó, SSP này có thể gọi Topics API trong một iframe từ nguồn gốc của nền tảng này, giúp SSP quan sát các chủ đề liên kết với người dùng trên trang web của nhà xuất bản đó. Sau đó, các chủ đề này có thể được chia sẻ với nền tảng bên cầu (DSP) để giúp nền tảng này chọn quảng cáo phù hợp cho người dùng.

Cách API quyết định những phương thức gọi nào sẽ thấy những chủ đề nào

Các phương thức gọi API chỉ nhận được những chủ đề mà chúng đã quan sát gần đây và các chủ đề cho một người dùng sẽ được làm mới một lần trong mỗi khoảng thời gian bắt đầu của hệ thống: một khoảng thời gian được đặt thành một tuần trong quá trình triển khai của Chrome. Điều đó có nghĩa là API này cung cấp một khoảng thời gian liên tục, trong đó một phương thức gọi nhất định có thể nhận được các chủ đề được ghi nhận.

Bảng sau đây trình bày một ví dụ (dù nhỏ một cách phi thực tế) về nhật ký duyệt web giả định của một người dùng trong một kỷ nguyên duy nhất, cho thấy các chủ đề được liên kết với những trang web mà họ đã truy cập và những đối tượng gọi API có trên mỗi trang web (những thực thể gọi document.browsingTopics() trong mã JavaScript có trên trang web).

Trang web Chủ đề Đối tượng gọi API trên trang web
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]

Vào cuối khoảng thời gian bắt đầu của hệ thống (theo mặc định là một tuần), Topics API sẽ tạo ra các chủ đề hàng đầu của trình duyệt trong tuần.

  • adtech1.example hiện đủ điều kiện nhận các chủ đề Running & Walking, Athletic ShoesDogs, vì nền tảng này đã quan sát các chủ đề đó trên running.example và cả trên dogs.example.
  • adtech1.example không đủ điều kiện nhận chủ đề Hotels & Accommodations cho người dùng này vì chủ đề đó không xuất hiện trên bất kỳ trang web nào mà người dùng đã truy cập gần đây có liên kết với chủ đề đó.
  • adtech2.example đã xem các chủ đề Running & Walking, Athletic ShoesHotels & Accommodations, nhưng chưa xem chủ đề Dogs.

Người dùng đã truy cập vào sunglasses.example, trang web này có chủ đề Sunglasses, nhưng không có lệnh gọi nào đến Topics API trên trang web đó. Tại thời điểm này, điều này có nghĩa là API sẽ không trả về chủ đề Sunglasses cho bất kỳ phương thức gọi nào.

Trong tuần thứ hai, người dùng truy cập vào một trang web khác:

Trang web Chủ đề Đối tượng gọi API trên trang web
cameras.example Camera & Photo Equipment adtech2.example

Ngoài ra, mã từ adtech2.example sẽ được thêm vào sunglasses.example:

Trang web Chủ đề Đối tượng gọi API trên trang web
sunglasses.example Sunglasses adtech2.example

Cũng như Running & Walking, Athletic ShoesHotels & Accommodations từ tuần 1, điều này có nghĩa là adtech2.example hiện sẽ có thể nhận được các chủ đề Camera & Photo EquipmentSunglasses – nhưng chỉ đến kỷ nguyên tiếp theo, tức là tuần 3. Điều này đảm bảo rằng các bên thứ ba không thể tìm hiểu thêm về quá khứ của người dùng (trong trường hợp này là mối quan tâm đến thời trang) so với khi họ sử dụng cookie.

Sau 2 tuần nữa, Running & Walking, Athletic ShoesHotels & Accommodations có thể bị loại khỏi danh sách các chủ đề đủ điều kiện của adtech2.example nếu người dùng không truy cập vào bất kỳ trang web nào có các chủ đề đó bao gồm mã từ adtech2.example.

Các bước mà Topics API thực hiện khi người dùng truy cập vào những trang web sử dụng API này.
Cách API quan sát và truy cập vào các chủ đề.

Mô hình phân loại

Topics sử dụng một mô hình phân loại để liên kết tên máy chủ của trang web với không hoặc nhiều chủ đề (việc phân tích thông tin bổ sung, chẳng hạn như URL đầy đủ hoặc nội dung trang, có thể cho phép quảng cáo phù hợp hơn, nhưng cũng có thể làm giảm quyền riêng tư).

Cách phân loại

Các chủ đề được chọn từ một hệ thống phân loại. Chrome đã tuyển chọn các chủ đề này với mục tiêu biến hệ thống phân loại này thành một tài nguyên do những người đóng góp đáng tin cậy trong hệ sinh thái duy trì. Phân loại cần phải đủ nhỏ để nhiều trình duyệt của người dùng được liên kết với từng chủ đề. Mục tiêu cuối cùng là lấy thông tin phân loại từ một bên bên ngoài, trong đó có ý kiến phản hồi và ý tưởng của toàn ngành.

Để tránh các danh mục nhạy cảm, các chủ đề phải được công khai, do con người tuyển chọn và luôn được cập nhật. Hệ thống phân loại mà Chrome sử dụng được con người tuyển chọn để loại trừ các danh mục thường được coi là nhạy cảm, chẳng hạn như sắc tộc hoặc xu hướng tình dục.

Phân loại chủ đề

Các chủ đề được tuyển chọn thủ công cho 50.000 trang web hàng đầu và danh sách ghi đè được tuyển chọn này gồm các tên máy chủ và chủ đề được dùng để huấn luyện mô hình phân loại. Đối với các trang web hàng đầu, chủ đề được truy cập từ danh sách ghi đè thay vì sử dụng mô hình phân loại. Bạn có thể xem danh sách ghi đè trên máy tính.

Trang chrome://topics-internals có bảng điều khiển Trình phân loại được chọn.
Bảng phân loại trang chrome://topics-internals liệt kê phiên bản mô hình, đường dẫn và các chủ đề liên kết với từng máy chủ được liệt kê.

Việc triển khai Topics API của Chrome sẽ tải một tệp TensorFlow Lite xuống để biểu thị mô hình, nhờ đó, mô hình này có thể được dùng cục bộ trên thiết bị của người dùng.

Cách chọn 5 chủ đề hàng đầu của người dùng

API này trả về một chủ đề cho mỗi khoảng thời gian bắt đầu của hệ thống, tối đa là 3 chủ đề. Nếu có 3 chủ đề được trả về, thì đó là các chủ đề cho kỷ nguyên hiện tại và 2 kỷ nguyên trước đó.

  1. Vào cuối mỗi giai đoạn, trình duyệt sẽ biên dịch một danh sách các trang đáp ứng các tiêu chí sau:
    • Người dùng đã truy cập vào trang này trong khoảng thời gian.
    • Trang này có chứa mã gọi document.browsingTopics().
    • API đã được bật (ví dụ: không bị người dùng hoặc tiêu đề phản hồi chặn).
  2. Trên thiết bị của người dùng, trình duyệt sẽ sử dụng mô hình phân loại do Topics API cung cấp để liên kết tên máy chủ cho từng trang với danh sách chủ đề.
  3. Trình duyệt sẽ tạo danh sách 5 chủ đề hàng đầu.

    • Mỗi chủ đề trong số 22 chủ đề gốc trong phân loại được chỉ định cho một nhóm "tiện ích cao" hoặc "tiện ích tiêu chuẩn" dựa trên ý kiến phản hồi từ hệ sinh thái quảng cáo. Trước tiên, trình duyệt sẽ sắp xếp các chủ đề theo việc chỉ định nhóm. Tất cả các chủ đề con đều kế thừa việc chỉ định nhóm của chủ đề gốc mẹ. Các chủ đề "có tính hữu ích cao" được ưu tiên.
    • Sau đó, trình duyệt sẽ sắp xếp các chủ đề theo tần suất trong mỗi nhóm.
    • 5 chủ đề hàng đầu trong danh sách được sắp xếp này sẽ được chọn làm chủ đề hàng đầu của người dùng cho thời gian bắt đầu của hệ thống đó.

Sau đó, phương thức document.browsingTopics() sẽ trả về một chủ đề ngẫu nhiên trong số 5 chủ đề hàng đầu cho mỗi thời gian bắt đầu của hệ thống, với 5% khả năng bất kỳ chủ đề nào trong số này có thể được chọn ngẫu nhiên trong toàn bộ hệ thống phân loại chủ đề. Trong Chrome, người dùng cũng có thể xoá từng chủ đề hoặc xoá nhật ký duyệt web để giảm số lượng chủ đề mà API trả về. Người dùng cũng có thể chọn không sử dụng API này.

Bạn có thể xem thông tin về các chủ đề được quan sát trong giai đoạn hiện tại trên trang chrome://topics-internals.

Các bước tiếp theo

Chuẩn bị môi trường để kiểm thử và phát triển ứng dụng web bằng Topics API.
Hãy xem thông tin chi tiết về cách triển khai và mã mẫu để người gọi có thể quan sát và truy cập vào các chủ đề.

Xem thêm

Hãy xem các tài nguyên của chúng tôi để hiểu rõ hơn về Topics API trên web.