Báo cáo phân bổ: tổng quan đầy đủ về hệ thống

Thông tin tổng quan cấp cao về các dịch vụ được kết nối cho tính năng Báo cáo phân bổ, nhắm đến những người ra quyết định về mặt kỹ thuật.

API Báo cáo phân bổ cho phép các công nghệ quảng cáo và nhà quảng cáo đo lường thời điểm một lượt nhấp hoặc lượt xem quảng cáo dẫn đến một lượt chuyển đổi, chẳng hạn như mua hàng. API này dựa trên sự kết hợp giữa tích hợp phía máy khách và phía máy chủ, tuỳ thuộc vào nhu cầu kinh doanh của bạn.

Trước khi tiếp tục, hãy nhớ đọc bài viết Tổng quan về Báo cáo phân bổ. Việc này sẽ giúp bạn hiểu mục đích của API và quy trình của các báo cáo đầu ra khác nhau (báo cáo cấp sự kiệnbáo cáo tóm tắt). Nếu bạn gặp các thuật ngữ lạ, hãy tham khảo Bảng thuật ngữ Hộp cát về quyền riêng tư.

Bài viết này dành cho đối tượng nào?

Bạn nên đọc bài viết này nếu:

  • Bạn là người ra quyết định về kỹ thuật của một nhà quảng cáo hoặc công nghệ quảng cáo. Bạn có thể làm việc trong các bộ phận điều hành, DevOps, khoa học dữ liệu, CNTT, tiếp thị hoặc một vai trò khác mà bạn đưa ra các quyết định về triển khai kỹ thuật. Bạn đang thắc mắc về cách thức hoạt động của các API trong hoạt động đo lường bảo đảm quyền riêng tư.
  • Bạn là chuyên viên kỹ thuật (chẳng hạn như nhà phát triển, nhân viên vận hành hệ thống, kiến trúc sư hệ thống hoặc nhà khoa học dữ liệu). Bạn sẽ thiết lập các thử nghiệm trong môi trường API và Dịch vụ tổng hợp này.

Trong bài viết này, bạn sẽ đọc nội dung giải thích toàn diện và toàn diện về cách hoạt động của các dịch vụ đối với API Báo cáo phân bổ. Nếu là chuyên viên kỹ thuật, bạn có thể thử nghiệm API này tại chỗ.

Tổng quan

API Báo cáo phân bổ bao gồm nhiều dịch vụ, yêu cầu quy trình thiết lập cụ thể, cấu hình phía máy khách và quy trình triển khai máy chủ. Để xác định những gì bạn cần, trước tiên:

  • Đưa ra quyết định về thiết kế. Xác định thông tin bạn muốn thu thập, xác định lượt chuyển đổi bạn mong đợi từ một chiến dịch nhất định và xác định loại báo cáo cần thu thập. Kết quả cuối cùng sẽ là một hoặc cả hai loại báo cáo: báo cáo cấp sự kiện và báo cáo tóm tắt.

Luôn có hai (và đôi khi là ba) thành phần hoạt động cùng nhau để hỗ trợ báo cáo:

  • Hoạt động giao tiếp giữa trang web và trình duyệt. Trong các hệ thống dựa trên cookie, thông tin về lượt chuyển đổi và lượt tương tác với quảng cáo sẽ được đính kèm với một giá trị nhận dạng cho phép bạn hoặc dịch vụ phân tích tham gia các sự kiện này sau đó. Với API này, trình duyệt sẽ liên kết các lượt chuyển đổi với lượt nhấp/lượt xem quảng cáo dựa trên hướng dẫn của bạn, trước khi dữ liệu được phân phối để phân tích. Do đó, mã hiển thị quảng cáo và tính năng theo dõi lượt chuyển đổi phải:
    • Cho trình duyệt biết lượt chuyển đổi nào sẽ được phân bổ cho lượt nhấp hoặc lượt hiển thị quảng cáo nào.
    • Báo hiệu mọi dữ liệu khác để đưa vào báo cáo cuối cùng.
  • Thu thập dữ liệu. Bạn cần có một điểm cuối của trình thu thập để nhận các báo cáo (được tạo trong trình duyệt của người dùng). Kết quả đầu ra từ các trình duyệt có thể là một trong hai báo cáo có thể có: báo cáo cấp sự kiện và báo cáo tổng hợp (được mã hoá, dùng để tạo báo cáo tóm tắt).

