एट्रिब्यूशन रिपोर्टिंग के लिए डीबग रिपोर्ट सेट अप करना

एट्रिब्यूशन रिपोर्टिंग को डीबग करने के बारे में तीन में से दूसरा चरण. डीबग रिपोर्ट सेट अप करें.

शब्दावली

  • The reporting origin is the origin that sets the Attribution Reporting source and trigger headers. All reports generated by the browser are sent to this origin. In this guidance, we use https://adtech.example as the example reporting origin.
  • An attribution report (report for short) is the final report (event-level or aggregatable) that contains the measurement data you've requested.
  • A debug report contains additional data about an attribution report, or about a source or trigger event. Receiving a debug report does not necessarily mean that something is working incorrectly! There are two types of debug reports
  • A transitional debug report is a debug report that requires a cookie to be set in order to be generated and sent. Transitional debug reports will be unavailable if a cookie is not set, and once third-party cookies are deprecated. All debug reports described in this guide are transitional debug reports.
  • Success debug reports track successful generation of an attribution report. They relate directly to an attribution report. Success debug reports have been available since Chrome 101 (April 2022).
  • Verbose debug reports can track missing reports and help you determine why they're missing. They indicate cases where the browser did not record a source or trigger event, (which means it will not generate an attribution report), and cases where an attribution report can't be generated or sent for some reason. Verbose debug reports include a type field that describes the reason why a source event, trigger event or attribution report was not generated. Verbose debug reports are available starting in Chrome 109 (Stable in January 2023).
  • Debug keys are unique identifiers you can set on both the source side and the trigger side. Debug keys enable you to map cookie-based conversions and attribution-based conversions. When you've set up your system to generate debug reports and set debug keys, the browser will include these debug keys in all attribution reports and debug reports.

For more concepts and key terms used throughout our documentation, refer to the Privacy Sandbox glossary.

क्या इसे लागू करने के बारे में सवाल हैं?

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

डीबग रिपोर्ट सेट अप करने की तैयारी करना

डीबग रिपोर्ट सेट अप करने से पहले, यह तरीका अपनाएं:

यह देखना कि आपने एपीआई इंटिग्रेशन के लिए सबसे सही तरीके लागू किए हैं या नहीं

  • यह देख लें कि आपका कोड, सुविधा की पहचान करने वाली सुविधा के पीछे लगा हो. यह पक्का करने के लिए कि एपीआई अनुमतियों की नीति के तहत ब्लॉक नहीं किया गया है, नीचे दिया गया कोड चलाएं:

    if (document.featurePolicy.allowsFeature('attribution-reporting')) {
    // the Attribution Reporting API is enabled
    }
    

    अगर सुविधा का पता लगाने की यह जांच सही दिखाता है, तो एपीआई की अनुमति उस पेज (पेज) में दी जाती है जहां जांच की जा रही है.

  • (टेस्टिंग फ़ेज़ के दौरान ज़रूरी नहीं: देखें कि आपने अनुमतियों से जुड़ी नीति सेट की है या नहीं)

इंटिग्रेशन की बुनियादी समस्याओं को ठीक करना

डीबग रिपोर्ट बड़े पैमाने पर होने वाले नुकसान का पता लगाने और उनका विश्लेषण करने में मदद करती हैं. हालांकि, इंटिग्रेशन की कुछ समस्याओं का स्थानीय तौर पर पता लगाया जा सकता है. सोर्स और ट्रिगर हेडर के गलत कॉन्फ़िगरेशन से जुड़ी समस्याओं, JSON पार्स करने की समस्याओं, असुरक्षित कॉन्टेक्स्ट (नॉन-एचटीटीपीएस), और एपीआई को काम करने से रोकने वाली अन्य समस्याओं के बारे में, DevTool समस्याएं टैब में बताया जाएगा.

DevTools से जुड़ी समस्याएं अलग-अलग तरह की हो सकती हैं. अगर आपको invalid header से जुड़ी समस्या आती है, तो हेडर को हेडर की पुष्टि करने वाले टूल में कॉपी करें. इससे आपको उस फ़ील्ड की पहचान करने और उसे ठीक करने में मदद मिलेगी जिसकी वजह से समस्या हो रही है.

