Đăng ký các nguồn phân bổ

Tìm hiểu cách đăng ký nguồn để phân bổ lượt nhấp và lượt xem cho các sự kiện thích hợp.

Nguồn phân bổ là một sự kiện liên quan đến quảng cáo (lượt nhấp hoặc lượt xem) mà công nghệ quảng cáo có thể đính kèm các loại thông tin sau:

  • Dữ liệu báo cáo theo bối cảnh, chẳng hạn như mã mẫu quảng cáo, thông tin về chiến dịch hoặc khu vực địa lý.
  • Đích đến chuyển đổi, như trên trang web mà bạn mong đợi người dùng chuyển đổi.

Bằng cách làm theo các bước trong tài liệu này, bạn có thể đăng ký các nguồn (lượt hiển thị quảng cáo hoặc lượt nhấp) mà trình duyệt sẽ phân bổ lượt chuyển đổi.

Phương thức đăng ký

Để đăng ký các nguồn phân bổ, hãy sử dụng các phần tử HTML hoặc lệnh gọi JavaScript:

  • Thẻ <a>
  • Thẻ <img>
  • Thẻ <script>
  • fetch cuộc gọi
  • XMLHttpRequest
  • window.open cuộc gọi

Thao tác này sẽ tạo ra các yêu cầu mạng, sau đó bạn phản hồi bằng một tiêu đề phản hồi HTTP đăng ký nguồn.

Đăng ký các nguồn cho lượt nhấp hoặc lượt xem

Để đăng ký một nguồn phân bổ cho lượt nhấp hoặc lượt xem, hãy làm theo các bước nêu tại đây. Sau đây là các bước đầy đủ. Sau đây là thông tin tóm tắt:

  1. Bắt đầu quá trình đăng ký nguồn. Sử dụng phần tử HTML hoặc lệnh gọi JavaScript để đưa ra yêu cầu. Bước này khác với lượt nhấp và lượt xem, như bạn sẽ thấy trong các phần sau.
  2. Hoàn tất quá trình đăng ký nguồn bằng cách phản hồi bằng tiêu đề đăng ký nguồn. Khi nhận được yêu cầu đó, hãy phản hồi bằng tiêu đề Attribution-Reporting-Register-Source. Trong tiêu đề đó, hãy chỉ định cấu hình Attribution Reporting mà bạn muốn. Bước này giống nhau cho cả lượt nhấp và lượt xem.

    Ví dụ về báo cáo tóm tắt:

    {
      "aggregation_keys": {
        "campaignCounts": "0x159",
        "geoValue": "0x5"
      },
      "aggregatable_report_window": "86400",
      "destination": "https://example.com"
    }
    

    Ví dụ về báo cáo cấp sự kiện:

    {
      "source_event_id": "12340873456",
      "destination": "[eTLD+1]",
      "expiry": "[64-bit signed integer]",
      "priority": "[64-bit signed integer]",
      "event_report_window": "[64-bit signed integer]"
    }
    

Thuộc tính bắt buộc và không bắt buộc

Khi sử dụng các phần tử HTML hoặc thực hiện lệnh gọi JavaScript để đăng ký nguồn, bạn có thể cần phải sử dụng attributionsrc hoặc attributionReporting. Hãy tham khảo bảng sau đây để biết thông tin chi tiết về các trường hợp bắt buộc.

Khi attributionsrckhông bắt buộc, việc sử dụng thuộc tính này cho biết rằng yêu cầu đủ điều kiện cho Báo cáo phân bổ. Nếu bạn sử dụng attributionsrc, trình duyệt sẽ gửi tiêu đề Attribution-Reporting-Eligible. Việc này cũng hữu ích cho việc đo lường từ ứng dụng đến web: nếu có attributionsrc, trình duyệt sẽ gửi tiêu đề Attribution-Reporting-Support.

Phương thức đăng ký Nguồn
Thẻ <a> (nguồn điều hướng)
attributionsrcbắt buộc.
Thẻ <img> (nguồn sự kiện)
attributionsrcbắt buộc.
Thẻ <script> (nguồn sự kiện)
attributionsrcbắt buộc.
fetch cuộc gọi Tuỳ chọn attributionReportingbắt buộc.
XMLHttpRequest Tuỳ chọn attributionReportingbắt buộc.
window.open cuộc gọi (nguồn điều hướng)
attributionsrcbắt buộc.

Bước 1: Bắt đầu đăng ký nguồn

Bước 1 khác với lượt nhấp và lượt xem.

Để đăng ký nguồn phân bổ cho một lượt nhấp, bạn có thể sử dụng thẻ <a> hoặc window.open() JavaScript.

Sử dụng quảng cáo cố định

Thêm attributionsrc vào các thẻ <a> hiện có mà bạn muốn đo lường lượt hiển thị hoặc lượt nhấp:

<a href="https://shoes.example/..." attributionsrc>Click me</a>

Xem mã ví dụ để biết thêm thông tin.

Sử dụng tập lệnh

Gọi window.open() bằng attributionsrc:

window.open(
  "https://shoes.example/...",
  "_blank",
  "attributionsrc");

Để được tính đến, phương thức này phải được gọi trong vòng 5 giây kể từ khi người dùng tương tác.

Thay vì thêm attributionsrc, đối với một hình ảnh hoặc tập lệnh, bạn có thể chỉ định một giá trị URL duy nhất:

