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.

How the Topics API works

The Topics API can be used to observe and provide access to topics that appear to be of interest to the user, based on their activity. The Topics API can then give API callers (such as ad tech platforms) access to a user's topics of interest, but without revealing additional information about the user's activity.

Key concepts

  • A topic is a human-readable topic of interest for the current user and is part of the Topics taxonomy.
  • A caller is an entity, such as an app, a third-party SDK, a website, or service, that makes a request to the Topics API to observe or access a user's interests.
  • A topic is observed by a caller, if the caller made a Topics API request from a web page or app associated with this topic during the past three epochs.
  • An epoch is a period of topic computation, which defaults to one week.
  • A taxonomy is a hierarchical list of categories, which includes, for example, such categories as /Arts & Entertainment/Music & Audio/Soul & R&B and /Business & Industrial/Business Services/Corporate Events.
  • Topics are derived using a classifier model that maps user activity to zero or more topics.

Topics API flow core steps

The Topics API lifecycle has three main steps:

  • Observe user activity, such as when they visit the web page https://cats.example/tabby/index.html or download the app cats.
  • Derive topics from user activity, for example /Pets & Animals/Pets/Cats.
  • Access topics previously observed for the user, for example as a signal to select relevant advertising (such as a cat food promotion).

Observe topics

Callers can only access topics of interest that they've observed. A caller observes a topic when they make a Topics API request from a context associated with this topic. To illustrate this concept, consider the following simplified example.

  • Suppose there are two Topics API callers: A and B.
  • There are two contexts:
    • Greenhouse, for example an app named Greenhouse or a website greenhouse.example, associated with the topic Home & Garden.
    • Tennis exercises, for example an app named Tennis Exercises or a website tennis.example, associated with the topic Sports/Tennis.
  • Both caller A and B are present in the context of Greenhouse.
  • Only the caller B is present in the context of Tennis exercises.
  • Assume that no topics were observed for the user before epoch 1, for the sake of simplification.
  • The user visits the Greenhouse app, and callers A and B make a Topics API call to record the user visit to the page or app (see the implementation guide suggested in Next steps to find out how to call the Topics API). This record (a hostname or app data) is later used to derive topics of interest. The Topics API will later mark the topic Home & Garden as observed by both callers A and B.
  • The user visits the Tennis exercises app. Only the caller B sends a Topics API request. The Topics API will later mark the topic Sports/Tennis as observed by the caller B.
  • By the end of the epoch, the Topics API refreshes the user's top topics and determines the callers that observed these topics based on user activity.
  • Later, when the caller B makes another Topics API call, it can get either Home & Garden or Sports/Tennis topic (or, with a 5% chance, a random topic) for this user in the response array.
  • Caller A can only access the topic Home & Garden, as it has never observed the topic Sports/Tennis. This means that a third-party will only learn about a user's topic of interest within the specific context (app or website) where it is present.
Diagram showing that the Topics API only marks the topics as observed if the callers has presence in the context.
The Topics API marks the topics observed only by the callers that have presence in the context of these topics. The callers will only be able to access the topics they have observed.

Derive topics

Topics derives topics of interest from user activity. The topics are selected from a predefined open-source taxonomy. Once per epoch, Topics refreshes the user's top five topics and the callers that observed them during the epoch. The Topics classifier model derives topics from user activity: hostname for a web page visit, app information on Android.

Caller accesses user's topics of interest

The API returns only topics that have been observed by the caller within the most recent three epochs. A maximum of three topics may be returned to a caller,one topic for each of the three recent epochs (if the caller observed topics for that epoch). The returned topics can be used by the caller to supplement any contextual information and can be combined to help find a more relevant ad for the user.

Epochs

The Topics API must ensure that the topics of interest it provides are kept up to date. The topics are inferred for a user based on their activity during a period of time known as an epoch, one week by default. Each user has their own epochs (epochs are "per user") and the initial start time is randomized.

Once each epoch, the Topics API computes the user's top five topics and determines which callers observed those topics using on-device information. The topic selected for each epoch is randomly selected from the user's top five topics for that time period. To further enhance privacy and ensure that all topics may be represented, there is a 5% chance the topic is randomly selected from all possible topics in the taxonomy of interests.

Áp dụng chủ đề trên web vào thực tế