स्क्रीनशॉट: हेडर की पुष्टि करने वाला टूल

डीबग रिपोर्ट सेट अप करें: सक्सेस रिपोर्ट और ज़्यादा शब्दों वाली रिपोर्ट बनाने के लिए सामान्य तरीके

इस कुकी को रिपोर्टिंग ऑरिजिन पर सेट करें:

Set-Cookie: ar_debug=1; SameSite=None; Secure; Path=/; HttpOnly

ब्राउज़र, सोर्स और ट्रिगर रजिस्ट्रेशन, दोनों पर इस कुकी की मौजूदगी की जांच करेगा. सक्सेस डीबग रिपोर्ट सिर्फ़ तब जनरेट होगी, जब दोनों समय कुकी मौजूद हो.

डेमो कोड: डीबग कुकी

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

दूसरा चरण: डीबग कुंजियां सेट करना

हर डीबग कुंजी, 64-बिट की बिना हस्ताक्षर वाले पूर्णांक में होनी चाहिए. इस वैल्यू को base-10 स्ट्रिंग के तौर पर फ़ॉर्मैट किया गया है. हर डीबग कुंजी को एक यूनीक आईडी बनाएं. काम की डीबग रिपोर्ट सिर्फ़ तब जनरेट होगी, जब डीबग की सेट की गई हों.

  • सोर्स-साइड डीबग कुंजी को उस अतिरिक्त सोर्स-टाइम जानकारी के साथ मैप करें जो आपके हिसाब से डीबग करने में काम की है.
  • ट्रिगर-साइड डीबग कुंजी को उस अतिरिक्त ट्रिगर-टाइम जानकारी के लिए मैप करें जो आपके हिसाब से डीबग करने के लिए काम की है.

उदाहरण के लिए, नीचे दी गई डीबग कुंजियां सेट की जा सकती हैं:

  • सोर्स डीबग कुंजी के तौर पर कुकी आईडी + सोर्स टाइमस्टैंप (और अपने कुकी-आधारित सिस्टम में उसी टाइमस्टैंप को कैप्चर करें)
  • कुकी आईडी + ट्रिगर डीबग कुंजी के तौर पर ट्रिगर टाइमस्टैंप (और अपने कुकी-आधारित सिस्टम में उसी टाइमस्टैंप को कैप्चर करें)

इसकी मदद से, कुकी पर आधारित कन्वर्ज़न की जानकारी का इस्तेमाल करके, उससे जुड़ी डीबग रिपोर्ट या एट्रिब्यूशन रिपोर्ट देखी जा सकती हैं. ज़्यादा जानने के लिए, तीसरा चरण: कुकबुक पढ़ें.

सोर्स-साइड डीबग कुंजी को source_event_id से अलग बनाएं, ताकि आप एक ही सोर्स इवेंट आईडी वाली अलग-अलग रिपोर्ट में अंतर कर सकें.

Attribution-Reporting-Register-Source:
{
// … Usual fields for Attribution-Reporting-Register-Source
"debug_key":"647775351539539"
}
Attribution-Reporting-Register-Trigger:
{
// … Usual fields for Attribution-Reporting-Register-Trigger
"debug_key":"938321351539743"
}

डेमो कोड: सोर्स डीबग की कुंजी डेमो कोड: ट्रिगर डीबग कुंजी

काम की डीबग रिपोर्ट सेट अप करना

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

तीसरा चरण: सफलता की डीबग रिपोर्ट इकट्ठा करने के लिए, एंडपॉइंट सेट अप करना

डीबग रिपोर्ट इकट्ठा करने के लिए, एंडपॉइंट सेट अप करें. यह एंडपॉइंट, मुख्य एट्रिब्यूशन एंडपॉइंट के जैसा होना चाहिए. साथ ही, पाथ में अतिरिक्त debug स्ट्रिंग होनी चाहिए:

  • इवेंट-लेवल की सफलता की डीबग रिपोर्ट का एंडपॉइंट: https://adtech.example/.well-known/attribution-reporting/debug/report-event-attribution
    • एग्रीगेट की जा सकने वाली डीबग रिपोर्ट का एंडपॉइंट: https://adtech.example/.well-known/attribution-reporting/debug/report-aggregate-attribution

