Báo cáo phiên đấu giá Protected Audience API

Đo lường dữ liệu và kết quả của phiên đấu giá Protected Audience API

Trong bài viết này, bạn sẽ thấy thông tin tổng quan về nhiều cơ chế hiện có để báo cáo dữ liệu phiên đấu giá Protected Audience API cho máy chủ của mình, cùng với các cơ chế chuyển đổi hiện có để bạn sử dụng trong quá trình di chuyển cho đến khi có giải pháp thay thế.

Để báo cáo về các chỉ số quan trọng mà bạn thu thập từ một phiên đấu giá quảng cáo, Protected Audience API hoạt động với:

  • Tính năng Tổng hợp riêng tư thu thập các tín hiệu và kết quả của phiên đấu giá để tạo báo cáo tóm tắt.
  • Ads Reporting API cho Khung được bảo vệiframe, là một kênh trong khung để giao tiếp với các bộ công việc Protected Audience API. API này cho phép liên kết dữ liệu cấp sự kiện với các tín hiệu đấu giá. Báo cáo cấp sự kiện của API Báo cáo quảng cáo là một cơ chế chuyển tiếp cho đến khi cơ chế báo cáo riêng tư hơn được thiết kế.
  • Báo cáo phân bổ cho phép bạn liên kết dữ liệu chuyển đổi với các tín hiệu đấu giá.
  • Bộ nhớ dùng chung cho phép bạn ghi tín hiệu đấu giá vào bộ nhớ trên nhiều nguồn gốc, sau đó cho phép bạn báo cáo dữ liệu đó sau bằng cách sử dụng tính năng Tổng hợp riêng tư.

Tổng quan về báo cáo Protected Audience API

Quy trình tổng thể của Protected Audience
Quy trình làm việc tổng thể của Protected Audience

Có 3 khoảng thời gian chính mà dữ liệu từ quy trình đấu giá Protected Audience API có thể được báo cáo cho máy chủ của bạn: thời điểm đấu giá khi phiên đấu giá được thực thi trên trang web của nhà xuất bản, thời gian hiển thị khi quảng cáo được hiển thị trong khung bảo vệ hoặc iframe trên trang web của nhà xuất bản và thời gian chuyển đổi khi người dùng thực hiện một số hành động trên trang web khác có thể được phân bổ cho phiên đấu giá.

Trong thời gian đấu giá, bạn có thể báo cáo dữ liệu phiên đấu giá bằng cách sử dụng công việc báo cáo. Trong thời gian hiển thị, bạn có thể báo cáo dữ liệu tương tác qua iframe hoặc khung bảo vệ. Trong thời gian chuyển đổi, bạn có thể báo cáo dữ liệu phân bổ trên trang đích bằng cách sử dụng Attribution Reporting API.

Báo cáo vị trí

Trong phiên đấu giá, người mua có thể báo cáo các tín hiệu có trong công việc generateBid()reportWin(), còn người bán có thể báo cáo các tín hiệu có trong scoreAd()reportResult(). Bên ngoài phiên đấu giá, người mua và người bán có thể báo cáo dữ liệu từ một khung hiển thị quảng cáo và từ trang web mà lượt chuyển đổi được thực hiện.

Khoảng thời gian Đích đến Vị trí Có sẵn dữ liệu Có API Báo cáo
Phiên đấu giá Bên mua generateBid() Tín hiệu, kết quả đấu giá và hiệu suất đấu giá API tổng hợp riêng tư
reportWin() API tổng hợp riêng tư
API báo cáo quảng cáo
Người bán scoreAd() API tổng hợp riêng tư
reportResult() API tổng hợp riêng tư
API báo cáo quảng cáo
Kết xuất Người mua / Người bán Khung trên trang web của nhà xuất bản Dữ liệu cấp sự kiện trong khung quảng cáo API tổng hợp riêng tư
API báo cáo quảng cáo
Lượt chuyển đổi Người mua / Người bán Trang web chuyển đổi Dữ liệu cấp sự kiện và lượt chuyển đổi từ trang web chuyển đổi API Báo cáo phân bổ
API tổng hợp riêng tư
API báo cáo quảng cáo