Nếu thu thập các báo cáo tổng hợp, bạn cần có thành phần thứ ba:

  • Tạo báo cáo tóm tắt. Tạo các báo cáo tổng hợp theo lô và sử dụng Dịch vụ tổng hợp để xử lý các báo cáo nhằm tạo một báo cáo tóm tắt.

Quyết định về thiết kế

Nguyên tắc chính của Báo cáo phân bổ là quyết định sớm về thiết kế. Bạn quyết định dữ liệu nào cần thu thập trong các danh mục và tần suất xử lý dữ liệu đó. Các báo cáo kết quả cung cấp thông tin chi tiết về chiến dịch hoặc doanh nghiệp của bạn.

Báo cáo đầu ra có thể là:

  • Báo cáo cấp sự kiện liên kết một lượt nhấp hoặc lượt xem quảng cáo cụ thể (ở phía quảng cáo) với dữ liệu ở phía chuyển đổi. Để bảo vệ quyền riêng tư của người dùng bằng cách hạn chế việc kết hợp danh tính người dùng trên các trang web, dữ liệu phía chuyển đổi rất hạn chế và dữ liệu gây nhiễu (nghĩa là trong một số ít trường hợp, dữ liệu ngẫu nhiên sẽ được gửi thay vì báo cáo thực).
  • Báo cáo tóm tắt không liên kết với một sự kiện cụ thể ở phía quảng cáo. Những báo cáo này cung cấp dữ liệu chuyển đổi chi tiết hơn và tính linh hoạt để kết hợp dữ liệu lượt nhấp và lượt xem với dữ liệu chuyển đổi.

Lựa chọn báo cáo của bạn sẽ xác định dữ liệu bạn cần thu thập.

Bạn cũng có thể coi kết quả cuối cùng là dữ liệu đầu vào cho các công cụ mà bạn sử dụng để đưa ra quyết định. Ví dụ: nếu bạn tạo báo cáo tóm tắt để xác định số lượt chuyển đổi đã tạo ra tổng giá trị chi tiêu, điều đó có thể giúp nhóm của bạn quyết định chiến dịch quảng cáo tiếp theo nên nhắm đến mục tiêu nào để tạo ra tổng mức chi tiêu cao hơn.

Sau khi quyết định những gì bạn muốn đo lường, bạn có thể thiết lập API Báo cáo phân bổ ở phía máy khách.

Hoạt động giao tiếp giữa các trình duyệt với nhau

Các nguồn phân bổ trên trang web của nhà xuất bản kết nối với các điều kiện kích hoạt trên trang web của nhà quảng cáo.
Nguồn phân bổ trên trang web của nhà xuất bản kết nối với các điều kiện kích hoạt trên trang web của nhà quảng cáo.

Luồng sự kiện phân bổ

