Xác định dữ liệu đối tượng

Tìm hiểu cách xác định đối tượng bằng cách tạo nhóm mối quan tâm thông qua Protected Audience API. Đọc hướng dẫn cho nhà phát triển để biết toàn bộ vòng đời của Protected Audience API và tham khảo tài liệu giải thích về Protected Audience API để xem đề xuất chi tiết về cách các trình duyệt ghi lại các nhóm mối quan tâm.

Bạn không phải là nhà phát triển? Hãy tham khảo tổng quan về Protected Audience API.

Nhóm mối quan tâm Protected Audience API

Nhóm mối quan tâm Protected Audience API đại diện cho một nhóm người có chung sở thích, tương ứng với danh sách tái tiếp thị. Mỗi nhóm có cùng mối quan tâm Protected Audience API đều có một chủ sở hữu.

Chủ sở hữu nhóm mối quan tâm đóng vai trò là người mua trong phiên đấu giá quảng cáo Protected Audience API. Thành viên của nhóm mối quan tâm được lưu trữ bởi trình duyệt và trên thiết bị của người dùng và không được chia sẻ với nhà cung cấp trình duyệt hay bất kỳ ai khác.

Các hàm API

joinAdInterestGroup()

Nền tảng bên cầu (DSP) của nhà quảng cáo hoặc chính nhà quảng cáo gọi navigator.joinAdInterestGroup() để yêu cầu trình duyệt thêm nhóm mối quan tâm vào danh sách thành viên của trình duyệt.

Nguồn gốc của ngữ cảnh gọi cho joinAdInterestGroup() phải khớp với nguồn gốc của chủ sở hữu nhóm mối quan tâm, vì vậy, joinAdInterestGroup() sẽ cần được gọi từ iframe (ví dụ: từ DSP) trừ phi nguồn gốc của chủ sở hữu nhóm mối quan tâm khớp với nguồn gốc của tài liệu hiện tại (ví dụ: một trang web có nhóm mối quan tâm riêng).

joinAdInterestGroup() yêu cầu quyền từ:

Điều này có nghĩa là malicious.example không thể gọi joinAdInterestGroup() cho một nhóm mối quan tâm do dsp.example.com sở hữu, khi dsp.example.com chưa cấp quyền.

Quyền từ trang web đã truy cập

Quyền có thể được cấp từ cùng một nguồn gốc hoặc nhiều nguồn gốc. Theo mặc định, quyền được cấp cho các lệnh gọi joinAdInterestGroup() có cùng nguồn với trang web được truy cập (nói cách khác, có cùng nguồn với khung cấp cao nhất của trang hiện tại).

Ví dụ về cách sử dụng

Dưới đây là ví dụ về cách một người có thể xác định một nhóm mối quan tâm và yêu cầu trình duyệt tham gia nhóm đó.

const interestGroup = {
  owner: 'https://dsp.example',
  name: 'custom-bikes',
  biddingLogicUrl: ...,
  biddingWasmHelperUrl: ...,
  updateUrl: ...,
  trustedBiddingSignalsUrl: ...,
  trustedBiddingSignalsKeys: ['key1', 'key2'],
  userBiddingSignals: {...},
  ads: [bikeAd1, bikeAd2, bikeAd3],
  adComponents: [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2],
};

navigator.joinAdInterestGroup(interestGroup, 7 * kSecsPerDay);

Đối tượng interestGroup được truyền đến hàm phải có kích thước không quá 50 kiB, nếu không lệnh gọi sẽ không thành công. Tham số thứ hai chỉ định thời lượng của nhóm mối quan tâm, giới hạn là 30 ngày. Các lệnh gọi kế tiếp sẽ ghi đè các giá trị được lưu trữ trước đó.

Thuộc tính bắt buộc

Các thuộc tính bắt buộc duy nhất cho nhóm mối quan tâm là ownername:

Tài sản Ví dụ: Role
owner https://dsp.example Nguồn gốc của chủ sở hữu nhóm mối quan tâm.
name custom-bikes Tên của nhóm mối quan tâm.

Thuộc tính tuỳ chọn

Các thuộc tính còn lại là không bắt buộc:

biddingLogicUrl1, 2
Ví dụ: https://dsp.example/bid/custom-bikes/bid.js
Vai trò: URL để đặt giá thầu JavaScript chạy trong worklet.
biddingWasmHelperUrl1, 2
Ví dụ: https://dsp.example/bid/custom-bikes/bid.wasm
Vai trò: URL cho mã WebAssembly lấy từ biddingLogicUrl.
updateUrl2
Ví dụ: https://dsp.example/bid/custom-bikes/update
Vai trò: URL trả về JSON để cập nhật các thuộc tính nhóm mối quan tâm. (Xem Cập nhật dữ liệu đối tượng và làm mới quảng cáo.)
trustedBiddingSignalsUrl2
Ví dụ: https://dsp.example/trusted/bidding-signals
Vai trò: URL cơ sở của các yêu cầu khoá-giá trị đối với dịch vụ Khoá/giá trị đáng tin cậy của bên đặt giá thầu.
trustedBiddingSignalsKeys
Ví dụ: ['key1', 'key2' ...]
Vai trò: Khoá cho các yêu cầu đối với dịch vụ Khoá/giá trị đáng tin cậy.
userBiddingSignals
Ví dụ: {...}
Vai trò: Siêu dữ liệu bổ sung mà chủ sở hữu có thể sử dụng trong quá trình đặt giá thầu.
ads1
Ví dụ: [bikeAd1, bikeAd2, bikeAd3]
Vai trò: Quảng cáo có thể hiển thị cho nhóm mối quan tâm này.
adComponents
Ví dụ: [customBike1, customBike2, bikePedal, bikeFrame1, bikeFrame2]
Vai trò: Các thành phần của quảng cáo bao gồm nhiều thành phần.

