Triển khai giao dịch, còn được gọi là Thị trường tư nhân (PMP), trong phiên đấu giá Protected Audience
Tổng quan
Giao dịch (còn được gọi là Thị trường riêng tư (PMP)) cung cấp quyền truy cập được tuyển chọn hoặc mức giá ưu tiên cho người mua đối với một nhóm nhỏ khoảng không quảng cáo. Để tạo điều kiện thuận lợi cho các giao dịch có lập trình, mã giấy phép và mã giao dịch được sử dụng:
- Mã nhận dạng tài khoản bắt nguồn từ người mua và là giá trị nhận dạng đại diện cho khách hàng của người mua. Mã người dùng có thể ảnh hưởng đến việc thanh toán, chẳng hạn như nếu người dùng có chiết khấu với một người bán cụ thể.
- Mã giao dịch bắt nguồn từ người mua hoặc người bán và là giá trị nhận dạng đại diện cho thoả thuận giữa người mua và người bán. Một giao dịch có thể có các thuộc tính như chi phí/giá, cam kết về số lượng, thông tin về đối tượng, tính độc quyền, v.v.
Protected Audience hỗ trợ các giao dịch bằng cách sử dụng mã nhận dạng báo cáo, cho phép mã nhận dạng chỗ ngồi và giao dịch có sẵn cho hoạt động đặt giá thầu, tính điểm và báo cáo trong phiên đấu giá. Các mã nhận dạng báo cáo cung cấp một cơ chế để các công ty công nghệ quảng cáo nhận được mã thoả thuận và mã giấy phép này trong báo cáo Protected Audience sau phiên đấu giá để giao dịch và sắp xếp các hoạt động thanh toán. Chúng tôi hy vọng rằng người mua, người bán, công ty quảng cáo và nhà quảng cáo có thể có các chiến lược riêng để diễn giải và hiểu rõ các mã giao dịch và mã vị trí mà họ nhận được.
Hướng dẫn từng bước
Sau đây là các bước để tạo điều kiện thuận lợi cho giao dịch trong phiên đấu giá sử dụng Protected Audience API:
- Người mua đăng ký giao dịch và mã nhận dạng vị trí trong cấu hình nhóm lợi ích trước khi phiên đấu giá diễn ra
- Bạn có thể đặt mã giao dịch và mã vị trí trong trường mã báo cáo có thể chọn (
selectableBuyerAndSellerReportingIds). - Nếu mã nhận dạng chỗ ngồi giống nhau cho tất cả các giao dịch, thì bạn có thể đặt mã nhận dạng chỗ ngồi đó trong
buyerAndSellerReportingIdvà mã nhận dạng giao dịch có thể được đặt trong trường mã nhận dạng báo cáo có thể chọn (selectableBuyerAndSellerReportingIds).
- Bạn có thể đặt mã giao dịch và mã vị trí trong trường mã báo cáo có thể chọn (
- Trong quá trình tạo giá thầu, mã giao dịch và mã giấy phép sẽ có sẵn. Người mua chọn một mã giao dịch trong
selectableBuyerAndSellerReportingIds. Người mua tạo một giá thầu bao gồm mã giao dịch được liên kết với giá thầu đó bằng cách trả về mộtselectedBuyerAndSellerReportingId. Giá thầu chỉ có thể thắng phiên đấu giá nếu mã giao dịch được trả về là k-ẩn danh cùng với các mã báo cáo khác và một số thuộc tính của nhóm lợi ích. - Trong quá trình tính điểm quảng cáo, người bán sẽ nhận được mã giao dịch và mã vị trí đã chọn.
- Mã thoả thuận và mã vị trí sẽ xuất hiện trong các hàm báo cáo của người bán.
- Mã thoả thuận và mã vị trí sẽ có trong các hàm báo cáo của người mua.
1. Đăng ký mã giao dịch và mã giấy phép
Người mua đăng ký giao dịch và mã nhận dạng vị trí trong cấu hình nhóm mối quan tâm trước khi phiên đấu giá diễn ra. Mã giao dịch và mã tài khoản con được đặt trong selectableBuyerAndSellerReportingIds dưới dạng một mảng chuỗi. Nếu mã nhận dạng chỗ ngồi giống nhau cho tất cả các giao dịch và bạn không cần lặp lại, thì bạn có thể thêm mã nhận dạng chỗ ngồi vào trường buyerAndSellerReportingId chấp nhận một chuỗi:
const interestGroupConfig = {
owner: 'https://buyer.example',
name: 'example-ig',
ad: [
{
renderURL: 'https://buyer.example/ad.html',
selectableBuyerAndSellerReportingIds: ['deal123', 'deal456', 'deal789'], // Deal IDs
buyerAndSellerReportingId: 'seat123', // Seat ID
// Though it is not used to facilitate deals, the buyer
// reporting ID can be defined with other reporting IDs
buyerReportingId: 'brid123'
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
Nếu mã nhận dạng chỗ ngồi khác nhau đối với các giao dịch, bạn có thể sử dụng chế độ thiết lập sau:
const interestGroupConfig = {
owner: 'https://buyer.example',
name: 'example-ig',
ad: [
{
renderURL: 'https://buyer.example/ad.html',
selectableBuyerAndSellerReportingIds: [
'deal123seat123',
'deal456seat456',
'deal789seat456'
], // Deal and Seat IDs
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
2. Mã giao dịch và mã giấy phép cho người mua trong quá trình tạo giá thầu
Trong quá trình tạo giá thầu, người mua quyết định xem họ có muốn đặt giá thầu cho một mã giao dịch hay không. Trong generateBid(), người mua có thể chọn một mã giao dịch trong selectableBuyerAndSellerReportingIds và trả về giá trị dưới dạng selectedBuyerAndSellerReportingId. Giá thầu sẽ bị từ chối nếu mã giao dịch đã chọn không có trong mảng selectableBuyerAndSellerReportingIds.
function generateBid(interestGroup, ...) {
const [{
buyerAndSellerReportingId, // 'seat123'
selectableBuyerAndSellerReportingIds // ['deal123', 'deal456', 'deal789']
buyerReportingId // 'brid123' - Not used for deals, but the value is available
}] = interestGroup.ads;
// ...
return {
bid: 1,
render: 'https://buyer.example/ad.html',
selectedBuyerAndSellerReportingId: 'deal456', // Buyer selects a deal ID
};
}
Giá thầu có giá trị được trả về cho selectedbuyerAndSellerReportingId chỉ có thể thắng phiên đấu giá nếu giá trị của selectedbuyerAndSellerReportingId được ẩn danh cùng với buyerAndSellerReportingId (nếu có), buyerReportingId (nếu có) chủ sở hữu nhóm lợi ích, URL tập lệnh đặt giá thầu, URL hiển thị và kích thước quảng cáo (kích thước quảng cáo sẽ không được đưa vào quy trình kiểm tra này cho đến ít nhất là quý 1 năm 2025).
Ngay cả khi selectablebuyerAndSellerReportingIds được xác định trong cấu hình nhóm mối quan tâm, thì generateBid() vẫn hợp lệ để trả về giá thầu không bao gồm selectedbuyerAndSellerReportingId; trong trường hợp này, các mã báo cáo được cung cấp cho các hàm báo cáo nếu giá thầu này thắng sẽ tuân theo hành vi mã báo cáo không chọn được.
Trong trường hợp generateBid() được chạy lại vì lệnh gọi ban đầu không tạo ra giá thầu nào có quảng cáo vượt qua quy trình kiểm tra tính ẩn danh k, thì selectableBuyerAndSellerReportingIds không vượt qua quy trình kiểm tra tính ẩn danh k sẽ không có trong nhóm mối quan tâm khi chạy lại.
3. Mã giao dịch và mã giấy phép của người bán trong quá trình tính điểm quảng cáo
Mã thoả thuận đã chọn (cùng với mã giấy phép nếu có) sẽ được cung cấp cho scoreAd(). Người bán cung cấp điểm số mức độ mong muốn của giá thầu thắng cuộc có xem xét mã giao dịch và mọi điều khoản đặc biệt. Nếu người bán không cho rằng mã giao dịch do người mua chọn là phù hợp, thì người bán sẽ từ chối giá thầu bằng cách cho giá thầu đó điểm số mong muốn bằng 0 hoặc âm.
function scoreAd(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds, // 'deal456'
} = browserSignals;
// ...
}
4. Mã giao dịch và mã giấy phép để người bán báo cáo
Xin lưu ý rằng giá thầu chỉ có thể giành chiến thắng trong phiên đấu giá nếu selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (nếu có) và buyerReportingId (nếu có) là k-ẩn danh với chủ sở hữu nhóm lợi ích, URL tập lệnh đặt giá thầu, URL hiển thị và kích thước quảng cáo (kích thước quảng cáo sẽ không được đưa vào quy trình kiểm tra này cho đến ít nhất là quý 1 năm 2025). Do đó, các giá trị mã nhận dạng báo cáo có chứa selectedBuyerAndSellerReportingId sẽ luôn có sẵn trong reportResult(). Xin lưu ý rằng mặc dù buyerReportingId được kiểm tra tính ẩn danh k, nhưng giá trị này chỉ có sẵn cho hàm báo cáo của người mua chứ không có sẵn cho hàm báo cáo của người bán ở đây.
function reportResult(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds // 'deal456'
} = browserSignals;
// ...
}
5. Mã giao dịch và mã giấy phép để báo cáo cho người mua
Cùng một khái niệm từ báo cáo của người bán áp dụng cho báo cáo của người mua. Xin lưu ý rằng giá thầu chỉ có thể giành chiến thắng trong phiên đấu giá nếu selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (nếu có) và buyerReportingId (nếu có) là k-ẩn danh với chủ sở hữu nhóm lợi ích, URL tập lệnh đặt giá thầu, URL hiển thị và kích thước quảng cáo (kích thước quảng cáo sẽ không được đưa vào quy trình kiểm tra này cho đến ít nhất là quý 1 năm 2025). Do đó, các giá trị mã nhận dạng báo cáo có chứa selectedBuyerAndSellerReportingId sẽ luôn có sẵn trong reportWin().
function reportWin(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingId // 'deal456'
buyerReportingId // 'brid123' - Not used for deals, but the value is available
} = browserSignals;
}
Tương tác và chia sẻ ý kiến phản hồi
- Để tìm hiểu thêm về mã nhận dạng báo cáo, hãy xem phần Mã nhận dạng báo cáo trong tài liệu giải thích về Protected Audience.
- GitHub: Đặt câu hỏi và theo dõi cuộc thảo luận trong phần vấn đề trên kho lưu trữ API.
- W3C: Thảo luận về các trường hợp sử dụng trong ngành trong cuộc gọi WICG.
- Thông báo: Tham gia hoặc xem danh sách gửi thư.
- Hỗ trợ nhà phát triển Hộp cát về quyền riêng tư: Đặt câu hỏi và tham gia thảo luận trên kho lưu trữ Hỗ trợ nhà phát triển Hộp cát về quyền riêng tư.
- Chromium: Báo cáo lỗi Chromium để đặt câu hỏi về việc triển khai có sẵn để kiểm thử trong Chrome.