Hãy tưởng tượng một trang web của nhà xuất bản hiển thị quảng cáo. Mỗi nhà quảng cáo hoặc nhà cung cấp công nghệ quảng cáo đều muốn tìm hiểu về lượt tương tác với quảng cáo của mình và phân bổ lượt chuyển đổi cho đúng quảng cáo. Các báo cáo (cả cấp sự kiện và tổng hợp) sẽ được tạo như sau:

  1. Trên trang web của nhà xuất bản, một phần tử quảng cáo (thẻ <a> hoặc <img>) được định cấu hình bằng thuộc tính đặc biệt attributionsrc. Giá trị của lớp này là một URL, ví dụ: https://adtech.example/register-source/ad_id=....

    Dưới đây là ví dụ về một đường liên kết sẽ ghi lại nguồn sau khi được nhấp vào:

    <a href="https://shoes.example/landing" 
      attributionsrc="http://adtech.example/register-source?..."
      target="_blank">
    Click me</a>
    

    Sau đây là ví dụ về hình ảnh sẽ đăng ký một nguồn khi được xem:

    <img href="https://advertiser.example/landing" 
      attributionsrc="https://adtech.example/register-source?..."/>
    

    Ngoài ra, bạn có thể sử dụng lệnh gọi JavaScript thay vì các phần tử HTML.

    Sau đây là ví dụ về JavaScript sử dụng window.open(). Xin lưu ý rằng URL được mã hoá url để tránh các vấn đề với các ký tự đặc biệt.

    const encodedUrl = encodeURIComponent(
      'https://adtech.example/attribution_source?ad_id=...');
    window.open(
      "https://shoes.example/landing",
      "_blank",
      attributionsrc=${encodedUrl});
    
  1. Khi người dùng nhấp vào hoặc xem quảng cáo, trình duyệt sẽ gửi một yêu cầu GET đến attributionsrc – thường là điểm cuối của nhà quảng cáo hoặc nhà cung cấp công nghệ quảng cáo.
  2. Khi nhận được yêu cầu này, nhà quảng cáo hoặc nhà cung cấp công nghệ quảng cáo quyết định hướng dẫn trình duyệt đăng ký sự kiện nguồn cho các lượt tương tác với quảng cáo, nhờ đó, các lượt chuyển đổi sau đó có thể được phân bổ cho quảng cáo này. Để làm như vậy, nhà quảng cáo hoặc nhà cung cấp công nghệ quảng cáo sẽ thêm một tiêu đề HTTP đặc biệt vào phản hồi. Mã này đính kèm vào dữ liệu tuỳ chỉnh của tiêu đề này nhằm cung cấp thông tin về sự kiện nguồn (lượt nhấp hoặc lượt xem quảng cáo). Nếu một lượt chuyển đổi xảy ra cho quảng cáo này, thì cuối cùng dữ liệu tuỳ chỉnh này sẽ xuất hiện trong báo cáo phân bổ.

    Xem hoặc nhấp vào một quảng cáo.

  3. Sau đó, người dùng này truy cập vào trang web của nhà quảng cáo.

  4. Trên mỗi trang có liên quan trên trang web của nhà quảng cáo, ví dụ: trang xác nhận mua hàng hoặc trang sản phẩm, pixel chuyển đổi (phần tử <img>) hoặc lệnh gọi JavaScript sẽ gửi yêu cầu đến https://adtech.example/conversion?param1=...&param2=....

  5. Dịch vụ tại URL này (thường là nhà quảng cáo hoặc nhà cung cấp công nghệ quảng cáo) sẽ nhận được yêu cầu. Mô hình này quyết định phân loại hành động này là một lượt chuyển đổi, vì vậy, mô-đun này cần hướng dẫn trình duyệt ghi lại lượt chuyển đổi, tức là để kích hoạt một hoạt động phân bổ. Để làm như vậy, nhà quảng cáo hoặc nhà cung cấp công nghệ quảng cáo sẽ đưa vào phản hồi cho yêu cầu pixel một tiêu đề HTTP đặc biệt có chứa dữ liệu tuỳ chỉnh về lượt chuyển đổi.

  6. Trình duyệt (trên thiết bị cục bộ của người dùng) nhận được phản hồi này và so khớp dữ liệu chuyển đổi với sự kiện nguồn ban đầu (lượt xem hoặc lượt nhấp vào quảng cáo). Tìm hiểu thêm trong phần So khớp nguồn với điều kiện kích hoạt

  7. Trình duyệt lên lịch gửi báo cáo đến attributionsrc. Báo cáo này bao gồm:

    1. Dữ liệu cấu hình phân bổ tuỳ chỉnh mà nhà cung cấp công nghệ quảng cáo hoặc nhà quảng cáo đã đính kèm vào sự kiện nguồn ở Bước 3.
    2. Tập dữ liệu lượt chuyển đổi tuỳ chỉnh ở Bước 6.
    Lượt chuyển đổi.
  8. Sau đó, trình duyệt gửi các báo cáo đến điểm cuối được xác định trong attributionsrc, kèm theo độ trễ và độ nhiễu. Báo cáo tổng hợp được mã hoá, còn báo cáo cấp sự kiện thì không.

