कॉन्टेंट की सुरक्षा के बारे में नीति के साथ Tag Manager का इस्तेमाल करना

कॉन्टेंट की सुरक्षा के लिए नीति (सीएसपी), वेब सुरक्षा का एक ऐसा स्टैंडर्ड है जिसका इस्तेमाल बड़े पैमाने पर किया जाता है. इसका मकसद, इंजेक्शन पर आधारित कुछ खास तरह के हमलों को रोकना है. इसके लिए, यह नीति डेवलपर को उन संसाधनों पर कंट्रोल देती है जिन्हें उनके ऐप्लिकेशन लोड करते हैं. इस गाइड का इस्तेमाल करके, उन साइटों पर Google Tag Manager को डिप्लॉय करने का तरीका जानें जो सीएसपी का इस्तेमाल करती हैं.

कंटेनर टैग को सीएसटी इस्तेमाल करने की अनुमति देना

अगर आपको सीएसएपी वाले पेज पर Google Tag Manager का इस्तेमाल करना है, तो सीएसएपी को Tag Manager कंटेनर कोड को लागू करने की अनुमति देनी होगी. यह कोड, इनलाइन JavaScript कोड के तौर पर बनाया गया है. यह gtm.js स्क्रिप्ट को इंजेक्ट करता है. ऐसा कई तरीकों से किया जा सकता है. जैसे, नॉनस या हैश का इस्तेमाल करके. हमारा सुझाव है कि आप nonce का इस्तेमाल करें. यह एक ऐसी वैल्यू होनी चाहिए जिसका अनुमान लगाना मुश्किल हो. साथ ही, सर्वर को इसे हर रिस्पॉन्स के लिए अलग-अलग जनरेट करना चाहिए. Content-Security-Policy script-src डायरेक्टिव में, नॉनस वैल्यू डालें:

Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com www.google.com

इसके बाद, Tag Manager कंटेनर के इनलाइन कोड के ऐसे वर्शन का इस्तेमाल करें जिसमें नॉनस की जानकारी शामिल हो. इनलाइन स्क्रिप्ट एलिमेंट पर मौजूद नॉन्स एट्रिब्यूट की वैल्यू को इस वैल्यू पर सेट करें:

<!-- Google Tag Manager -->
<script nonce='{SERVER-GENERATED-NONCE}'>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;var n=d.querySelector('[nonce]');
n&&j.setAttribute('nonce',n.nonce||n.getAttribute('nonce'));f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->

इसके बाद, Tag Manager उस पेज में जोड़ी गई किसी भी स्क्रिप्ट को नॉनस भेज देगा.

इनलाइन स्क्रिप्ट को चालू करने के अन्य तरीके भी हैं. जैसे, सीएसएपी में इनलाइन स्क्रिप्ट का हैश देना.

अगर सुझाई गई नॉनस या हैश वाली तकनीकें काम नहीं करती हैं, तो Tag Manager की इनलाइन स्क्रिप्ट को चालू किया जा सकता है. इसके लिए, CSP के script-src सेक्शन में 'unsafe-inline' डायरेक्टिव जोड़ें.

इस तरीके का इस्तेमाल करने के लिए, सीएसपी में ये डायरेक्टिव होने चाहिए:

डायरेक्टिव सामग्री
script-src 'unsafe-inline' https://www.googletagmanager.com
img-src www.googletagmanager.com
connect-src www.googletagmanager.com www.google.com

कस्टम JavaScript वैरिएबल

कस्टम JavaScript वैरिएबल को लागू करने के तरीके की वजह से, सीएसपी मौजूद होने पर उनकी वैल्यू undefined होगी. ऐसा तब तक होगा, जब तक सीएसपी के script-src सेक्शन में 'unsafe-eval' डायरेक्टिव नहीं दिया जाता.

डायरेक्टिव सामग्री
script-src 'unsafe-eval'

झलक मोड

Google Tag Manager के झलक मोड का इस्तेमाल करने के लिए, सीएसपी में ये निर्देश शामिल होने चाहिए:

डायरेक्टिव सामग्री
script-src https://www.googletagmanager.com https://tagmanager.google.com
style-src https://www.googletagmanager.com https://tagmanager.google.com https://fonts.googleapis.com
img-src https://www.googletagmanager.com https://ssl.gstatic.com https://www.gstatic.com
font-src https://fonts.gstatic.com data:

Google Analytics 4

Google Analytics 4 टैग का इस्तेमाल करने के लिए, सीएसपी में ये निर्देश शामिल होने चाहिए. 1 के तौर पर मार्क किए गए एंडपॉइंट, खास तौर पर विज्ञापन दिखाने से जुड़ी सुविधाओं के लिए हैं. हालांकि, हमारा सुझाव है कि आप इन्हें शुरुआती सेटअप के दौरान शामिल करें, ताकि बाद में Google Ads को लिंक करने पर, आपको अपने सीएसपी को अपडेट न करना पड़े.

डायरेक्टिव सामग्री
script-src https://*.googletagmanager.com
img-src https://*.google-analytics.com
https://*.googletagmanager.com
https://*.g.doubleclick.net 1
https://*.google.com 1
https://*.google.<TLD> 1
connect-src https://*.google-analytics.com
https://*.analytics.google.com
https://*.googletagmanager.com
https://*.g.doubleclick.net 1
https://*.google.com 1
https://*.google.<TLD> 1
https://pagead2.googlesyndication.com 1
frame-src https://www.googletagmanager.com 1