Trong mỗi khoảng thời gian được liệt kê, người mua và người bán sẽ có quyền truy cập vào nhiều API báo cáo có sẵn để báo cáo dữ liệu, chẳng hạn như tín hiệu đấu giá, dữ liệu cấp sự kiện và dữ liệu chuyển đổi.

Dữ liệu có trong phiên đấu giá Protected Audience API

Các dữ liệu sau đây có sẵn để báo cáo từ worklet của Protected Audience API trong phiên đấu giá.

Tín hiệu

Tín hiệu là dữ liệu bối cảnh của phiên đấu giá, dữ liệu người dùng, dữ liệu theo thời gian thực và dữ liệu trình duyệt được cung cấp cho người mua và người bán trong một worklet để tạo giá thầu, tính điểm quảng cáo và báo cáo kết quả của phiên đấu giá.

Tín hiệu Mô tả Đặt vị trí Số người dùng Phạm vi cung cấp
auctionSignals Dữ liệu có sẵn liên quan đến nơi diễn ra phiên đấu giá. Dữ liệu này có thể bao gồm thông tin về nội dung trang, dữ liệu người dùng bên thứ nhất, v.v. Do người bán đặt từ trang web của nhà xuất bản trong cấu hình phiên đấu giá. Người mua
Người bán
tạoĐiểm giá thầuBáo cáo quảng cáoBáo cáo giành chiến thắngKết quả
directFromSellerSignals Cùng một dữ liệu cho auctionSignals, perBuyerSignals, sellerSignals nhưng các tín hiệu được đảm bảo đến từ người bán được chỉ định. Đặt qua các tiêu đề phản hồi HTTP từ người bán Người mua
Người bán
tạoĐiểm giá thầuBáo cáo quảng cáoBáo cáo giành chiến thắngKết quả
browserSignals Nhiều dữ liệu do trình duyệt cung cấp (topWindowHostname, interestGroupOwner, renderUrl, adComponents, biddingDurationMsec, IGJoinCount, IGRecency, modelingSignals). Do trình duyệt đặt. Người mua
Người bán
tạoĐiểm giá thầuBáo cáo quảng cáoBáo cáo giành chiến thắngKết quả
sellerSignals Tín hiệu được cung cấp cho người bán để tính điểm quảng cáo. Do người bán đặt từ trang web của nhà xuất bản trong cấu hình phiên đấu giá. Người bán điểmQuảng cáo
báo cáoChiến thắng
báo cáoKết quả
trustedScoringSignals Tín hiệu theo thời gian thực được cung cấp cho người bán để tính điểm quảng cáo. Người bán đặt URL từ trang web của nhà xuất bản trong cấu hình phiên đấu giá. Người bán scoreAd reportKết quả
perBuyerSignals Dữ liệu bối cảnh của phiên đấu giá được cung cấp cho những người mua cụ thể. Người bán có thể truy xuất các giá trị cho người mua trước khi phiên đấu giá bắt đầu. Đây là kiến thức của người mua về cơ hội quảng cáo. Do người bán đặt từ trang web của nhà xuất bản trong cấu hình phiên đấu giá. Bên mua tạoĐiểm giá thầuBáo cáo quảng cáoBáo cáo giành chiến thắngKết quả
trustedBiddingSignals Tín hiệu theo thời gian thực được cung cấp cho người mua để đặt giá thầu quảng cáo. Người mua đặt URL trên trang web của nhà quảng cáo khi nhóm mối quan tâm được đặt. Bên mua generateBid
userBiddingSignals Dữ liệu người dùng do người mua cung cấp. Do người mua đặt trên trang web của nhà quảng cáo khi nhóm mối quan tâm được đặt . Bên mua generateBid

Đối tượng cấu hình phiên đấu giá là nguồn dữ liệu chính được cung cấp để có thể sử dụng dưới dạng tín hiệu trong worklet. Nhà xuất bản và người bán có thể cung cấp dữ liệu theo bối cảnh cũng như dữ liệu của bên thứ nhất trong cấu hình phiên đấu giá và các tín hiệu này có thể được làm phong phú thêm với dữ liệu nhóm mối quan tâm từ người mua, dữ liệu cấp sự kiện từ khung hiển thị quảng cáo và dữ liệu phân bổ từ trang nhấp. Dữ liệu được báo cáo có thể được dùng để báo cáo người mua/người bán, thanh toán, lập ngân sách, huấn luyện mô hình học máy, v.v.