1 Bạn không bắt buộc phải sử dụng các thuộc tính biddingLogicUrlads để tham gia vào phiên đấu giá. Có thể có các trường hợp sử dụng để tạo nhóm mối quan tâm mà không cần các thuộc tính này: ví dụ: chủ sở hữu nhóm mối quan tâm có thể muốn thêm trình duyệt vào một nhóm mối quan tâm cho chiến dịch chưa chạy hoặc để sử dụng cho một số mục đích khác trong tương lai, hoặc họ có thể tạm thời hết ngân sách quảng cáo.

2 Trong phương thức triển khai Protected Audience API hiện tại, biddingLogicUrl, biddingWasmHelperUrl, updateUrltrustedBiddingSignalsUrl phải có cùng nguồn gốc với chủ sở hữu. Đó có thể không phải là quy tắc ràng buộc dài hạn cũng như các URL adsadComponents không có quy tắc ràng buộc nào như vậy.

Chỉ định quảng cáo cho nhóm mối quan tâm

Các đối tượng adsadComponents bao gồm URL cho một mẫu quảng cáo và siêu dữ liệu tuỳ ý (không bắt buộc) có thể dùng tại thời điểm đặt giá thầu.

Ví dụ:

{
  renderUrl: 'https://cdn.example/.../bikeAd1.html',
  metadata: bikeAd1metadata // optional
}

leaveAdInterestGroup()

Chủ sở hữu nhóm mối quan tâm có thể yêu cầu xoá một trình duyệt khỏi nhóm mối quan tâm. Trình duyệt sẽ xoá nhóm mối quan tâm đó khỏi danh sách thành viên.

navigator.leaveAdInterestGroup({
  owner: 'https://dsp.example',
  name: 'custom-bikes'
});

Nếu người dùng quay lại trang web đã yêu cầu trình duyệt thêm một nhóm mối quan tâm, thì chủ sở hữu nhóm mối quan tâm có thể gọi hàm navigator.leaveAdInterestGroup() để yêu cầu trình duyệt xoá nhóm mối quan tâm đó.

Mã của một quảng cáo cũng có thể gọi hàm này cho nhóm mối quan tâm của quảng cáo.

Câu hỏi thường gặp

Mỗi chủ sở hữu nhóm có tối đa bao nhiêu nhóm mối quan tâm cho một người dùng?

Chrome cho phép mỗi chủ sở hữu có tối đa 1.000 nhóm mối quan tâm và tối đa 1.000 chủ sở hữu nhóm mối quan tâm. Các giới hạn này được coi là rào chắn, không thể bị đạt đến trong quá trình hoạt động thông thường.

Làm cách nào để tối đa hoá quảng cáo theo nhóm mối quan tâm đáp ứng ngưỡng k-anon?

Như phần giải thích công khai lưu ý, vì một nhóm mối quan tâm có thể có nhiều quảng cáo có thể hiển thị, nhóm này sẽ có cơ hội đặt giá thầu lại một quảng cáo khác trong số các quảng cáo của nhóm để hoạt động làm "quảng cáo dự phòng" bất cứ khi nào lựa chọn ưu tiên nhất thấp hơn ngưỡng. Điều này có nghĩa là một quảng cáo nhỏ, chuyên biệt vẫn dưới ngưỡng k-anonymity vẫn có thể chọn tham gia phiên đấu giá và nhóm quan tâm của quảng cáo này có cách quay trở lại quảng cáo chung chung hơn cho đến khi quảng cáo chuyên biệt hơn có lượng đối tượng đủ lớn.

Từ góc độ chiến thuật, bạn có thể cân nhắc những điều sau:

  • Để một quảng cáo mới bắt đầu xuất hiện, bạn chỉ cần bắt đầu đặt giá thầu cho quảng cáo đó trong trường hợp bạn muốn quảng cáo đó xuất hiện. Bạn không cần phải làm gì thêm.
  • Bạn có thể có quảng cáo dự phòng mà bạn sử dụng khi quảng cáo mới không phải là k-anon. Có một số nguy cơ về việc quảng cáo dự phòng của bạn không phải là k-anon, vì vậy, đôi khi bạn có thể xem xét việc chỉ đặt giá thầu với quảng cáo dự phòng ngay từ đầu. Có thể thực hiện việc này 1% thời gian, ví dụ: nếu đó là mức tốt để đảm bảo rằng bạn kỳ vọng khả năng dự phòng vẫn vượt quá ngưỡng.

Gần đây đã có một số cuộc thảo luận về những cách khác để cải thiện cơ chế này. Vì vậy, nếu bạn có trường hợp sử dụng nào đó mà cơ chế này có thể gây ra vấn đề, hãy tiếp tục tham gia thảo luận công khai về những cách API có thể cải thiện.

Tất cả tài liệu tham khảo Protected Audience API

Hướng dẫn tham khảo API có sẵn:

Thông tin giải thích về Protected Audience API cũng cung cấp thông tin chi tiết về các quy tắc hỗ trợ và các quy tắc ràng buộc của tính năng.