एट्रिब्यूशन सोर्स रजिस्टर करें

क्लिक और व्यू को सही इवेंट के लिए एट्रिब्यूट करने के लिए, सोर्स रजिस्टर करने का तरीका जानें.

एट्रिब्यूशन सोर्स, विज्ञापन से जुड़ा कोई इवेंट (क्लिक या व्यू) होता है. विज्ञापन टेक्नोलॉजी कंपनी, इस इवेंट में यहां दी गई जानकारी जोड़ सकती है:

  • कॉन्टेक्स्ट के हिसाब से रिपोर्टिंग का डेटा. जैसे, विज्ञापन क्रिएटिव आईडी, कैंपेन के बारे में जानकारी या भौगोलिक क्षेत्र.
  • कन्वर्ज़न डेस्टिनेशन, जैसे कि वह साइट जहां आपको लगता है कि उपयोगकर्ता ग्राहक में बदलेगा.

इस दस्तावेज़ में दिए गए तरीके का इस्तेमाल करके, उन सोर्स को रजिस्टर किया जा सकता है जिनसे विज्ञापन इंप्रेशन या क्लिक मिलते हैं. इसके बाद, ब्राउज़र इन सोर्स को कन्वर्ज़न का क्रेडिट देता है.

रजिस्ट्रेशन के तरीके

एट्रिब्यूशन सोर्स रजिस्टर करने के लिए, एचटीएमएल एलिमेंट या JavaScript कॉल का इस्तेमाल करें:

  • <a> टैग
  • <img> टैग
  • <script> टैग
  • fetch कॉल
  • XMLHttpRequest
  • window.open कॉल

इससे नेटवर्क अनुरोध जनरेट होते हैं. इसके बाद, आपको सोर्स रजिस्ट्रेशन एचटीटीपी रिस्पॉन्स हेडर के साथ उनका जवाब देना होता है.

क्लिक या व्यू के लिए सोर्स रजिस्टर करना

क्लिक या व्यू के लिए एट्रिब्यूशन सोर्स रजिस्टर करने के लिए, यहां दिया गया तरीका अपनाएं. यहां पूरा तरीका बताया गया है. यहां खास जानकारी दी गई है:

  1. सोर्स का रजिस्ट्रेशन शुरू करें. अनुरोध करने के लिए, एचटीएमएल एलिमेंट या JavaScript कॉल का इस्तेमाल करें. क्लिक और व्यू के लिए यह चरण अलग होता है. इसके बारे में आपको यहां दिए गए सेक्शन में पता चलेगा.
  2. सोर्स रजिस्ट्रेशन हेडर का इस्तेमाल करके, सोर्स रजिस्ट्रेशन की प्रोसेस पूरी करें. अनुरोध मिलने पर, Attribution-Reporting-Register-Source हेडर के साथ जवाब दें. उस हेडर में, चुने गए एट्रिब्यूशन रिपोर्टिंग कॉन्फ़िगरेशन के बारे में बताएं. क्लिक और व्यू, दोनों के लिए यह चरण एक जैसा होता है.

    खास जानकारी वाली रिपोर्ट का उदाहरण:

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

    इवेंट-लेवल की रिपोर्ट का उदाहरण:

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

ज़रूरी और ज़रूरी नहीं एट्रिब्यूट

सोर्स रजिस्टर करने के लिए, एचटीएमएल एलिमेंट इस्तेमाल करते समय या JavaScript कॉल करते समय, आपको attributionsrc या attributionReporting का इस्तेमाल करना पड़ सकता है. इनकी ज़रूरत कब पड़ती है, इस बारे में जानकारी पाने के लिए यहां दी गई टेबल देखें.

जब attributionsrc ज़रूरी नहीं होता है, तब इसका इस्तेमाल करने से पता चलता है कि अनुरोध, एट्रिब्यूशन रिपोर्टिंग के लिए ज़रूरी शर्तें पूरी करता है. अगर attributionsrc का इस्तेमाल किया जाता है, तो ब्राउज़र Attribution-Reporting-Eligible हेडर भेजता है. यह ऐप्लिकेशन से वेब पर होने वाली गतिविधि को मेज़र करने के लिए भी काम आता है: अगर attributionsrc मौजूद है, तो ब्राउज़र Attribution-Reporting-Support हेडर भेजता है.

रजिस्ट्रेशन का तरीका सोर्स
<a> टैग (नेविगेशन सोर्स)
attributionsrc ज़रूरी है.
<img> टैग (इवेंट का सोर्स)
attributionsrc ज़रूरी है.
<script> टैग (इवेंट का सोर्स)
attributionsrc ज़रूरी है.
fetch कॉल attributionReporting विकल्प ज़रूरी है.
XMLHttpRequest attributionReporting विकल्प ज़रूरी है.
window.open कॉल (नेविगेशन सोर्स)
attributionsrc ज़रूरी है.

पहला चरण: सोर्स रजिस्ट्रेशन शुरू करना

क्लिक और व्यू के लिए, पहला चरण अलग-अलग होता है.

क्लिक के लिए एट्रिब्यूशन सोर्स रजिस्टर करने के लिए, <a> टैग या JavaScript window.open() का इस्तेमाल किया जा सकता है.

एंकर का इस्तेमाल करना

