Giao dịch trong Protected Audience

Triển khai các giao dịch (còn gọi là Thị trường tư nhân (PMP)) trong phiên đấu giá sử dụng Protected Audience API

Tổng quan

Giao dịch, còn được gọi là Thị trường tư nhân (PMP), cung cấp quyền truy cập chọn lọc hoặc giá ưu tiên cho người mua trên một nhóm nhỏ khoảng không quảng cáo. Để hỗ trợ giao dịch có lập trình, hệ thống sử dụng mã vị trímã giao dịch:

  • Mã giấy phép 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ã chỗ ngồi có thể ảnh hưởng đến việc thanh toán, chẳng hạn như trường hợp một chỗ có được giảm giá 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, đồng thời là giá trị nhận dạng thể hiện thoả thuận giữa người mua và người bán. Mã 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 tạo điều kiện cho các giao dịch bằng cách sử dụng mã báo cáo, cho phép sử dụng mã vị trí và mã giao dịch để đặt giá thầu, tính điểm và báo cáo trong phiên đấu giá. Mã báo cáo cung cấp cơ chế để các công ty công nghệ quảng cáo nhận được các mã giao dịch và vị trí này trong báo cáo Protected Audience sau phiên đấu giá để giao dịch các giao dịch và sắp xếp các nỗ lực thanh toán. Chúng tôi dự kiến rằng người mua, người bán, đại lý và nhà quảng cáo có thể có các chiến lược riêng để diễn giải và hiểu giao dịch cũng như mã giấy phép mà họ nhận được.

Hướng dẫn từng bước

Sau đây là các bước hỗ trợ giao dịch trong phiên đấu giá sử dụng Protected Audience API:

  1. Người mua đăng ký giao dịch và mã chỗ trong cấu hình nhóm mối quan tâm trước khi chạy phiên đấu giá
    • Bạn có thể đặt mã giao dịch và mã chỗ trong trường mã báo cáo có thể chọn (selectableBuyerAndSellerReportingIds).
    • Nếu tất cả các giao dịch đều có mã giấy phép giống nhau, thì bạn có thể đặt mã giấy phép đó trong buyerAndSellerReportingId và đặt mã giao dịch trong trường mã báo cáo có thể chọn (selectableBuyerAndSellerReportingIds).
  2. Trong quá trình tạo giá thầu, giao dịch và mã vị trí sẽ xuất hiện. Người mua chọn một mã giao dịch trong selectableBuyerAndSellerReportingIds. Người mua tạo một giá thầu có chứa mã giao dịch liên kết với giá thầu đó bằng cách trả về một selectedBuyerAndSellerReportingId. Giá thầu chỉ có thể thắng phiên đấu giá nếu mã giao dịch được trả về là k-anonymous cùng với các mã báo cáo khác và chọn các tài sản của nhóm quan tâm đó.
  3. Trong quá trình tính điểm quảng cáo, người bán có thể sử dụng giao dịch và mã chỗ đã chọn.
  4. Mã giao dịch và mã chỗ sẽ có sẵn trong chức năng báo cáo của người bán.
  5. Mã giao dịch và mã giấy phép có sẵn trong chức năng báo cáo của người mua.

1. Đăng ký mã giao dịch và mã ghế

Người mua đăng ký giao dịch và mã chỗ trong cấu hình nhóm mối quan tâm trước khi chạy phiên đấu giá. Mã giao dịch và mã chỗ ngồi được đặt trong selectableBuyerAndSellerReportingIds dưới dạng một mảng chuỗi. Nếu mã giấy phép là giống nhau cho tất cả giao dịch và bạn không cần lặp lại, thì bạn có thể thêm mã giấy phép vào trường buyerAndSellerReportingId chấp nhận 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
      buyerAndReportingId: 'brid123'
    },
  ],
};

navigator.joinAdInterestGroup(interestGroupConfig);

Nếu mã giấy phép khác nhau đối với các giao dịch, thì bạn có thể sử dụng thông tin thiết lập sau đây:

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ã chỗ 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 từ 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 nằm trong mảng selectableBuyerAndSellerReportingIds.

function generateBid(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'seat123'
    selectableBuyerAndSellerReportingIds // ['deal123', 'deal456', 'deal789']
    buyerAndReportingId // 'brid123' - Not used for deals, but the value is available
  } = browserSignals;

  // ...

  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ể giành chiến thắng trong phiên đấu giá nếu giá trị của selectedbuyerAndSellerReportingId là k-anonymous cùng với buyerAndSellerReportingId (nếu có), buyerReportingId (nếu có) chủ sở hữu nhóm mối quan tâm, 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, generateBid() vẫn hợp lệ để trả về một giá thầu không bao gồm selectedbuyerAndSellerReportingId; trong trường hợp này, 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 thể chọn.

Trong trường hợp generateBid() được chạy lại vì lệnh gọi ban đầu không tạo ra bất kỳ giá thầu nào với những 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 xuất hiện trong nhóm mối quan tâm khi chạy lại.

3. Mã ưu đãi và mã chỗ cho người bán trong quá trình tính điểm quảng cáo

scoreAd() có thể truy cập vào mã thoả thuận đã chọn cùng với mã chỗ ngồi (nếu có). Người bán cung cấp điểm số mong muốn của giá thầu giành chiến thắng kèm theo việc xem xét ID giao dịch và bất kỳ điều khoản đặc biệt nào. Nếu người bán không nghĩ rằng ID giao dịch do người mua chọn sẽ được áp dụng, thì người bán sẽ từ chối giá thầu bằng cách chỉ định giá thầu bằng 0 hoặc điểm số mong muốn âm.

function scoreAd(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'seat123'
    selectedBuyerAndSellerReportingIds, // 'deal456'
  } = browserSignals;

  // ...
}

4. Mã giao dịch và mã chỗ ngồi để báo cáo cho người bán

Hãy nhớ rằng giá thầu chỉ có thể thắng phiên đấu giá nếu selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (nếu có) và buyerReportingId (nếu có) đặt giá trị k-anonymous với chủ sở hữu nhóm quan tâm, 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 bị loại trừ khỏi quá trình kiểm tra này ít nhất là cho đến Quý 1 năm 2025). Do đó, các giá trị mã báo cáo bao gồm selectedBuyerAndSellerReportingId sẽ luôn có sẵn trong reportResult(). Xin lưu ý rằng mặc dù buyerReportingId được kiểm tra để đảm bảo tính k-ẩn danh, nhưng giá trị này chỉ dành cho hàm báo cáo người mua chứ không phải hàm báo cáo 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 người mua

Khái niệm tương tự về báo cáo của người bán cũng áp dụng cho báo cáo 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-anonymous với chủ sở hữu nhóm mối quan tâm, 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ã báo cáo có chứa selectedBuyerAndSellerReportingId sẽ luôn có sẵn bên trong reportWin().

function reportWin(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'seat123'
    selectedBuyerAndSellerReportingId // 'deal456'
    buyerAndReportingId // 'brid123' - Not used for deals, but the value is available
  } = browserSignals;
}

Thu hút và chia sẻ ý kiến phản hồi