इस गाइड में, इन कामों को करने का तरीका बताया गया है:
- Google Cloud Platform (GCP) App Engine पर टैग करने वाला सर्वर सेट अप करें.
- लाइव ट्रैफ़िक को मैनेज करने के लिए, टैग करने वाले सर्वर को अपग्रेड करें.
- अपने Google Tag Manager कंटेनर को चलाने वाले सर्वर की संख्या बढ़ाएं या घटाएं.
- सर्वर को प्रोविज़न करने के बाद, टैग करने वाले सर्वर के वर्शन को अपडेट रखें.
ज़रूरी शर्तें
- आपके पास GCP खाता होना चाहिए. अगर आपके पास कोई खाता नहीं है, तो नया GCP खाता बनाएं.
- आपके पास GCP बिलिंग खाता होना चाहिए. अगर आपके पास कोई खाता नहीं है, तो GCP बिलिंग खाता बनाएं (इसके लिए, बिलिंग खाता बनाने वाले की भूमिका की ज़रूरत होती है).
- आपके पास प्रोजेक्ट क्रिएटर और बिलिंग खाते के उपयोगकर्ता की भूमिका होनी चाहिए. भूमिकाएं जोड़ने के बारे में ज़्यादा जानें.
1. सर्वर का प्रावधान करें
App Engine इंस्टेंस पर टैग करने वाला नया सर्वर बनाने के लिए, आपको ये काम करने होंगे:
- Tag Manager में नया सर्वर कंटेनर बनाना
- नया Google Cloud प्रोजेक्ट (GCP) बनाना
- नया App Engine टैगिंग सर्वर उपलब्ध कराना
- Tag Manager के सर्वर कंटेनर में, नए टैगिंग सर्वर का यूआरएल जोड़ें
Google Tag Manager का सर्वर कंटेनर बनाना
Google Tag Manager खोलें.
खाता लाइन में, ओवरफ़्लो मेन्यू > कंटेनर बनाएं पर क्लिक करें.
नया सर्वर कंटेनर बनाएं.
"टैग करने वाले सर्वर को मैन्युअल तरीके से मैनेज करें" रेडियो बटन पर क्लिक करें. कंटेनर कॉन्फ़िगरेशन पर ध्यान दें. आपको अपने सर्वर का प्रावधान करने के लिए, इसकी ज़रूरत होगी.
नया GCP प्रोजेक्ट बनाना
अपने टैगिंग सर्वर के लिए नया GCP प्रोजेक्ट बनाने के लिए:
Google Cloud Console खोलें.
अपने प्रोजेक्ट को नाम दें. हमारा सुझाव है कि सुविधा के लिए, आप अपने कंटेनर आईडी का इस्तेमाल करें. इस नाम का इस्तेमाल सिर्फ़ GCP में किया जाता है.
GCP प्रोजेक्ट आईडी को नोट करें, क्योंकि टैगिंग सर्वर बनाने के लिए आपको इसकी ज़रूरत पड़ेगी.
टैग करने वाला एक नया सर्वर सेट अप करें
टैग करने वाला सर्वर बनाने के लिए:
Cloud Shell खोलें.
Cloud Shell में GCP प्रोजेक्ट सेट करें.
project IDकी जगह, उस GCP प्रोजेक्ट आईडी को डालें जिसे आपने पहले नोट किया था:gcloud config set project project IDशेल स्क्रिप्ट को फ़ॉलो करके, टैग करने वाला अपना सर्वर बनाएं. डिप्लॉयमेंट टाइप को
testingपर सेट करें.bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
Tag Manager में, टैग करने वाले सर्वर का यूआरएल जोड़ना
Google Tag Manager खोलें.
एडमिन > कंटेनर सेटिंग में जाकर, यूआरएल जोड़ें पर क्लिक करें. अगर आपको अपने सर्वर का यूआरएल नहीं पता है, तो Cloud Shell में यह कमांड चलाएं:
gcloud app browseनतीजा: आपने टैग करने वाला सर्वर सेट अप किया है और उसे
testingकॉन्फ़िगरेशन के साथ सेट किया है. अब सर्वर साइड टैगिंग की जांच की जा सकती है.
सर्वर का शुरुआती कॉन्फ़िगरेशन (testing)
टेस्टिंग कॉन्फ़िगरेशन, प्रॉडक्ट को एक्सप्लोर करने के लिए सही है. इसके लिए, टेस्ट ट्रैफ़िक की कम मात्रा भेजी जाती है और Tag Manager में झलक दिखाने की सुविधा का इस्तेमाल किया जाता है. यह कॉन्फ़िगरेशन, स्टैंडर्ड एनवायरमेंट में App Engine की F1 इंस्टेंस क्लास है. ज़्यादातर मामलों में, आपको कोई शुल्क नहीं देना होगा.
2. प्रोडक्शन में App Engine का इस्तेमाल करना
production कॉन्फ़िगरेशन में, हर सर्वर के लिए हर महीने करीब 40 डॉलर (डॉलर) चुकाने होते हैं. सुविधाजनक एनवायरमेंट में, हर सर्वर 1 vCPU, 0.5 जीबी मेमोरी, 10 जीबी डिस्क वाला एक App Engine इंस्टेंस होता है.
App Engine की बिलिंग और बिलिंग से जुड़ी सूचनाओं को कॉन्फ़िगर करने का तरीका जानने के लिए, App Engine की लागत मैनेज करना लेख पढ़ें. हमारा सुझाव है कि आप बिलिंग से जुड़ी सूचना सेट अप करें.
प्रोडक्शन के लिए सुझाई गई सेटिंग
हमारा सुझाव है कि आप कम से कम तीन सर्वर चलाएं, ताकि सर्वर के बंद होने पर डेटा के खोने का जोखिम कम हो. हालांकि, आपके पास कम (या ज़्यादा) सर्वर चलाने का विकल्प होता है. हमें उम्मीद है कि ऑटोस्केल करने वाले तीन से छह सर्वर (डिफ़ॉल्ट) हर सेकंड 50 से 200 अनुरोधों को मैनेज करेंगे. परफ़ॉर्मेंस, टैग की संख्या और उन टैग के काम करने के तरीके पर निर्भर करती है.
टैग करने वाले सर्वर को कॉन्फ़िगर करने के लिए:
- Google Cloud Platform Cloud Shell खोलें.
- Cloud Shell में Cloud Platform प्रोजेक्ट सेट करें.
project IDकी जगह, उस GCP प्रोजेक्ट आईडी को डालें जिसे आपने पहले नोट किया था:gcloud config set project project ID
- प्रोडक्शन इनवायरनमेंट के लिए टैगिंग सर्वर को फिर से कॉन्फ़िगर करने के लिए, यहां दी गई सेटअप स्क्रिप्ट चलाएं. ये काम करें:
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
- डिप्लॉयमेंट टाइप को
productionमें बदलें. - प्रोडक्शन ट्रैफ़िक को दिखाने के लिए, अतिरिक्त सर्वर सेट अप करें. हमारा सुझाव है कि आपके पास कम से कम तीन सर्वर हों.
- डिप्लॉयमेंट टाइप को
ज़रूरी नहीं: लॉगिंग की सुविधा बंद करें
डेटा को लॉग करने का अनुरोध करना
App Engine, डिफ़ॉल्ट रूप से हर उस अनुरोध की जानकारी लॉग करता है जो उसे मिलता है. जैसे- अनुरोध का पाथ, क्वेरी पैरामीटर वगैरह. अगर आपका टैग करने वाला सर्वर हर महीने बहुत से अनुरोध हैंडल करता है (उदाहरण के लिए, 10 लाख से ज़्यादा), तो उन लॉग मैसेज पर लॉग इन करने के शुल्क ज़्यादा हो सकते हैं. हमारा सुझाव है कि लॉगिंग के लिए लगने वाले शुल्क को कम करने या हटाने के लिए, App Engine के अनुरोध को लॉग करने की सुविधा बंद करें.
App Engine के अनुरोध को लॉग करने की सुविधा बंद करने के लिए:
- Google Cloud Platform में, लॉग राउटर खोलें. पक्का करें कि आप उस प्रोजेक्ट में हों जो आपके कंटेनर आईडी से मैच करता हो:

- टाइप: Cloud Logging बकेट, नाम: _Default लाइन के लिए, ओवरफ़्लो मेन्यू चुनें. इसके बाद, सिंक में बदलाव करें पर क्लिक करें.
- सिंक डेस्टिनेशन में जाकर, लॉग बकेट _Default चुनें.
सिंक में शामिल करने के लिए लॉग चुनें में जाकर, एक नई लाइन जोड़ें. शामिल किए जाने वाले मौजूदा फ़िल्टर में यह नियम डालें:
NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT LOG_ID("appengine.googleapis.com/request_log")लोड बैलेंसर से भी लॉगिंग बंद करने के लिए, एक नई लाइन जोड़ें और शामिल करने वाले मौजूदा फ़िल्टर में यह नियम डालें:
NOT LOG_ID("requests")बदलावों को लागू करने के लिए, सिंक अपडेट करें. अब App Engine के अनुरोधों को लॉग करने से बाहर रखा जाएगा.
पुष्टि करें कि लॉग एक्सप्लोरर के लॉग में कोई नया अनुरोध न दिख रहा हो.
कंसोल लॉगिंग
किसी कंटेनर में टैग करने वाला सर्वर, क्लाइंट या टैग, कंसोल के लिए मैसेज लॉग कर सकते हैं. इन मैसेज पर लॉग इन करने का शुल्क लग सकता है. लॉगिंग शुल्क को कम करने या हटाने के लिए, अनचाहे कंसोल लॉग मैसेज बंद किए जा सकते हैं.
अनचाहे कंसोल लॉग की पहचान करना:
- GCP में, लॉग एक्सप्लोरर खोलें.
अपने टैग से आने वाले सभी अनचाहे लॉग मैसेज ढूंढें. उदाहरण के लिए:
कोई टैग ये लॉग भेज सकता है:
const logToConsole = require('logToConsole'); logToConsole('Custom message: ' + data.param1); logToConsole('An important message to keep around!'); data.gtmOnSuccess()textPayloadफ़ील्ड में, उससे जुड़े लॉग मैसेज देखें:
कंसोल लॉग मैसेज बंद करने के लिए:
- Google Cloud Platform में, लॉग राउटर खोलें. पक्का करें कि आप उस प्रोजेक्ट में हों जो आपके कंटेनर आईडी से मेल खाता हो:

- टाइप: Cloud Logging बकेट, नाम: _Default लाइन के लिए, ओवरफ़्लो मेन्यू चुनें. इसके बाद, सिंक में बदलाव करें पर क्लिक करें.
- सिंक डेस्टिनेशन में जाकर, लॉग बकेट _Default चुनें.
सिंक में शामिल करने के लिए लॉग चुनें में जाकर, एक नई लाइन जोड़ें. शामिल किए जाने वाले मौजूदा फ़िल्टर में यह नियम डालें:
NOT textPayload:"Custom message:"अपने कंसोल लॉग के लिए, Custom message: टेक्स्ट को उस कंसोल लॉग के सबस्ट्रिंग से बदलें जिसे आपको बंद करना है. ज़्यादा बेहतर फ़िल्टर के लिए, लॉगिंग क्वेरी लैंग्वेज का इस्तेमाल करें.
बदलावों को लागू करने के लिए, सिंक अपडेट करें. मैच होने वाले
logToConsoleमैसेज को लॉग करने से बाहर रखा जाना चाहिए.पुष्टि करें कि लॉग एक्सप्लोरर में कोई नया कंसोल लॉग मैसेज न दिख रहा हो.
3. डिप्लॉयमेंट को अपने कस्टम डोमेन से मैप करना
डिफ़ॉल्ट सर्वर-साइड टैगिंग डिप्लॉयमेंट, App Engine डोमेन पर होस्ट किया जाता है. हमारा सुझाव है कि अपनी वेबसाइट के सबडोमेन का इस्तेमाल करने के लिए, डिप्लॉयमेंट में बदलाव करें.
अपनी वेबसाइट के सबडोमेन को टैग करने वाले सर्वर से मैप करें.
4. Google Tag Manager में सर्वर यूआरएल जोड़ना
अब आपके पास सर्वर है, इसलिए आपको यह पक्का करना होगा कि Google Tag Manager को पता हो कि उसे आपके सर्वर का इस्तेमाल करना चाहिए.
Google Tag Manager खोलें.
उस सर्वर कंटेनर पर क्लिक करें जिसे आपको टैग करने वाले सर्वर पर ले जाना है.
एडमिन टैब > कंटेनर सेटिंग में जाकर, अपने सर्वर कंटेनर की सेटिंग खोलें.
यूआरएल जोड़ें पर क्लिक करें और अपने सर्वर का यूआरएल चिपकाएं.
सेव करें और अपने फ़ाइल फ़ोल्डर पर वापस जाएं.
5. पुष्टि
टैग करने वाला सर्वर सेट अप करने के बाद, पक्का करें कि वह सही तरीके से काम कर रहा हो. Tag Manager फ़ाइल फ़ोल्डर में, झलक देखें बटन पर क्लिक करें. अगर झलक दिखाने वाला पेज लोड होता है, तो इसका मतलब है कि सब कुछ सही तरीके से सेट अप हो गया है.
एक से ज़्यादा यूआरएल की झलक देखना
अगर आपने एक टैगिंग सर्वर पर एक से ज़्यादा डोमेन को मैप किया है, तो पक्का करें कि हर यूआरएल को कंटेनर की सेटिंग में जोड़ा गया हो.
अगर आपने एक से ज़्यादा यूआरएल दिए हैं, तो सभी पाथ (डोमेन नेम के बाद की स्ट्रिंग) मैच करने चाहिए.
| काम करता है | काम नहीं करता |
|---|---|
पहला यूआरएल: example.com/abcदूसरा यूआरएल: example2.com/abc |
यूआरएल 1: example.com/abcयूआरएल 2: example2.com/def |
अगर कई यूआरएल जोड़े जाते हैं, तो आपको झलक देखें बटन के बगल में एक आइकॉन दिखेगा. इसकी मदद से, झलक देखने के लिए यूआरएल चुना जा सकता है.
टैग करने वाले सर्वर का वर्शन अपडेट करना
टैग करने वाले सर्वर के नए अपडेट में, सुरक्षा से जुड़े जोखिम को ठीक किया गया है और नई सुविधाएं शामिल हैं. हमारा सुझाव है कि जब Tag Manager आपको अपडेट करने की सूचना दे, तो कम से कम हर बड़े वर्शन रिलीज़ के लिए, अपने टैगिंग सर्वर को अपडेट करें. उदाहरण के लिए, 1.x.x वर्शन से 2.x.x वर्शन पर अपग्रेड करना.
टैगिंग सर्वर को अपडेट करने के लिए, सेटअप स्क्रिप्ट को फिर से चलाएं. इसके लिए, वही सेटिंग इस्तेमाल करें जो आपने पहले इस्तेमाल की थी. मौजूदा सेटिंग डिफ़ॉल्ट रूप से सेट होती हैं.
टैगिंग सर्वर को अपडेट करने के लिए:
- Google Cloud Platform Cloud Shell खोलें.
- Cloud Shell में Cloud Platform प्रोजेक्ट सेट करें.
project IDकी जगह, उस GCP प्रोजेक्ट आईडी को डालें जिसे आपने पहले नोट किया था:gcloud config set project project ID
- सेटअप स्क्रिप्ट को उनीहीं सेटिंग का इस्तेमाल करके चलाएं जिनका इस्तेमाल आपने पहले किया था. मौजूदा सेटिंग, डिफ़ॉल्ट रूप से सेट होती हैं.
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
यह पुष्टि करने के लिए कि अपडेट हो गया है:
- नया डीबग सेशन शुरू करने के लिए, अपने सर्वर कंटेनर में झलक देखें बटन पर क्लिक करें. इसके बाद, किसी अलग टैब पर अनुरोध भेजें.
- खास जानकारी में, कंसोल टैब चुनें और पक्का करें कि आपको टैगिंग सर्वर को अपडेट करने के लिए कोई मैसेज न मिला हो.
सर्वर के अपडेट होने के बाद, Tag Manager आपको एक दिन तक मैसेज दिखा सकता है. इन मैसेज में, आपको टैग करने वाले सर्वर को अपडेट करने के लिए कहा जा सकता है. हालांकि, झलक दिखाने वाले पेज पर, टैग करने वाले सर्वर के वर्शन के बारे में अप-टू-डेट मैसेज दिखेगा.
प्रोडक्शन डिप्लॉयमेंट के टाइम आउट से जुड़ी समस्या हल करना
टैगिंग सर्वर बनाने या फिर से कॉन्फ़िगर करने के लिए, सेटअप स्क्रिप्ट को चलाने पर, स्क्रिप्ट टाइम आउट हो सकती है. ऐसा कई वजहों से हो सकता है. सबसे आम दो वजहें ये हैं:
सेवा खातों के पास गलत अनुमतियां हैं - Compute Engine और App Engine के सेवा खातों के पास, प्रोडक्शन डिप्लॉयमेंट को डिप्लॉय और मैनेज करने की ज़िम्मेदारी होती है. डिफ़ॉल्ट रूप से, इन्हें सही अनुमतियों के साथ पहले से कॉन्फ़िगर किया जाता है. हालांकि, कुछ मामलों में किसी संगठन की नीति की वजह से, ये गलत हो सकते हैं.
- Google Cloud Console में, बाईं ओर मौजूद नेविगेशन बार में, आईएएम और एडमिन पेज पर जाएं.
- Compute Engine का सेवा खाता
<project_number>-compute@developer.gserviceaccount.comऔर App Engine का सेवा खाता<project_name>@appspot.gserviceaccount.comढूंढें. - दोनों सेवा खातों के पास
Editorकी भूमिका होनी चाहिए. अगर किसी खाते मेंEditorभूमिका नहीं है, तो भूमिका अपडेट करें. इसके लिए, खाते की दाईं ओर मौजूद पेंसिल आइकॉन पर क्लिक करें. इसके बाद, मौजूदा भूमिका के ड्रॉपडाउन पर क्लिक करें और सबसे ऊपर तक स्क्रोल करें. इसके बाद, प्रोजेक्ट और फिर एडिटर पर क्लिक करें.
कोटा कम है - प्रोडक्शन डिप्लॉयमेंट में Compute Engine का कोटा खर्च होता है. अगर प्रोजेक्ट में ज़रूरत के मुताबिक कोटा नहीं है, तो संसाधनों का प्रावधान करने के दौरान, डिप्लॉयमेंट का समय खत्म हो सकता है.
- Google Cloud Console में बाईं ओर मौजूद नेविगेशन बार में, आईएएम और एडमिन पेज पर जाएं. इसके बाद, बाईं ओर मौजूद नेविगेशन बार में कोटा टैब पर क्लिक करें.
- पेज पर सबसे ऊपर, टेबल फ़िल्टर करें टेक्स्ट बॉक्स पर क्लिक करें और
Compute Engine APIटाइप करें. सिर्फ़ एक नतीजे पर क्लिक करें. - पुष्टि करें कि कोटा के सभी स्टेटस तय सीमा के अंदर हों या उन पर हरे रंग का सही का निशान लगा हो.
- सीपीयू ढूंढें और उस पर क्लिक करें. पुष्टि करें कि मौजूदा इस्तेमाल और डिप्लॉय किए जा रहे इंस्टेंस की संख्या, डिप्लॉयमेंट के इलाके की तय सीमा से कम हो.