जब कोई एट्रिब्यूशन ट्रिगर होता है, तो ब्राउज़र इस एंडपॉइंट पर POST अनुरोध के ज़रिए तुरंत डीबग रिपोर्ट भेजेगा. आने वाली सफलता की डीबग रिपोर्ट को हैंडल करने के लिए, आपका सर्वर कोड ऐसा दिख सकता है (यहां नोड एंडपॉइंट पर):

// Handle incoming event-Level Success Debug reports
adtech.post(
  '/.well-known/attribution-reporting/debug/report-event-attribution',
  async (req, res) => {
    // Debug report is in req.body
    res.sendStatus(200);
  }
);

// Handle incoming aggregatable Success Debug reports
adtech.post(
  '/.well-known/attribution-reporting/debug/report-aggregate-attribution',
  async (req, res) => {
    // Debug report is in req.body
    res.sendStatus(200);
  }
);

डेमो कोड: इवेंट-लेवल डीबग रिपोर्ट एंडपॉइंट

डेमो कोड: एग्रीगेट की जा सकने वाली डीबग रिपोर्ट एंडपॉइंट

चौथा चरण: पुष्टि करें कि सेटअप की मदद से, कामयाब होने वाली डीबग रिपोर्ट जनरेट होंगी

  • chrome://attribution-internals को अपने ब्राउज़र में खोलें.
  • पक्का करें कि इवेंट-लेवल रिपोर्ट और एग्रीगेट की जा सकने वाली रिपोर्ट, दोनों टैब में डीबग रिपोर्ट दिखाएं चेकबॉक्स पर सही का निशान लगा हो.
  • वे साइटें खोलें जिन पर आपने एट्रिब्यूशन रिपोर्टिंग की सुविधा लागू की है. एट्रिब्यूशन रिपोर्ट जनरेट करने के लिए इस्तेमाल किए जाने वाले चरणों को पूरा करें. इन चरणों से सफलता की डीबग रिपोर्ट जनरेट हो जाएंगी.
  • chrome://attribution-internals में:
    • देखें कि एट्रिब्यूशन रिपोर्ट सही तरीके से जनरेट हुई हैं या नहीं.
    • इवेंट-लेवल की रिपोर्ट टैब और एग्रीगेट की जा सकने वाली रिपोर्ट टैब में, जांचें कि काम की डीबग रिपोर्ट भी जनरेट की गई हैं या नहीं. सूची में नीले रंग के debug पाथ से उनकी पहचान करें.
स्क्रीनशॉट: एट्रिब्यूशन इंटरनल
  • अपने सर्वर पर, पुष्टि करें कि आपके एंडपॉइंट को ये सफलता डीबग रिपोर्ट तुरंत मिल रही हैं. इवेंट-लेवल और एग्रीगेट की जा सकने वाली सक्सेस डीबग रिपोर्ट, दोनों की जांच करना न भूलें.
स्क्रीनशॉट: ऑरिजिन सर्वर लॉग की रिपोर्टिंग

पांचवां चरण: काम की डीबग रिपोर्ट पर नज़र रखना

सक्सेस डीबग रिपोर्ट, एट्रिब्यूशन रिपोर्ट की तरह ही होती है. साथ ही, इसमें सोर्स-साइड और ट्रिगर-साइड डीबग, दोनों कुंजियां शामिल होती हैं.

{
  "attribution_destination": "https://advertiser.example",
  "randomized_trigger_rate": 0.0000025,
  "report_id": "7d76ef29-d59e-4954-9fff-d97a743b4715",
  "source_debug_key": "647775351539539",
  "source_event_id": "760938763735530",
  "source_type": "event",
  "trigger_data": "0",
  "trigger_debug_key": "156477391437535"
}

