Đă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 mà sau đó bạn phản hồi bằng một nguồn tiêu đề phản hồi HTTP đăng ký.

Đă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 JavaScript để tạo yêu cầu. Bước này khác đối 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 nguồn tiêu đề đăng ký. 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 Báo cáo phân bổ mong 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 sử dụng attributionsrc hoặc attributionReporting. Hãy tham khảo bảng sau đây để biết chi tiết về những trường hợp cần thay đổi là 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. Mô hình này cũng rất hữu ích cho mô hình từ ứng dụng đến web đo lường: 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 JavaScript window.open()

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 đảm bảo để mã hoá URL đó trong trường hợp URL chứa các ký tự đặc biệt như = sẽ làm cho tham số được phân tích cú pháp không đúng.

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 attributionsrc đủ điều kiện cho nguồn điều hướng các yêu cầu (các yêu cầu bao gồm 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 URL riêng biệ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 cho mỗi URL (bao gồm cả 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 này tách biệt với yêu cầu chính của phần tử.

Ví dụ: nếu bạn cần đăng ký các nguồn cho các lượt nhấp vào một phần tử liên kết, bạn có thể không thực sự kiểm soát được đích đến; trong trường hợp này, bạn sẽ muốn cấu hình theo đó bạn gửi tiêu đề đăng ký nguồn dưới dạng phản hồi cho yêu cầu tách biệt với điều hướng và bạn có thể kiểm soát hoàn toàn. Theo chỉ định một giá trị rõ ràng cho attributionsrc, bạn sẽ hướng dẫn phương thức 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ư cho nhấp chuột; tức là đối với hình ảnh hoặc tập lệnh, bạn có thể đặt URL attributionsrc hoặc các URL như vậy:

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à thêm vào phản hồi của bạn về tiêu đề Attribution-Reporting-Register-Source.

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ổ.