कॉन्टेंट की सुरक्षा के लिए नीति (सीएसपी), वेब सुरक्षा का एक ऐसा स्टैंडर्ड है जिसका इस्तेमाल बड़े पैमाने पर किया जाता है. इसका मकसद, इंजेक्शन पर आधारित कुछ खास तरह के हमलों को रोकना है. इसके लिए, यह नीति डेवलपर को उन संसाधनों पर कंट्रोल देती है जिन्हें उनके ऐप्लिकेशन लोड करते हैं. इस गाइड का इस्तेमाल करके, उन साइटों पर 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
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 उपयोगकर्ता के डेटा का बीकन
सुरक्षित कॉन्टेक्स्ट में 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, उन संसाधनों की सूची दिखाएगा जिन्हें कॉन्टेंट की सुरक्षा के लिए बनी नीति के तहत ब्लॉक किया गया है.
Tag Assistant खोलें और अपनी वेबसाइट का यूआरएल डालें. आपकी वेबसाइट एक नए टैब में खुल जाएगी.
अगर आपके पेज पर कॉन्टेंट की सुरक्षा के लिए बनी नीति, किसी संसाधन को ब्लॉक कर रही है, तो Tag Assistant के पेज से जुड़ी समस्याएं सेक्शन में सीएसपी से जुड़ी समस्या दिखती है.

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

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