Điều kiện kích hoạt phân bổ (trang web của nhà quảng cáo)

Trình kích hoạt phân bổ là sự kiện yêu cầu trình duyệt ghi nhận các lượt chuyển đổi.

Bạn nên thu thập các lượt chuyển đổi quan trọng nhất đối với nhà quảng cáo, chẳng hạn như lượt mua hàng. Có thể thu thập nhiều loại chuyển đổi và siêu dữ liệu trong báo cáo tóm tắt.

Điều này đảm bảo kết quả tổng hợp được nêu chi tiết và chính xác cho những sự kiện này.

So khớp nguồn với điều kiện kích hoạt

Khi trình duyệt nhận được phản hồi của điều kiện kích hoạt phân bổ, trình duyệt sẽ truy cập vào bộ nhớ cục bộ để tìm một nguồn khớp với cả nguồn gốc của điều kiện kích hoạt phân bổ và eTLD+1 của URL trang đó.

Ví dụ: khi trình duyệt nhận được điều kiện kích hoạt phân bổ từ adtech.example trên shoes.example/shoes123, trình duyệt sẽ tìm kiếm một nguồn trong bộ nhớ cục bộ khớp với cả adtech.exampleshoes.example.

Bạn có thể đặt Bộ lọc (hoặc quy tắc tuỳ chỉnh) để xác định thời điểm so khớp một điều kiện kích hoạt với một nguồn cụ thể. Ví dụ: đặt một bộ lọc để chỉ tính lượt chuyển đổi cho một danh mục sản phẩm cụ thể và bỏ qua tất cả các danh mục khác. Bộ lọc và mô hình ưu tiên cho phép báo cáo phân bổ nâng cao hơn.

Nếu tìm thấy nhiều nguồn phân bổ trong bộ nhớ cục bộ, thì trình duyệt sẽ chọn nguồn được lưu trữ gần đây nhất. Trong một số trường hợp nguồn phân bổ được chỉ định mức độ ưu tiên, trình duyệt sẽ chọn nguồn có mức độ ưu tiên cao nhất.

Thu thập dữ liệu

Một điều kiện kích hoạt phân bổ khớp với một nguồn tương ứng sẽ được trình duyệt gửi dưới dạng báo cáo đến một điểm cuối báo cáo trên máy chủ do công nghệ quảng cáo sở hữu (đôi khi được gọi là điểm cuối của bộ sưu tập hoặc dịch vụ thu thập). Những báo cáo này có thể là báo cáo cấp sự kiện hoặc báo cáo tổng hợp.

Báo cáo tổng hợp được dùng để tạo báo cáo tóm tắt. Báo cáo tổng hợp là dữ liệu tổng hợp được thu thập từ quảng cáo (trên 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) do trình duyệt tạo và mã hoá trên thiết bị của người dùng trước khi công nghệ quảng cáo thu thập dữ liệu đó.

Các báo cáo ở cấp sự kiện bị trễ từ 2 đến 30 ngày. Báo cáo tổng hợp được gửi với độ trễ ngẫu nhiên trong vòng một giờ và các sự kiện phải nằm trong phạm vi ngân sách đóng góp. Những lựa chọn này bảo vệ quyền riêng tư và ngăn chặn hành vi lợi dụng bất kỳ hành động nào của người dùng.

Nếu bạn chỉ quan tâm đến các báo cáo cấp sự kiện, thì đây là phần cơ sở hạ tầng cuối cùng mà bạn cần. Tuy nhiên, nếu muốn tạo báo cáo tóm tắt, bạn cần phải xử lý báo cáo tổng hợp bằng một dịch vụ bổ sung.