Dữ liệu có sẵn khác

  • Dữ liệu kết quả liên quan đến dữ liệu thắng và thua trong phiên đấu giá, chẳng hạn như giá thầu thắng cuộc và lý do từ chối giá thầu.
  • Dữ liệu hiệu suất chứa thông tin về độ trễ, chẳng hạn như thời gian tìm nạp và thực thi công việc đặt giá thầu.

Dữ liệu có sẵn bên ngoài phiên đấu giá Protected Audience API

Ngoài phiên đấu giá Protected Audience API, có hai khoảng thời gian có sẵn dữ liệu để được báo cáo.

Trong thời gian hiển thị, khi quảng cáo hiển thị trên trang web của nhà xuất bản, dữ liệu cấp sự kiện từ bên trong iframe hoặc khung bảo vệ có thể được liên kết với dữ liệu phiên đấu giá Protected Audience API và được báo cáo cho máy chủ của bạn. Dữ liệu cấp sự kiện mẫu bao gồm lượt hiển thị quảng cáo, lượt nhấp, thao tác di chuột và mọi sự kiện khác xảy ra bên trong khung.

Trong thời gian chuyển đổi, khi người dùng thực hiện một hành động nào đó trên trang nhấp được phân bổ trở lại cho phiên đấu giá, dữ liệu cấp sự kiện từ trang chuyển đổi có thể được liên kết với dữ liệu phiên đấu giá của Protected Audience API và được báo cáo cho máy chủ của bạn.

Báo cáo cấp sự kiện

Báo cáo cấp sự kiện nêu chi tiết thông tin về một hoặc nhiều sự kiện. Một sự kiện có thể là chiến thắng trong phiên đấu giá, lượt hiển thị quảng cáo hoặc lượt chuyển đổi. Cho đến ít nhất là năm 2026, tính năng báo cáo chiến thắng trong phiên đấu giá ở cấp sự kiện sẽ vẫn giữ nguyên, bạn sẽ không cần sử dụng khung bảo vệ để hiển thị quảng cáo Protected Audience và dùng một iframe với quyền truy cập mạng không bị hạn chế để báo cáo ở cấp sự kiện. Ngoài ra, API Báo cáo quảng cáo có sẵn trong khung được bảo vệ và iframe để bạn liên kết dữ liệu phiên đấu giá và dữ liệu chuyển đổi với dữ liệu cấp sự kiện từ khung đó. Việc này nhằm giúp hệ sinh thái di chuyển dễ dàng hơn, vì bạn có thể tiếp tục sử dụng cơ sở hạ tầng báo cáo hiện có cho đến ít nhất là năm 2026 trong khi di chuyển hệ thống sang Protected Audience.

Báo cáo chiến thắng trong phiên đấu giá ở cấp sự kiện bằng sendReportTo()

Có một cơ chế để báo cáo dữ liệu cấp sự kiện trong phiên đấu giá trong Protected Audience là sendReportTo() function khi phiên đấu giá thắng. Hàm này có sẵn trong công cụ báo cáo người mua và người bán và trình duyệt sẽ gửi yêu cầu GET đến chuỗi URL đã cung cấp khi quá trình hiển thị quảng cáo bắt đầu. Bạn có thể mã hoá bất kỳ tín hiệu nào có sẵn trong công việc dưới dạng tham số truy vấn của URL.

Ví dụ: người mua có thể báo cáo giá thầu giành chiến thắng từ worklet reportWin() cho mục đích thanh toán:

// Buyer reporting worklet
function reportWin(auctionSignals, perBuyerSignals, sellerSignals, browserSignals, directFromSellerSignals) {
  sendReportTo(`https://buyer-reporting-server.example/reporting?bid=${browserSignals.bid}`);
}

Bạn có thể dùng hàm sendReportTo() để tạo báo cáo chiến thắng cho người bán khi được gọi từ reportResult() và báo cáo chiến thắng cho người mua khi được gọi từ reportWin(). Hàm sendReportTo() được cung cấp ít nhất đến năm 2026,

