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

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

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

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

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

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

एट्रिब्यूशन सोर्स को रजिस्टर करने के लिए, एचटीएमएल एलिमेंट या 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 हेडर भेजता है.

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

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

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

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

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

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

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

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

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

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

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

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

क्लिक और व्यू, दोनों के लिए अगला चरण 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"}

अगले चरण

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