Tạo báo cáo tóm tắt

Để tạo báo cáo tóm tắt, bạn sẽ sử dụng Dịch vụ tổng hợp (do công nghệ quảng cáo vận hành) để xử lý các báo cáo tổng hợp. Dịch vụ tổng hợp thêm độ nhiễu để bảo vệ quyền riêng tư của người dùng và trả về báo cáo tóm tắt cuối cùng.

Báo cáo tổng hợp được thu thập, phân theo lô và gửi đến môi trường công nghệ quảng cáo.
Sơ đồ này thể hiện luồng dữ liệu không đồng bộ từ điểm cuối thu thập, các báo cáo phân lô, thông qua quá trình xử lý Dịch vụ tổng hợp do công nghệ quảng cáo sở hữu.

Sau khi phân lô các báo cáo tổng hợp đã thu thập, lô này sẽ do Dịch vụ tổng hợp xử lý. Trình điều phối chỉ cung cấp khoá giải mã cho các phiên bản đã được chứng thực của Dịch vụ tổng hợp. Sau đó, Dịch vụ tổng hợp sẽ giải mã dữ liệu, tổng hợp dữ liệu và thêm độ nhiễu trước khi trả về kết quả dưới dạng báo cáo tóm tắt.

Báo cáo tổng hợp theo lô

Trước khi các báo cáo tổng hợp được xử lý, chúng phải được phân lô. Một lô bao gồm các báo cáo tổng hợp được nhóm theo chiến lược. Chiến lược của bạn nhiều khả năng sẽ phản ánh một khoảng thời gian cụ thể (chẳng hạn như hằng ngày hoặc hằng tuần). Quá trình này có thể diễn ra trên cùng một máy chủ đóng vai trò là điểm cuối báo cáo.

Các lô phải chứa nhiều báo cáo để đảm bảo tỷ lệ tín hiệu trên độ nhiễu ở mức cao.

Khoảng thời gian dài hơn dẫn đến kết quả ít nhiễu hơn.
So sánh việc chờ 1 ngày và 1 tuần. Sau 1 giờ, bạn sẽ nhận được giá trị tóm tắt nhỏ hơn và kết quả có thể nhiễu hơn. Trong một ngày, bạn sẽ nhận được giá trị tóm tắt lớn hơn để có thể ít nhiễu hơn.

Khoảng thời gian theo lô có thể thay đổi bất cứ lúc nào để đảm bảo bạn nắm bắt được các sự kiện cụ thể mà bạn mong muốn đạt được khối lượng lớn hơn, chẳng hạn như chương trình giảm giá hằng năm. Bạn có thể thay đổi khoảng thời gian phân lô mà không cần thay đổi nguồn phân bổ hoặc điều kiện kích hoạt.

Dịch vụ tổng hợp

Dịch vụ tổng hợp chịu trách nhiệm xử lý các báo cáo tổng hợp để tạo báo cáo tóm tắt. Báo cáo tổng hợp được mã hoá và chỉ Dịch vụ tổng hợp chạy trên môi trường thực thi đáng tin cậy (TEE) mới có thể đọc được.

Dịch vụ tổng hợp yêu cầu khoá giải mã từ điều phối viên để giải mã và tổng hợp dữ liệu. Sau khi được giải mã và tổng hợp, kết quả sẽ được nhiễu để bảo vệ quyền riêng tư và trả về dưới dạng báo cáo tóm tắt.

Các chuyên viên có thể tạo các báo cáo văn bản thô tổng hợp để kiểm thử cục bộ Dịch vụ tổng hợp. Hoặc bạn có thể kiểm thử bằng các báo cáo đã mã hoá trên AWS bằng Nitro Enclaves.

Tiếp theo là gì?

Chúng tôi muốn tham gia 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 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ề API Báo cáo phân bổ.