उन मौजूदा <a> टैग में attributionsrc जोड़ें जिनके लिए आपको इंप्रेशन या क्लिक मेज़र करने हैं:

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

ज़्यादा जानकारी के लिए, उदाहरण के तौर पर दिया गया कोड देखें.

स्क्रिप्ट का इस्तेमाल करना

attributionsrc से window.open() को कॉल करें:

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

इस तरीके को उपयोगकर्ता के इंटरैक्शन के पांच सेकंड के अंदर कॉल किया जाना चाहिए, ताकि इसे ध्यान में रखा जा सके.

attributionsrc को अलग से जोड़ने के बजाय, किसी इमेज या स्क्रिप्ट के लिए यूआरएल की एक वैल्यू तय की जा सकती है:

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

JavaScript के मामले में, अगर आपने attributionsrc को कोई वैल्यू दी है, तो पक्का करें कि आपने उस यूआरएल को कोड में बदल दिया हो. ऐसा तब करें, जब उसमें = जैसे खास वर्ण शामिल हों. ऐसा न करने पर, पैरामीटर को गलत तरीके से पार्स किया जाएगा.

इसे इस तरह से कोड में बदलें:

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

attributionsrc टैग के साथ, यहां दिखाए गए तरीके से यूआरएल की सूची को स्पेस से अलग करके भी इस्तेमाल किया जा सकता है:<a>

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

या यहां दिए गए तरीके से window.open() का इस्तेमाल करके.

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

ऐसे मामलों में, दोनों यूआरएल को नेविगेशन-सोर्स-एलिजिबल attributionsrc अनुरोध मिलते हैं. ये ऐसे अनुरोध होते हैं जिनमें Attribution-Reporting-Eligible हेडर शामिल होता है.

attributionsrc एट्रिब्यूट की वैल्यू दी गई है या नहीं

जैसा कि आपने पहले देखा, यूआरएल के बिना भी attributionsrc तय किया जा सकता है. आपके पास सिर्फ़ एक यूआरएल डालने का विकल्प भी है. इसके अलावा, स्पेस से अलग किए गए यूआरएल की सूची का इस्तेमाल किया जा सकता है.

यूआरएल का इस्तेमाल करने पर, ब्राउज़र हर यूआरएल के लिए, अलग कीपअलाइव फ़ेच अनुरोध शुरू करता है. इसमें Attribution-Reporting-Eligible अनुरोध हेडर शामिल होता है.

यह तब काम आता है, जब आपको एलिमेंट के मुख्य अनुरोध से अलग किसी अनुरोध का जवाब देकर सोर्स रजिस्टर करना हो.

उदाहरण के लिए, अगर आपको ऐंकर एलिमेंट पर क्लिक के लिए सोर्स रजिस्टर करने हैं, तो हो सकता है कि आपके पास डेस्टिनेशन को कंट्रोल करने का विकल्प न हो. इस मामले में, आपको ऐसा कॉन्फ़िगरेशन चाहिए होगा जिसमें नेविगेशन से अलग अनुरोध के जवाब के तौर पर सोर्स रजिस्ट्रेशन हेडर भेजा जा सके. साथ ही, आपके पास उसे पूरी तरह से कंट्रोल करने का विकल्प हो. attributionsrc के लिए साफ़ तौर पर कोई वैल्यू तय करके, ब्राउज़र को यह निर्देश दिया जाता है कि वह अतिरिक्त अनुरोध करे और उसके डेस्टिनेशन को कॉन्फ़िगर करे.

किसी व्यू के लिए एट्रिब्यूशन सोर्स रजिस्टर करने के लिए, इमेज या स्क्रिप्ट टैग का इस्तेमाल किया जा सकता है. इसमें आपको attributionsrc एट्रिब्यूट जोड़ना होगा.

इसके अलावा, JavaScript fetch() या XMLHttpRequest() का इस्तेमाल किया जा सकता है.

इमेज के साथ

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

स्क्रिप्ट के साथ

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

अगर चाहें, तो क्लिक के लिए यूआरएल की वैल्यू की तरह ही, attributionsrc के लिए भी यूआरएल की वैल्यू तय की जा सकती है. इसका मतलब है कि इमेज या स्क्रिप्ट के लिए , attributionsrc यूआरएल या यूआरएल इस तरह सेट किए जा सकते हैं:

एक यूआरएल के साथ:

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

यूआरएल की सूची का इस्तेमाल करके:

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

fetch() या XMLHttpRequest() का इस्तेमाल करना

यह कोड, attributionsrc के साथ किए गए एचटीएमएल अनुरोध के काम करने के तरीके को दिखाता है:

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();

दूसरा चरण: हेडर (क्लिक और व्यू) के साथ जवाब देना

क्लिक और व्यू, दोनों के लिए अगला चरण Attribution-Reporting-Register-Source हेडर के साथ जवाब देना है.

ज़्यादा जानकारी के लिए, उदाहरण के तौर पर दिया गया कोड देखें.

सर्वर पर ब्राउज़र का अनुरोध मिलने पर, जवाब दें और अपने जवाब में 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"
  })
);

स्ट्रिंग में बदलने के बाद, आपका हेडर ऐसा दिखता है:

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

अगले चरण

एट्रिब्यूशन ट्रिगर रजिस्टर करने का तरीका जानें.