1 विज्ञापन एंडपॉइंट: इन डोमेन की ज़रूरत सिर्फ़ उन GA4 डिप्लॉयमेंट के लिए होती है जो Google Ads से लिंक हैं या विज्ञापन के लिए सुविधाओं का इस्तेमाल कर रहे हैं.

Google Ads कन्वर्ज़न, रीमार्केटिंग या कन्वर्ज़न लिंक करने वाले टैग का इस्तेमाल करने के लिए, सीएसपी में ये निर्देश शामिल होने चाहिए:

डायरेक्टिव सामग्री
script-src https://www.googleadservices.com https://www.google.com https://www.googletagmanager.com
https://pagead2.googlesyndication.com https://googleads.g.doubleclick.net
img-src https://www.googletagmanager.com https://googleads.g.doubleclick.net https://www.google.com
https://pagead2.googlesyndication.com https://www.googleadservices.com
https://google.com https://www.google.<TLD>
frame-src https://www.googletagmanager.com
connect-src https://pagead2.googlesyndication.com https://www.googleadservices.com https://googleads.g.doubleclick.net
https://ad.doubleclick.net https://www.google.com https://google.com https://www.google.<TLD>

सुरक्षित कॉन्टेक्स्ट में Google Ads के उपयोगकर्ता डेटा बीकन का इस्तेमाल करने के लिए, सीएसपी में ये निर्देश शामिल होने चाहिए:

डायरेक्टिव सामग्री
script-src https://www.googletagmanager.com
frame-src https://www.googletagmanager.com
connect-src https://google.com https://www.google.com

Google Ads का उपयोगकर्ता डेटा बीकन, असुरक्षित कॉन्टेक्स्ट में काम नहीं करता. इसलिए, ऐसे मामलों में सीएसपी कॉन्फ़िगरेशन लागू नहीं होता.

Floodlight

Floodlight का इस्तेमाल करने वाले लोग, इन कॉन्फ़िगरेशन का इस्तेमाल करके सीएसपी चालू कर सकते हैं. <FLOODLIGHT-CONFIG-ID> वैल्यू को किसी खास Floodlight विज्ञापन देने वाले व्यक्ति या कंपनी के आईडी या * से बदलें, ताकि विज्ञापन देने वाले किसी भी व्यक्ति या कंपनी के आईडी को अनुमति दी जा सके:

सभी उपयोगकर्ताओं के लिए:

डायरेक्टिव सामग्री
img-src https://ad.doubleclick.net https://ade.googlesyndication.com https://adservice.google.com
https://www.googletagmanager.com
frame-src https://www.googletagmanager.com
connect-src https://pagead2.googlesyndication.com https://www.google.com https://www.googleadservices.com
https://ad.doubleclick.net

"कस्टम स्क्रिप्ट" बीकन के लिए:

डायरेक्टिव सामग्री
frame-src https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net

इमेज टैग के लिए:

डायरेक्टिव सामग्री
img-src https://ad.doubleclick.net https://ade.googlesyndication.com

Merchant Center

Merchant Center को डेटा भेजने के लिए, सीएसपी में ये निर्देश शामिल होने चाहिए:

डायरेक्टिव सामग्री
script-src https://*.googletagmanager.com
img-src https://*.merchant-center-analytics.goog
connect-src https://*.merchant-center-analytics.goog

सर्विस वर्कर

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

डायरेक्टिव सामग्री
frame-src https://www.googletagmanager.com

Tag Assistant की मदद से समस्या हल करना

कॉन्टेंट की सुरक्षा के लिए नीति (सीएसपी) से जुड़ी समस्याओं को हल करने के लिए, Tag Assistant का इस्तेमाल करें. Tag Assistant, उन संसाधनों की सूची दिखाएगा जिन्हें कॉन्टेंट की सुरक्षा के लिए बनी नीति के तहत ब्लॉक किया गया है.

  1. Tag Assistant खोलें और अपनी वेबसाइट का यूआरएल डालें. आपकी वेबसाइट एक नए टैब में खुल जाएगी.

  2. अगर आपके पेज पर कॉन्टेंट की सुरक्षा के लिए बनी नीति, किसी संसाधन को ब्लॉक कर रही है, तो Tag Assistant के पेज से जुड़ी समस्याएं सेक्शन में सीएसपी से जुड़ी समस्या दिखती है.

    Tag Assistant का स्क्रीनशॉट, जिसमें सीएसएपी से जुड़ी समस्या दिख रही है

  3. अपने पेज पर ब्लॉक किए गए सभी संसाधनों की सूची देखने के लिए, सीएसएपी से जुड़ी समस्या के बगल में मौजूद समस्या देखें को चुनें. Tag Assistant का स्क्रीनशॉट, जिसमें सीएसएपी से जुड़ी समस्या का स्लाइडर दिखाया गया है

  4. ब्लॉक किए गए सभी संसाधनों को, कॉन्टेंट की सुरक्षा के लिए बनी नीति में जोड़ें.