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.

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.

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.