Báo cáo Mức độ tương tác

Báo cáo tương tác chứa dữ liệu cấp sự kiện từ một mẫu quảng cáo, chẳng hạn như dữ liệu lượt hiển thị hoặc lượt nhấp được liên kết với tín hiệu của phiên đấu giá Protected Audience API đã hiển thị quảng cáo. Vì quảng cáo được hiển thị sau khi phiên đấu giá kết thúc, nên các tín hiệu đấu giá không có sẵn trong khung hiển thị quảng cáo. Để liên kết những dữ liệu này từ các khoảng thời gian khác nhau, chúng tôi cung cấp cho bạn 2 cơ chế chuyển đổi để tạo các báo cáo về mức độ tương tác.

Hàm sendReportTo() được mô tả ở trên có thể dùng để liên kết dữ liệu phiên đấu giá với dữ liệu cấp sự kiện từ iframe, nhưng không hoạt động đối với khung được bảo vệ vì không thể truyền mã nhận dạng duy nhất từ trình nhúng vì khả năng giao tiếp giữa trình nhúng và khung được bảo vệ bị hạn chế. Để liên kết dữ liệu phiên đấu giá với dữ liệu cấp sự kiện từ quảng cáo trong khung bảo vệ, bạn có thể sử dụng Ads Reporting API.

API Báo cáo quảng cáo cho khung và iframe được bảo vệ

Ads Reporting API cho các khung được bảo vệ và iframe cung cấp cơ chế để bạn liên kết dữ liệu ở cấp sự kiện của người dùng từ một khung quảng cáo với các tín hiệu trong phiên đấu giá Protected Audience.

Trong công việc báo cáo Protected Audience API, bạn có thể đăng ký beacon quảng cáo bằng hàm registerAdBeacon() và truyền vào URL báo cáo cùng với các tín hiệu được thêm dưới dạng tham số truy vấn. Bạn cũng chỉ định sự kiện tuỳ chỉnh mà bạn muốn liên kết với URL báo cáo đó. Sau đó, khi quảng cáo hiển thị trong khung bảo vệ, bạn có thể kích hoạt sự kiện tuỳ chỉnh bằng cách gọi hàm window.fence.reportEvent(). Dữ liệu có sẵn trong khung được bảo vệ có thể được thêm vào dưới dạng tải trọng.

Hàm registerAdBeacon() chỉ có trong các hàm báo cáo và không có trong logic đặt giá thầu của người mua và logic tính điểm của người bán.

Trong ví dụ sau, một mã chiến dịch được liên kết với một tải trọng cấp sự kiện thông qua toạ độ lượt nhấp:

// Protected Audience API buyer win reporting worklet
function reportWin(auctionSignals) {
  const { campaignId } = auctionSignals

  registerAdBeacon({
    click: `https://buyer-server.example/report/click?campaignId=${campaignId}`
  })
}
// Protected Audience API seller reporting worklet
function reportResult(auctionConfig) {
  const { campaignId } = auctionConfig.auctionSignals;

  registerAdBeacon({
    click: `https://seller-server.example/report/click?campaignId=${campaignId}`
  })
}
// Ad frame
window.fence.reportEvent({
  eventType: 'click',
  eventData: JSON.stringify({'clickX': '123', 'clickY': '456'}),
  destination:['buyer', 'seller']
});

API Báo cáo quảng cáo khung được bảo vệ cũng sẽ được cung cấp cho đến ít nhất là năm 2026 vì các lý do tương tự như báo cáo giành chiến thắng.

Để tìm hiểu kỹ hơn, hãy xem nội dung giải thích.

Quyền truy cập mạng không bị hạn chế

Khung được bảo vệ sẽ cho phép tải tài nguyên mạng theo cách tương tự như iframe và bạn có thể gửi dữ liệu cấp sự kiện trong các khung được bảo vệ đến máy chủ của mình. Sau này, bạn có thể tạo báo cáo ở cấp sự kiện ở phía máy chủ bằng cách liên kết dữ liệu cấp sự kiện từ một khung được bảo vệ với dữ liệu phiên đấu giá được gửi thông qua sendReportTo() đã được thảo luận trong phần cơ chế báo cáo ở cấp sự kiện của phiên đấu giá ở trên.