{
  "aggregation_service_payloads": [
    {
      "debug_cleartext_payload": "omRkYXRhgqJldmFsdWVEAACAAGZidWNrZXRQPPhnkD+7c+wm1RjAlowp3KJldmFsdWVEAAARMGZidWNrZXRQJFJl9DLxbnMm1RjAlowp3GlvcGVyYXRpb25paGlzdG9ncmFt",
      "key_id": "d5f32b96-abd5-4ee5-ae23-26490d834012",
      "payload": "0s9mYVIuznK4WRV/t7uHKquHPYCpAN9mZHsUGNiYd2G/9cg87Y0IjlmZkEtiJghMT7rmg3GtWVPWTJU5MvtScK3HK3qR2W8CVDmKRAhqqlz1kPZfdGUB4NsXGyVCy2UWapklE/r7pmRDDP48b4sQTyDMFExQGUTE56M/8WFVQ0qkc7UMoLI/uwh2KeIweQCEKTzw"
    }
  ],
  "shared_info": "{\"api\":\"attribution-reporting\",\"attribution_destination\":\"https://advertiser.example\",\"debug_mode\":\"enabled\",\"report_id\":\"4a04f0ff-91e7-4ef6-9fcc-07d000c20495\",\"reporting_origin\":\"https://adtech.example\",\"scheduled_report_time\":\"1669888617\",\"source_registration_time\":\"1669852800\",\"version\":\"0.1\"}",
  "source_debug_key": "647775351539539",
  "trigger_debug_key": "156477391437535"
}

ज़्यादा शब्दों वाली डीबग रिपोर्ट सेट अप करें

तीसरा चरण: सोर्स और ट्रिगर हेडर में हूबहू डीबग को ऑप्ट-इन करें

Attribution-Reporting-Register-Source और Attribution-Reporting-Register-Trigger, दोनों में debug_reporting को true पर सेट करें.

Attribution-Reporting-Register-Source:
{
// … Usual fields for Attribution-Reporting-Register-Source
"debug_key":"938321351539743",
"debug_reporting": true // defaults to false if not present
}

Attribution-Reporting-Register-Trigger:
{
// … Usual fields for Attribution-Reporting-Register-Trigger
"debug_key":"938321351539743",
"debug_reporting": true // defaults to false if not present
}

डेमो कोड: सोर्स हेडर

डेमो कोड: ट्रिगर हेडर

चौथा चरण: ज़्यादा शब्दों वाली डीबग रिपोर्ट इकट्ठा करने के लिए, एंडपॉइंट सेट अप करना

डीबग रिपोर्ट इकट्ठा करने के लिए, एंडपॉइंट सेट अप करें. यह एंडपॉइंट, मुख्य एट्रिब्यूशन एंडपॉइंट के जैसा होना चाहिए. साथ ही, पाथ में अतिरिक्त debug/verbose स्ट्रिंग मौजूद होनी चाहिए:

https://adtech.example/.well-known/attribution-reporting/debug/verbose

अगर वर्बोस डीबग रिपोर्ट जनरेट की जाती है और यह किसी सोर्स या ट्रिगर के रजिस्टर न होने पर, ब्राउज़र इस एंडपॉइंट पर POST अनुरोध के ज़रिए तुरंत वर्बोस डीबग रिपोर्ट भेजेगा. इनकमिंग वर्बोस डीबग रिपोर्ट को हैंडल करने वाला आपका सर्वर कोड ऐसा दिख सकता है (यहां नोड एंडपॉइंट पर):

// Handle incoming verbose debug reports
adtech.post(
  '/.well-known/attribution-reporting/debug/verbose',
  async (req, res) => {
    // List of verbose debug reports is in req.body
    res.sendStatus(200);
  }
);

सफल डीबग रिपोर्ट के उलट, ज़्यादा शब्दों वाली रिपोर्ट के लिए सिर्फ़ एक एंडपॉइंट होता है. इवेंट-लेवल और एग्रीगेट की गई रिपोर्ट से जुड़ी वर्बोस रिपोर्ट, एक ही एंडपॉइंट पर भेजी जाएंगी.

डेमो कोड: वर्बोस डीबग रिपोर्ट एंडपॉइंट

