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 vị trí địa lý.
- Đích đến của lượt chuyển đổi, chẳng hạn như trang web mà bạn muốn 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ị hoặc lượt nhấp vào quảng cáo) 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 dùng các phần tử HTML hoặc lệnh gọi JavaScript:
- Thẻ
<a> - Thẻ
<img> - Thẻ
<script> fetchcuộc gọiXMLHttpRequestwindow.opencuộc gọi
Thao tác này sẽ tạo ra các yêu cầu mạng mà sau đó bạn sẽ 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 lượt nhấp hoặc lượt xem, hãy làm theo các bước được nêu tại đây. Sau đây là các bước hoàn chỉnh. Sau đây là nội dung tóm tắt:
- Bắt đầu quy trình đăng ký nguồn. Dùng một phần tử HTML hoặc lệnh gọi JavaScript để đưa ra yêu cầu. Bước này sẽ khác nhau đối với lượt nhấp và lượt xem, như bạn sẽ thấy trong các phần sau.
Hoàn tất quy 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 đã chọ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 cần có những thông tin này.
Khi attributionsrc là không bắt buộc, việc sử dụng tham số này cho biết rằng yêu cầu đủ điều kiện nhận 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. Tham số này cũng hữu ích cho hoạt động đ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)attributionsrc là bắt buộc. |
Thẻ <img> |
(nguồn sự kiện)attributionsrc là bắt buộc. |
Thẻ <script> |
(nguồn sự kiện)attributionsrc là bắt buộc. |
fetch cuộc gọi |
Bạn phải cung cấp lựa chọn attributionReporting. |
XMLHttpRequest |
Bạn phải cung cấp lựa chọn attributionReporting. |
window.open cuộc gọi |
(nguồn điều hướng)attributionsrc là bắt buộc. |
Bước 1: Bắt đầu đăng ký nguồn
Bước 1 có sự khác biệt giữa lượt nhấp và lượt xem.
Để đăng ký một 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 điểm neo
Thêm attributionsrc vào các thẻ <a> hiện có mà bạn muốn đo lường số lượt hiển thị hoặc số 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 cho 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ì chỉ thêm attributionsrc, bạn có thể chỉ định một giá trị URL duy nhất cho hình ảnh hoặc tập lệnh:
<a href=... attributionsrc="https://a.example/register-source">Click me</a>
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 đó 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ố đượ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 danh sách URL được phân tách bằng dấu cách như minh hoạ ở đâ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 các yêu cầu attributionsrc đủ điều kiện là nguồn điều hướng (các yêu cầu bao gồm tiêu đề Attribution-Reporting-Eligible).
attributionsrc có hoặc không có giá trị
Như bạn đã 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 khiến trình duyệt bắt đầu một yêu cầu tìm nạp keepalive 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 hữu ích nếu bạn muốn thực hiện việc đă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ý các nguồn cho lượt nhấp vào một phần tử liên kết, thì 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ó một cấu hình mà theo đó 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 thao tác điều hướng và bạn có thể hoàn toàn kiểm soát. Bằng cách 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 của yêu cầu.
Để đăng ký một nguồn phân bổ cho một lượt xem, bạn có thể sử dụng thẻ hình ảnh hoặc thẻ tập lệnh mà bạn sẽ thêm thuộc tính attributionsrc.
Ngoài ra, bạn có thể dùng fetch() hoặc XMLHttpRequest() của JavaScript.
Bằng 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 một 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 một hình ảnh hoặc tập lệnh, bạn có thể đặt URL hoặc các URL attributionsrc như sau:
Với một URL:
<img attributionsrc="https://adtech.example/attribution_source?ad_id=123">
Với danh sách URL:
<img attributionsrc="https://a.example/register-source
https://b.example/register-source">
Đang dùng fetch() hoặc XMLHttpRequest()
Đoạn mã này mô phỏng hiệu quả những gì mà một yêu cầu HTML có attributionsrc sẽ làm:
const attributionReporting = {
eventSourceEligible: true,
triggerEligible: false,
};
// Optionally set keepalive to make sure 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: Trả lời bằng tiêu đề (số lượt nhấp và số 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 chuyển đổi thành 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ý các điều kiện kích hoạt phân bổ.