Quyền truy cập mạng vào một thời điểm nào đó sẽ bị hạn chế sau khi cookie của bên thứ ba không được dùng nữa.

Các cơ chế báo cáo cấp sự kiện hiện có trong Protected Audience API là cơ chế chuyển đổi và một giải pháp thay thế sẽ được thiết kế để hỗ trợ tốt hơn cho các trường hợp sử dụng hiện tại.

Báo cáo phân bổ

Báo cáo phân bổ cho phép bạn liên kết một lượt chuyển đổi trên trang web với một quảng cáo đã chọn từ phiên đấu giá Protected Audience API. Ví dụ: một người dùng có thể nhấp vào quảng cáo sản phẩm mà bạn phân phát, được chuyển hướng đến trang web của nhà quảng cáo, mua hàng ở đó và bạn muốn phân bổ lượt mua hàng cho quảng cáo đã hiển thị. Attribution Reporting API sẽ được tích hợp với Protected Audience API để kết hợp dữ liệu phiên đấu giá từ trang web của nhà xuất bản và dữ liệu chuyển đổi từ trang web của nhà quảng cáo.

Mặc dù chúng tôi thiết kế một giải pháp lâu dài hơn, nhưng bạn có thể sử dụng API Báo cáo quảng cáo cho các khung bảo vệ làm cơ chế chuyển đổi để tạo báo cáo tổng hợp và cấp sự kiện bằng Báo cáo phân bổ. Xin lưu ý rằng những báo cáo này dùng để đo lường lượt chuyển đổi và tách biệt với các báo cáo mức độ tương tác tổng hợp và cấp sự kiện được tạo từ phiên đấu giá và khung quảng cáo. Chúng tôi sẽ đăng thông tin giải thích về một giải pháp lâu dài hơn khi sẵn sàng.

Cơ chế chuyển tiếp

Khi đăng ký beacon quảng cáo, bạn có thể sử dụng từ khoá reserved.top_navigation. Từ khoá này sẽ tự động thêm tiêu đề Attribution-Reporting-Eligible để beacon đủ điều kiện đăng ký làm nguồn phân bổ.

registerAdBeacon({
 'reserved.top_navigation': 'https://adtech.example/click?buyer_event_id=123',
});

Để đính kèm dữ liệu ở cấp sự kiện vào beacon bạn đã đăng ký, bạn có thể gọi setReportEventDataForAutomaticBeacons() từ khung được bảo vệ bằng tải trọng sự kiện.

window.fence.setReportEventDataForAutomaticBeacons({
  eventType: 'reserved.top_navigation',
  eventData: 'data from the frame',
  destination:['seller', 'buyer']
})

Hãy xem mục Báo cáo phân bổ trong tài liệu giải thích về Ads Reporting API để tìm hiểu thêm.

Ví dụ về báo cáo lượt tương tác và lượt chuyển đổi

Trong ví dụ này, chúng ta sẽ xem xét điều này từ góc độ người mua muốn liên kết dữ liệu từ phiên đấu giá, khung quảng cáo và trang web chuyển đổi với nhau.

Trong quy trình công việc này, người mua phối hợp với người bán để gửi một mã nhận dạng duy nhất vào phiên đấu giá. Trong phiên đấu giá, người mua gửi mã nhận dạng duy nhất này cùng với dữ liệu phiên đấu giá. Trong thời gian hiển thị và chuyển đổi, dữ liệu từ khung được bảo vệ hoặc iframe cũng được gửi đi với cùng một mã nhận dạng duy nhất. Sau đó, mã nhận dạng duy nhất có thể được dùng để liên kết các báo cáo này với nhau.