पांचवां चरण: पुष्टि करें कि आपके सेट अप से ज़्यादा शब्दों वाली डीबग रिपोर्ट जनरेट होगी

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

  1. chrome://attribution-internals को अपने ब्राउज़र में खोलें.
  2. एट्रिब्यूशन रिपोर्टिंग की मदद से सेट अप की गई साइट पर एट्रिब्यूशन (ग्राहक में बदलना) ट्रिगर करें. इस कन्वर्ज़न से पहले, विज्ञापन पर यूज़र ऐक्टिविटी (इंप्रेशन या क्लिक) नहीं थी, इसलिए आपको trigger-no-matching-source के टाइप की वर्बोस डीबग रिपोर्ट जनरेट करनी होगी.
  3. chrome://attribution-internals में, वर्बोस डीबग रिपोर्ट टैब खोलें और देखें कि trigger-no-matching-source टाइप की वर्बोस डीबग रिपोर्ट जनरेट की गई है या नहीं.
  4. अपने सर्वर पर, पुष्टि करें कि आपके एंडपॉइंट को तुरंत यह वर्बोस डीबग रिपोर्ट मिल गई हो.

छठा चरण: वर्बोस डीबग रिपोर्ट पर नज़र रखना

ट्रिगर के समय जनरेट की गई वर्बोस डीबग रिपोर्ट में सोर्स-साइड और ट्रिगर-साइड डीबग कुंजी, दोनों शामिल होते हैं. ऐसा तब किया जाता है, जब ट्रिगर के लिए कोई मिलता-जुलता सोर्स मौजूद हो. सोर्स समय पर जनरेट की गई, ज़्यादा शब्दों वाली डीबग रिपोर्ट में सोर्स-साइड डीबग कुंजी शामिल होती है.

ब्राउज़र से भेजी गई वर्बोस डीबग रिपोर्ट वाले अनुरोध का उदाहरण:

[
  {
    "body": {
      "attribution_destination": "http://arapi-advertiser.localhost",
      "randomized_trigger_rate": 0.0000025,
      "report_id": "92b7f4fd-b157-4925-999e-aad6361de759",
      "source_debug_key": "282273499788483",
      "source_event_id": "480041649210491",
      "source_type": "event",
      "trigger_data": "1",
      "trigger_debug_key": "282273499788483"
    },
    "type": "trigger-event-low-priority"
  },
  {
    "body": {
      "attribution_destination": "http://arapi-advertiser.localhost",
      "limit": "65536",
      "source_debug_key": "282273499788483",
      "source_event_id": "480041649210491",
      "source_site": "http://arapi-publisher.localhost",
      "trigger_debug_key": "282273499788483"
    },
    "type": "trigger-aggregate-insufficient-budget"
  }
]

हर वर्बोस रिपोर्ट में ये फ़ील्ड होते हैं:

Type
रिपोर्ट जनरेट होने की वजह. सभी वर्बोस रिपोर्ट टाइप और हर टाइप के आधार पर क्या कार्रवाई करनी चाहिए, इस बारे में जानने के लिए तीसरा चरण: कुकबुक डीबग करना में दिया गया वर्बोस रिपोर्ट का रेफ़रंस देखें.
Body
रिपोर्ट का मुख्य हिस्सा. यह उसके टाइप पर निर्भर करता है. तीसरा चरण: कुकबुक डीबग करना में, वर्बोस रिपोर्ट का रेफ़रंस देखें.

अनुरोध के मुख्य हिस्से में कम से कम एक और ज़्यादा से ज़्यादा दो शब्दों वाली रिपोर्ट होंगी:

  • अगर गड़बड़ी सिर्फ़ इवेंट-लेवल की रिपोर्ट पर असर डालती है, तो एक वर्बोस रिपोर्ट. सोर्स या ट्रिगर के रजिस्ट्रेशन न हो पाने की सिर्फ़ एक वजह होती है. इसलिए, हर गड़बड़ी और रिपोर्ट टाइप (इवेंट-लेवल या एग्रीगेट) के हिसाब से, एक वर्बोस रिपोर्ट जनरेट की जा सकती है.
  • अगर गड़बड़ी, इवेंट-लेवल और एग्रीगेटेड रिपोर्ट, दोनों पर असर डालती है, तो दो वर्बोस रिपोर्ट. इस अपवाद के साथ: अगर इवेंट-लेवल और इकट्ठा की जा सकने वाली रिपोर्ट, दोनों पर असर नहीं होता है, तो सिर्फ़ एक वर्बोस रिपोर्ट जनरेट होती है (उदाहरण: trigger-no-matching-source)

अगला गाना

तीसरा चरण: कुकबुक को डीबग करना