<a href=... attributionsrc="https://a.example/register-source">Click me</a>

Trong trường hợp JavaScript, nếu bạn cung cấp giá trị cho attributionsrc, hãy nhớ mã hoá URL đó trong trường hợp URL đó chứa các ký tự đặc biệt như =. Điều này sẽ khiến tham số bị phân tích cú pháp không chính xác.

Mã hoá như sau:

const encodedUrl = encodeURIComponent(
  "https://adtech.example/attribution_source?ad_id=...");
window.open(
  "https://shoes.example/landing",
   "_blank",
   `attributionsrc=${encodedUrl}`);

attributionsrc cũng có thể lấy một danh sách URL được phân tách bằng dấu cách như minh hoạ dưới đây bằng thẻ <a>:

<a href=... attributionsrc="https://a.example/register-source
  https://b.example/register-source">Click me</a>

hoặc như ở đây bằng cách sử dụng window.open().

window.open("...", "_blank", `attributionsrc=${encodedUrl1}
  attributionsrc=${encodedUrl2}`)

Trong những trường hợp như vậy, cả hai URL đều nhận được yêu cầu attributionsrc đủ điều kiện đối với nguồn điều hướng (các yêu cầu có chứa tiêu đề Attribution-Reporting-Eligible).

attributionsrc có hoặc không có giá trị

Như đã thấy trước đó, bạn có thể chỉ định attributionsrc mà không cần URL. Bạn cũng có thể chỉ định một URL duy nhất. Ngoài ra, bạn có thể sử dụng danh sách URL được phân tách bằng dấu cách.

Việc sử dụng URL sẽ khiến trình duyệt bắt đầu một yêu cầu tìm nạp duy trì hoạt động riêng biệt (một yêu cầu cho mỗi URL), bao gồm cả tiêu đề yêu cầu Attribution-Reporting-Eligible.

Điều này rất hữu ích nếu bạn muốn đăng ký nguồn bằng cách phản hồi một yêu cầu tách biệt với yêu cầu chính của phần tử.

Ví dụ: nếu cần đăng ký nguồn cho các lượt nhấp vào một phần tử neo, thì bạn có thể không thực sự kiểm soát đích đến; trong trường hợp này, bạn sẽ cần một cấu hình để gửi tiêu đề đăng ký nguồn dưới dạng phản hồi cho một yêu cầu tách biệt với thành phần điều hướng và bạn có thể kiểm soát hoàn toàn. Bằng việc chỉ định một giá trị rõ ràng cho attributionsrc, bạn sẽ hướng dẫn trình duyệt thực hiện yêu cầu bổ sung đó và định cấu hình đích đến.

Để đăng ký nguồn phân bổ cho một lượt xem, bạn có thể dùng thẻ hình ảnh hoặc tập lệnh để thêm thuộc tính attributionsrc vào.

Ngoài ra, bạn có thể dùng JavaScript fetch() hoặc XMLHttpRequest().

Có hình ảnh

<img attributionsrc
src="https://adtech.example/attribution_source?ad_id=...">

Có kịch bản

<script attributionsrc
  src="https://adtech.example/attribution_source?ad_id=..."></script>

Nếu muốn, bạn có thể chỉ định giá trị URL cho attributionsrc theo cách tương tự như đối với lượt nhấp; nghĩa là đối với hình ảnh hoặc tập lệnh, bạn có thể đặt một hoặc nhiều URL attributionsrc tương tự:

Với một URL duy nhất:

<img attributionsrc="https://adtech.example/attribution_source?ad_id=123">

Với một danh sách URL:

<img attributionsrc="https://a.example/register-source
  https://b.example/register-source">

Đang dùng fetch() hoặc XMLHttpRequest()

Mã này mô phỏng một cách hiệu quả những việc mà một yêu cầu HTML có attributionsrc sẽ làm:

const attributionReporting = {
  eventSourceEligible: true,
  triggerEligible: false,
};

// Optionally set keepalive to ensure the request outlives the page.
window.fetch("https://adtech.example/attribution_source?my_ad_id=123",
  { keepalive: true, attributionReporting });
const attributionReporting = {
  eventSourceEligible: true,
  triggerEligible: false,
};

const req = new XMLHttpRequest();
req.open("GET", url);
req.setAttributionReporting(attributionReporting);
req.send();

Bước 2: Phản hồi bằng tiêu đề (lượt nhấp và lượt xem)

Bước tiếp theo cho cả lượt nhấp và lượt xem là phản hồi bằng tiêu đề Attribution-Reporting-Register-Source.

Xem mã ví dụ để biết thêm thông tin.

Khi nhận được yêu cầu trình duyệt trên máy chủ, hãy phản hồi và đưa tiêu đề Attribution-Reporting-Register-Source vào phản hồi.

res.set(
  "Attribution-Reporting-Register-Source",
  JSON.stringify({
    // Use source_event_id to map it to any granular information
    // you need at ad-serving time
    source_event_id: "412444888111012",
    destination: "https://advertiser.example",
    // Optional fields
    expiry: "604800",
    priority: "100",
    debug_key: "122939999"
  })
);

Sau khi tạo chuỗi, tiêu đề của bạn sẽ có dạng như sau:

{"source_event_id":"412444888111012","destination":"https://advertiser.example","expiry":"604800","priority":"100","debug_key":"122939999"}

Các bước tiếp theo

Tìm hiểu cách Đăng ký điều kiện kích hoạt phân bổ.