Quy trình làm việc:

  1. Trước khi phiên đấu giá bắt đầu, người mua gửi một mã nhận dạng duy nhất cho người bán trong quá trình phản hồi giá thầu bằng tính năng đặt giá thầu theo thời gian thực ("RTB") có lập trình. Mã nhận dạng có thể được đặt ở dạng một biến như auctionId. Mã nhận dạng được truyền vào dưới dạng perBuyerSignals trong auctionConfig và có trong worklet của người mua.
  2. Trong thời gian đấu giá, người mua có thể đăng ký một beacon quảng cáo để được kích hoạt trong thời gian hiển thị quảng cáo và thời gian chuyển đổi (registerAdBeacon()).
    1. Để liên kết các tín hiệu đấu giá cho một sự kiện khung quảng cáo, hãy đặt auctionId làm tham số truy vấn của URL beacon.
    2. Để liên kết các tín hiệu đấu giá cho một sự kiện chuyển đổi, hãy đặt auctionId trong URL beacon.
  3. Trong thời gian hiển thị quảng cáo, các beacon bạn đã đăng ký trong thời gian đấu giá có thể được kích hoạt hoặc nâng cao bằng dữ liệu cấp sự kiện.
    1. Kích hoạt sự kiện khung bằng reportEvent() và truyền dữ liệu cấp sự kiện.
    2. Thêm tải trọng cấp sự kiện vào beacon phân bổ bằng setReportEventDataForAutomaticBeacons()
    3. Đăng ký quảng cáo với Attribution Reporting API bằng cách phản hồi các yêu cầu beacon quảng cáo có tiêu đề Attribution-Reporting-Register-Source.
  4. Trong thời gian chuyển đổi, bạn có thể kích hoạt nguồn mà bạn đã đăng ký trong thời gian đấu giá.

Sau quy trình trên, người mua sẽ có báo cáo phiên đấu giá, báo cáo mức độ tương tác và báo cáo lượt chuyển đổi. Tất cả đều được liên kết với nhau bằng một khoá duy nhất có thể dùng để liên kết với nhau.

Quy trình công việc tương tự sẽ áp dụng cho người bán nếu cần quyền truy cập vào dữ liệu phân bổ và người bán cũng có thể sử dụng một mã nhận dạng duy nhất để gửi bằng registerAdBeacon(). Từ khung, lệnh gọi reportEvent() chứa một thuộc tính đích có thể được dùng để gửi báo cáo cho cả người mua và người bán. Xin lưu ý rằng SSP cũng phải có trên trang đích để điều kiện kích hoạt được phân bổ cho nguồn.

Tổng hợp dữ liệu Protected Audience

API tổng hợp riêng tư là cơ chế dùng để báo cáo dữ liệu Protected Audience nhằm tạo báo cáo tóm tắt. Đây là một báo cáo tổng hợp, nhiễu về dữ liệu được thu thập trong các bộ chứa. Một bộ chứa được biểu thị bằng một khoá tổng hợp và một số thông tin có thể được mã hoá thành khoá đó.

Ví dụ: hệ thống có thể tính một sự kiện hiển thị quảng cáo thành nhiều nhóm, trong đó mỗi nhóm đại diện cho một chiến dịch quảng cáo khác nhau. Báo cáo tóm tắt khác với báo cáo cấp sự kiện ở chỗ không cung cấp thông tin về từng sự kiện riêng lẻ. Với báo cáo cấp sự kiện, bạn có thể xác định rằng người dùng A, B và C đã nhìn thấy chiến dịch 123. Thông qua báo cáo tóm tắt, bạn có thể đo lường số lượng người dùng đã xem chiến dịch 123 và tăng độ nhiễu để bảo vệ quyền riêng tư của người dùng.

Xem bài viết Tổng hợp riêng tư để biết thêm thông tin về API.

Tổng hợp các tín hiệu đấu giá

Bạn có thể tổng hợp tín hiệu có sẵn trong các công việc với máy chủ của mình bằng tính năng Tổng hợp riêng tư. Để tổng hợp tín hiệu, bạn có thể sử dụng phương thức privateAggregation.contributeToHistogram() có trong worklet đặt giá thầu của người mua, worklet tính điểm của người bán và worklet báo cáo của người mua/người bán.

Trong ví dụ này, giá thầu giành chiến thắng được tổng hợp vào nhóm chủ sở hữu nhóm mối quan tâm:

function convertBuyerToBucket(igOwner) {}
function convertWinningBidToValue(winningBid) {}

