Đă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 (một 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 vị trí địa lý. - Đích chuyển đổi, như trong 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à sau đó trình duyệt sẽ phân bổ lượt chuyển đổi.

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

Để đăng ký 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

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 tiêu đề phản hồi HTTP đăng ký nguồn.

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

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

  1. Bắt đầu quy 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 Báo cáo phân bổ mong muốn. Bước này áp dụng 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 để biết thông tin chi tiết về thời điểm bắt buộc phải có những dữ liệu này.

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 để sử dụng 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. Tính năng 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 Bắt buộc sử dụng tuỳ chọn attributionReporting.
XMLHttpRequest Bắt buộc sử dụng tuỳ chọn attributionReporting.
window.open() (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 nhau đối với số lượt nhấp và số lượt xem. Mở các thẻ tương ứng cho từng mục.

Để đă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 neo

Thêm attributionsrc vào các thẻ <a> hiện tại mà bạn muốn đo lường số lần hiển thị hoặc số lần 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 xem xét, 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ì chỉ thêm attributionsrc, đối với 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">

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

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ẻ ký tự liên kết:

<!-- With an anchor tag -->
<a href=... attributionsrc="https://a.example/register-source 
  https://b.example/register-source"> 

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

// With 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 navigation-source-eligible attributionsrc (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 một URL. Ngoài ra, chỉ đối với các nguồn (không áp dụng cho điều kiện kích hoạt), 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.

Việc 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 thành phần neo, bạn có thể không thực sự nắm quyền kiểm soát đích đến; trong trường hợp này, bạn cần có một cấu hình trong đó bạn 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 hoàn toàn có thể kiểm soát. Bằng việc chỉ định một giá trị rõ ràng cho attributionsrc, bạn đang 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.

Đối với bước 1 của quá trình đăng ký chế độ xem, hãy chuyển đến thẻ rồi chọn Bước 1.

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

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

Có hình ảnh

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

Bằng tập lệnh

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

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; 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ư sau:

Bằng một URL duy nhất:

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

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

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

Đang sử dụng fetch() hoặc XMLHttpRequest()

Mã này mô phỏng hiệu quả các hoạt động của một yêu cầu HTML có attributionsrc:

// With fetch
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 });
// With XHR
const attributionReporting = {
  eventSourceEligible: true,
  triggerEligible: false,
};

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

Ở bước 1 của quá trình đăng ký lượt nhấp, hãy chuyển đến các thẻ rồi chọn Bước 1.


Bước 2: Phản hồi kèm theo 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 của 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 của bạn.

 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 được 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ổ.