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

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

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

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

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

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

एट्रिब्यूशन सोर्स रजिस्टर करने के लिए, एचटीएमएल एलिमेंट या 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"}

अगले चरण

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