function reportResult(auctionConfig, browserSignals) {
  privateAggregation.contributeToHistogram({
    bucket: convertBuyerToBucket(browserSignals.interestGroupOwner),
    value: convertWinningBidToValue(browserSignals.bid)
  });
} 

Đây là cơ chế chung để sử dụng khi các tín hiệu mà bạn muốn tổng hợp không được liên kết với dữ liệu cấp sự kiện và không được một sự kiện bên ngoài phiên đấu giá kích hoạt. Để tìm hiểu thêm về cách báo cáo các tín hiệu trong phiên đấu giá, hãy xem nội dung giải thích.

Tổng hợp các tín hiệu đấu giá bằng dữ liệu sự kiện

Bạn có thể tổng hợp các tín hiệu của phiên đấu giá với thông tin hạn chế về một sự kiện xảy ra trong khung quảng cáo. Ví dụ: bạn có thể đo lường tổng hợp số lượt nhấp mà một quảng cáo cho một chiến dịch đã nhận được bằng cách tạo một nhóm đại diện cho chiến dịch đó và sự kiện nhấp chuột. Lưu ý rằng, từ khung quảng cáo, bạn có thể chỉ định sự kiện nào đã xảy ra, nhưng không thể đính kèm tải trọng cấp sự kiện.

Để tổng hợp các tín hiệu đấu giá theo sự kiện, bạn có thể sử dụng hàm privateAggregation.contributeToHistogramOnEvent(eventType, contribution) để nhận chuỗi chỉ định loại sự kiện và giá trị đóng góp sẽ được báo cáo khi sự kiện đó được kích hoạt. Bạn có thể gọi phương thức này có loại sự kiện tuỳ chỉnh, sau đó gọi window.fence.reportEvent(eventType) từ khung quảng cáo để kích hoạt báo cáo được gửi.

Giả sử bạn muốn đo lường số lượt nhấp mà một quảng cáo thuộc một chiến dịch đã nhận được.

// Protected Audience API worklet
function getClickReportBucketForCampaign(campaignId) {
  // return a bucket for the campaign ID and the click event
}

function generateBid(interestGroup) {
  privateAggregation.contributeToHistogramOnEvent('click', {
    bucket: getClickReportBucketForCampaign(interestGroup.ads.metadata.campaignId), 
    value: 1
  });
}

Trong hàm tạo giá thầu, bạn có thể xác định một nhóm dưới dạng tổ hợp mã chiến dịch và sự kiện nhấp chuột, sau đó tăng giá trị cho nhóm đó thêm 1 mỗi khi sự kiện được kích hoạt.

// Ad frame
window.fence.reportEvent('click');

Sau đó, từ khung quảng cáo, bạn có thể kích hoạt tính năng gửi báo cáo bằng cách gọi reportEvent(eventType):

Tìm hiểu thêm về cách kích hoạt nội dung đóng góp của tính năng Tổng hợp riêng tư từ một khung tại phần giải thích.

Báo cáo hiệu suất và kết quả của phiên đấu giá

Bạn cũng có thể tổng hợp kết quả phiên đấu giá khi được kích hoạt bởi một sự kiện thắng hoặc thua trong phiên đấu giá thông qua contributeToHistogramOnEvent(eventType, contribution) khi truyền các từ khoá thuộc loại sự kiện đặt trước (reserved.win, reserved.lossreserved.always).

Tính năng Tổng hợp riêng tư cung cấp danh sách các giá trị cơ sở để bạn có thể tính toán nhóm và giá trị đóng góp của mình. Các giá trị cơ sở có sẵn cho kết quả đấu giá là giá trị giá thầu của quảng cáo giành chiến thắng, giá trị giá thầu được tính điểm cao thứ hai và lý do giá thầu bị từ chối khỏi phiên đấu giá.

Khi một giá trị cơ sở nào đó được cung cấp (chẳng hạn như giá thầu giành chiến thắng), bạn có thể đặt số tiền cần cộng hoặc trừ khỏi giá trị đó, sau đó báo cáo giá trị cuối cùng. Ví dụ: nếu giá thầu giành chiến thắng là 5 đô la Mỹ được cung cấp làm giá trị cơ sở, thì bạn có thể trừ đi giá thầu 2 đô la Mỹ để tính được giá trị thực tế là 3 đô la Mỹ tương ứng với số tiền mà bạn đã thua trong phiên đấu giá.