Trên web, chủ đề được suy luận từ tên máy chủ của các 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 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ơ đồ cho thấy các giai đoạn trong vòng đời của Topics API, từ khi người dùng truy cập vào trang web cho đến khi quảng cáo hiển thị.
Sơ đồ vòng đời của Topics API trình bày các giai đoạn của các hành động API từ góc độ tổng quan.

Trình duyệt xác định nguồn gốc của phương thức gọi từ ngữ cảnh của mã gọi Topics API. Trong 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ượt tìm nạp đến nguồn gốc của họ.

Ví dụ: một nền tảng bên cung (SSP) có thể được nhúng 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 phương thức gọi nào sẽ thấy chủ đề nào

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 người dùng được làm mới một lần 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 cung cấp một cửa sổ cuộn 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ụ (mặc dù không 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, cho thấy các chủ đề liên kết với các trang web mà họ đã truy cập và các phương thức gọi API hiện diện trên mỗi trang web (các thực thể gọi document.browsingTopics() trong mã JavaScript có trên trang web).

Trang web Chủ đề Phương thức 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 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ì công nghệ này đã quan sát thấy các chủ đề đó trên running.example và cũng 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ủ đề này 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 và được liên kết với chủ đề đó.
  • adtech2.example đã thấy các chủ đề Running & Walking, Athletic ShoesHotels & Accommodations, nhưng chưa thấy chủ đề Dogs.

Người dùng đã truy cập vào trang web sunglasses.example 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ủ đề Phương thức gọi API trên trang web
cameras.example Camera & Photo Equipment adtech2.example

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

Trang web Chủ đề Phương thức 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 có thể nhận được các chủ đề Camera & Photo EquipmentSunglasses — nhưng phải đợi đến tuần 3. Điều này đảm bảo rằng bên thứ ba không thể tìm hiểu thêm về hoạt động trước đây 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 sử dụng cookie.

Sau hai tuần nữa, Running & Walking, Athletic ShoesHotels & Accommodations có thể bị loại khỏi danh sách 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ó chủ đề đó và chứa mã của adtech2.example.

Các bước mà Topics API thực hiện khi người dùng truy cập vào các 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

Tính năng Chủ đề 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 0 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ể giúp phân phát 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. Các chủ đề này do Chrome tuyển chọn với mục tiêu biến hệ thống phân loại này trở thành tài nguyên do các cộng tác viên đáng tin cậy trong hệ sinh thái duy trì. Hệ thống phân loại cần đủ 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à hệ thống phân loại này được lấy nguồn từ một bên bên ngoài, trong đó kết hợp ý kiến phản hồi và ý tưởng của cả ngành.

Để tránh các danh mục nhạy cảm, chủ đề phải 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. Danh sách ghi đè được tuyển chọn này gồm 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 với bảng điều khiển Trình phân loại được chọn.
Bảng điều khiển của mô hình phân loại trên trang chrome://topics-internals liệt kê phiên bản mô hình, đường dẫn của mô hình và các chủ đề liên kết với từng máy chủ được liệt kê.

Khi triển khai Topics API, Chrome sẽ tải một tệp TensorFlow Lite đại diện cho mô hình để có thể sử dụng mô hình đó 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 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 trả về 3 chủ đề, thì điều này bao gồm các chủ đề cho thời gian bắt đầu hiện tại và 2 thời gian bắt đầu trước đó.

  1. Vào cuối mỗi kỷ nguyên, trình duyệt sẽ biên dịch danh sách các trang đáp ứng các tiêu chí sau:
    • Người dùng đã truy cập vào trang trong khoảng thời gian bắt đầu.
    • Trang này bao gồm 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ình duyệt trên thiết bị của người dùng 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ủ của mỗi 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ủ đề gốc trong số 22 chủ đề gốc trong hệ thống phân loại được chỉ định cho một bộ chứa "có nhiều tiện ích" hoặc "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ắp xếp các chủ đề theo nhóm được chỉ định. Tất cả chủ đề con đều kế thừa việc chỉ định bộ chứa của chủ đề gốc mẹ. Các chủ đề "Có nhiều tiện ích" đượ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 đã sắp xếp này được chọn làm chủ đề hàng đầu của người dùng cho thời gian bắt đầu đó.

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 xác suất 5% là bất kỳ chủ đề nào trong số này có thể được chọn ngẫu nhiên từ 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 thời gian bắt đầu hiện tại trên trang 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.

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.