इस गाइड में, इन कामों को करने का तरीका बताया गया है:
- Google Cloud Platform (GCP) App Engine पर टैग करने वाला सर्वर सेट अप करें.
- लाइव ट्रैफ़िक मैनेज करने के लिए, टैग करने वाले सर्वर को अपग्रेड करें.
- अपने Google Tag Manager कंटेनर को चलाने वाले सर्वर की संख्या बढ़ाएं या घटाएं.
- सर्वर को प्रोविज़न करने के बाद, टैग करने वाले सर्वर के वर्शन को अपडेट रखें.
ज़रूरी शर्तें
- आपके पास GCP खाता होना चाहिए. अगर आपके पास Google Ads खाता नहीं है, तो एक नया 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 अपने पास आने वाले हर अनुरोध (जैसे, अनुरोध पाथ, क्वेरी पैरामीटर वगैरह) की जानकारी को लॉग करता है. अगर आपका टैगिंग सर्वर हर महीने ज़्यादा अनुरोधों (जैसे, एक मिलियन से ज़्यादा) को हैंडल करता है, तो उन लॉग मैसेज पर लॉगिंग के लिए ज़्यादा शुल्क लग सकता है. हमारा सुझाव है कि लॉगिंग शुल्क को कम करने या हटाने के लिए, 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 |
पहला यूआरएल: example.com/abc दूसरा यूआरएल: 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
टाइप करें. सिर्फ़ एक नतीजे पर क्लिक करें. - पुष्टि करें कि कोटा के सभी स्टेटस तय सीमा के अंदर हों या उन पर हरे रंग का सही का निशान लगा हो.
- सीपीयू ढूंढें और उस पर क्लिक करें. पुष्टि करें कि मौजूदा इस्तेमाल और डिप्लॉय किए जा रहे इंस्टेंस की संख्या, डिप्लॉयमेंट के इलाके की तय सीमा से कम हो.