Báo cáo kết quả phiên đấu giá

Hãy xem xét một ví dụ mà bạn bị thua trong một phiên đấu giá và bạn muốn biết giá thầu của bạn đã cách giá thanh toán bù trừ trong phiên đấu giá bao xa.

Để biết số tiền mà bạn đã thua phiên đấu giá, bạn có thể lấy giá thầu giành chiến thắng trừ đi giá thầu:

function generateBid() {
  const bid = calculateBidAmount();

  privateAggregation.contributeToHistogramOnEvent('reserved.loss', {
    bucket: getBucketForCampaign(interestGroup.ads.metadata.campaignId),
    value: {
      baseValue: 'winning-bid',
      scale: 1 // Scale the value to minimize noise-to-signal ratio 
      offset: -bid, // Numbers added to browser value after scaling 
    }
  });
}

Khi báo cáo được gửi, giá trị thực tế được báo cáo sẽ là baseValue được điều chỉnh theo tỷ lệ theo giá trị offset. Để tìm hiểu thêm, hãy xem nội dung giải thích.

Báo cáo hiệu suất

Người mua và người bán có thể báo cáo thời gian cần thiết để thực thi một tập lệnh và khoảng thời gian để tìm nạp các tín hiệu đáng tin cậy. Người bán có thể cho phép thu thập thời gian tạo giá thầu và thời gian của tín hiệu đặt giá thầu đáng tin cậy của từng người mua.

Xem nội dung giải thích để tìm hiểu thêm.

Lưu trữ các tín hiệu đấu giá trong Bộ nhớ dùng chung

Bộ nhớ dùng chung là bộ nhớ không được phân vùng và nhiều nguồn gốc mà bạn có thể thoải mái ghi vào, nhưng được bảo vệ bằng các cổng khi đọc và xử lý các giá trị được lưu trữ. Một trong những cổng hiện có cho API Bộ nhớ dùng chung là Tổng hợp riêng tư. Bạn chỉ có thể đọc các giá trị trong bộ nhớ dùng chung từ bên trong một worklet và bạn có thể báo cáo các giá trị đó bằng tính năng Tổng hợp riêng tư từ worklet.

Bạn cũng có thể ghi vào bộ nhớ dùng chung thông qua các công việc đặt giá thầu, tính điểm và báo cáo của Protected Audience API. Sau này, bạn có thể báo cáo những giá trị đó trong bộ nhớ dùng chung cho máy chủ của mình bằng cách sử dụng tính năng Tổng hợp riêng tư . Bạn cũng có thể sử dụng các giá trị được lưu trữ cho thao tác Lựa chọn URL.

Trong một worklet của Protected Audience API, bạn có thể ghi bất kỳ khoá và giá trị nào vào bộ nhớ dùng chung:

// Protected Audience API worklet
function generateBid() {
  sharedStorage.set('test-bucket', 123);
}

Sau này, bạn có thể tải một công việc liên quan đến bộ nhớ dùng chung để đọc và gửi giá trị đó bằng tính năng Tổng hợp riêng tư:

// Shared Storage worklet
class SendReachReport{
  async run() {
    const testBucket = await this.sharedStorage.get('test-bucket');

    privateAggregation.contributeToHistogram({
      bucket: testBucket,
      value: 1
    });
  }
}

register('send-report', SendReachReport);

Để tìm hiểu thêm về Bộ nhớ dùng chung, hãy xem phần bộ nhớ dùng chung trong hướng dẫn cho nhà phát triển tính năng báo cáo Protected Audience API, nội dung giải thích, bản minh hoạ trực tiếpmã minh hoạ trên GitHub.

Tiếp theo là gì?

Chúng tôi muốn thảo luận với bạn để đảm bảo việc xây dựng một API phù hợp với tất cả mọi người.

Thảo luận về API

Giống như các API Hộp cát về quyền riêng tư khác, API này được ghi lại và thảo luận công khai.

Thử nghiệm với API

Bạn có thể thử nghiệm và tham gia cuộc trò chuyện về Protected Audience API.