App Engine की मदद से सर्वर साइड टैगिंग सेट अप करना

इस गाइड में, इन कामों को करने का तरीका बताया गया है:

  • Google Cloud Platform (GCP) के App Engine पर, टैग करने वाले सर्वर को सेट अप करें.
  • लाइव ट्रैफ़िक को मैनेज करने के लिए, टैग करने वाले सर्वर को अपग्रेड करें.
  • अपने Google Tag Manager कंटेनर को चलाने वाले सर्वर की संख्या बढ़ाएं या घटाएं.
  • सर्वर सेट अप करने के बाद, टैग करने वाले सर्वर के वर्शन को अपडेट रखें.

ज़रूरी शर्तें

  1. आपके पास GCP खाता होना चाहिए. अगर आपके पास Google खाता नहीं है, तो नया GCP खाता बनाएं.
  2. आपके पास GCP बिलिंग खाता होना चाहिए. अगर आपके पास Google खाता नहीं है, तो GCP बिलिंग खाता बनाएं (आपके पास बिलिंग खाता क्रिएटर की भूमिका होनी चाहिए).
  3. आपके पास प्रोजेक्ट क्रिएटर और बिलिंग खाते के उपयोगकर्ता की भूमिका होनी चाहिए. भूमिकाएं जोड़ने के बारे में ज़्यादा जानें.

1. सर्वर सेट अप करें

किसी App Engine इंस्टेंस पर टैग करने वाला नया सर्वर बनाने के लिए, आपको:

  • Tag Manager में नया सर्वर कंटेनर बनाना
  • नया Google Cloud प्रोजेक्ट (GCP) बनाना
  • ऐप्लिकेशन इंजन टैग करने वाले नए सर्वर का प्रावधान करना
  • Tag Manager के सर्वर कंटेनर में, टैग करने वाले नए सर्वर का यूआरएल जोड़ें

Google Tag Manager सर्वर कंटेनर बनाना

  1. Google Tag Manager खोलें.

  2. खाता लाइन में, ओवरफ़्लो मेन्यू > कंटेनर बनाएं पर क्लिक करें.

  3. एक नया सर्वर कंटेनर बनाएं.

  4. "मैन्युअल रूप से टैग करने वाले सर्वर का प्रावधान करें" रेडियो बटन पर क्लिक करें. कंटेनर कॉन्फ़िगरेशन पर ध्यान दें. आपको अपने सर्वर का प्रावधान करने के लिए इसकी ज़रूरत होगी.

नया GCP प्रोजेक्ट बनाएं

टैग करने वाले सर्वर के लिए नया GCP प्रोजेक्ट बनाने के लिए:

  1. Google Cloud Console खोलें.

  2. नया GCP प्रोजेक्ट बनाएं.

  3. अपने प्रोजेक्ट को नाम दें. सुविधा के लिए, हमारा सुझाव है कि आप कंटेनर आईडी का इस्तेमाल करें. यह नाम सिर्फ़ GCP में इस्तेमाल किया जाता है.

  4. GCP प्रोजेक्ट आईडी को नोट करें, क्योंकि टैग करने वाला सर्वर बनाने के लिए आपको इसकी ज़रूरत होगी.

टैग करने वाला नया सर्वर सेट अप करें

टैग करने वाला सर्वर बनाने के लिए:

  1. Cloud Shell खोलें.

  2. Cloud Shell में GCP प्रोजेक्ट सेट करें. project ID की जगह वह GCP प्रोजेक्ट आईडी डालें जिसका इस्तेमाल आपने पहले किया था:

    gcloud config set project project ID
    
  3. शेल स्क्रिप्ट का पालन करके, टैग करने वाला अपना सर्वर बनाएं. डिप्लॉयमेंट टाइप को testing पर सेट करें.

    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    

Tag Manager में, टैग करने वाले सर्वर का यूआरएल जोड़ें

  1. Google Tag Manager खोलें.

  2. एडमिन > कंटेनर सेटिंग में, यूआरएल जोड़ें पर क्लिक करें. अगर आपको अपने सर्वर का यूआरएल नहीं पता है, तो Cloud Shell में यह कमांड दें:

    gcloud app browse
    

    नतीजा: आपने एक टैग करने वाला सर्वर सेट अप किया है और उसे testing कॉन्फ़िगरेशन के साथ प्रावधान किया है. अब सर्वर साइड टैगिंग की जांच की जा सकती है.

शुरुआती सर्वर कॉन्फ़िगरेशन (testing)

कम मात्रा में टेस्ट ट्रैफ़िक भेजकर और Tag Manager में 'झलक देखें' सुविधा का इस्तेमाल करके, प्रॉडक्ट को एक्सप्लोर करने के लिए टेस्टिंग कॉन्फ़िगरेशन सही है. यह कॉन्फ़िगरेशन स्टैंडर्ड एनवायरमेंट में App Engine F1 इंस्टेंस क्लास के तौर पर है. ज़्यादातर मामलों में, आपसे कोई शुल्क नहीं लिया जाएगा.

2. प्रोडक्शन में App Engine का इस्तेमाल करना

production के कॉन्फ़िगरेशन में, हर सर्वर की कीमत करीब 40 डॉलर / महीना (डॉलर) है. हर सर्वर एक App Engine इंस्टेंस है, जिसमें 1 vCPU, 0.5 जीबी मेमोरी, 10 जीबी डिस्क होती है जो फ़्लेक्सिबल एनवायरमेंट में होती है.

App Engine बिलिंग को समझने और बिलिंग सूचनाओं को कॉन्फ़िगर करने का तरीका जानने के लिए, App Engine की लागत को मैनेज करना देखें. हमारा सुझाव है कि आप बिलिंग के बारे में सूचना, सेट अप करें.

हमारा सुझाव है कि आप कम से कम तीन सर्वर चलाएं. इससे, सर्वर के बंद होने की स्थिति में डेटा के खोने का जोखिम कम हो जाता है. हालांकि, आपके पास कम या ज़्यादा सर्वर चलाने का विकल्प है. हमें उम्मीद है कि ऑटो स्केलिंग 3-6 सर्वर (डिफ़ॉल्ट) हर सेकंड में 50 से 200 अनुरोधों को हैंडल करेगा. परफ़ॉर्मेंस, टैग की संख्या और उन टैग के काम पर निर्भर करती है.

टैग करने वाले सर्वर को कॉन्फ़िगर करने के लिए:

  1. Google Cloud Platform Cloud Shell खोलें.
  2. Cloud Shell में Cloud Platform प्रोजेक्ट सेट करें. project ID को उस GCP प्रोजेक्ट आईडी से बदलें जिसे आपने पहले नोट किया था:
    gcloud config set project project ID
  3. प्रोडक्शन एनवायरमेंट के लिए टैग करने वाले सर्वर को फिर से कॉन्फ़िगर करने के लिए, नीचे दी गई सेटअप स्क्रिप्ट चलाएं. ये टास्क करें:
    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    1. डिप्लॉयमेंट टाइप को production में बदलें.
    2. प्रोडक्शन ट्रैफ़िक देने के लिए, अतिरिक्त सर्वर सेट अप करें. हम कम से कम तीन सर्वर इस्तेमाल करने का सुझाव देते हैं.

ज़रूरी नहीं: लॉगिन करने की सुविधा बंद करें

लॉग इन करने का अनुरोध करें

App Engine, डिफ़ॉल्ट रूप से मिलने वाले हर अनुरोध की जानकारी लॉग करता है. जैसे, अनुरोध का पाथ, क्वेरी पैरामीटर वगैरह. अगर आपका टैग करने वाला सर्वर हर महीने बहुत सारे अनुरोध हैंडल करता है (उदाहरण के लिए, 10 लाख से ज़्यादा), तो उन लॉग मैसेज पर बहुत ज़्यादा लॉगिंग शुल्क लग सकते हैं. डेटा को लॉग करने में लगने वाले शुल्क को कम करने या हटाने के लिए, हमारा सुझाव है कि आप App Engine के अनुरोध को लॉग करने की प्रोसेस को बंद कर दें.

App Engine के अनुरोध को लॉग करने की सुविधा बंद करने के लिए:

  1. Google Cloud प्लैटफ़ॉर्म में, लॉग राऊटर खोलें. पक्का करें कि आप उस प्रोजेक्ट में हैं जो आपके कंटेनर आईडी से मेल खाता है:
    GCP प्रोजेक्ट सिलेक्टर का स्क्रीनशॉट, जिसमें Tag Manager कंटेनर का सैंपल दिखाया गया है.
  2. टाइप: Cloud Logging बकेट, नाम: _Default लाइन, ओवरफ़्लो मेन्यू चुनें. इसके बाद, सिंक में बदलाव करें पर क्लिक करें.
  3. सिंक डेस्टिनेशन में जाकर, लॉग बकेट _Default चुनें.
  4. सिंक में शामिल करने के लिए लॉग चुनें में, एक नई लाइन जोड़ें. शामिल किए जाने वाले मौजूदा फ़िल्टर में, नीचे दिया गया नियम डालें:

    NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT
    LOG_ID("appengine.googleapis.com/request_log")
    
  5. साथ ही लोड बैलेंसर से लॉगिन बंद करने के लिए, एक नई लाइन जोड़ें और मौजूदा फ़िल्टर में यह नियम डालें:

    NOT LOG_ID("requests")
    
  6. बदलावों को लागू करने के लिए, सिंक अपडेट करें. अब App Engine के अनुरोधों को लॉगिंग से बाहर रखा जाएगा.

  7. पुष्टि करें कि लॉग एक्सप्लोरर लॉग में कोई नया अनुरोध नहीं दिख रहा है.

कंसोल में लॉग इन करना

टैग करने वाले सर्वर, क्लाइंट या कंटेनर में मौजूद टैग, कंसोल में मैसेज लॉग कर सकते हैं. इन मैसेज पर लॉगिंग शुल्क लग सकता है. लॉगिंग शुल्क को कम करने या खत्म करने के लिए, अनचाहे कंसोल लॉग मैसेज को बंद करें.

अनचाहे कंसोल लॉग की पहचान करना:

  1. GCP में, लॉग एक्सप्लोरर खोलें.
  2. आपके टैग से आने वाले अनचाहे लॉग मैसेज ढूंढें. उदाहरण के लिए:

    टैग ये लॉग भेज सकता है:

    const logToConsole = require('logToConsole');
    
    logToConsole('Custom message: ' + data.param1);
    logToConsole('An important message to keep around!');
    data.gtmOnSuccess()
    

    textPayload फ़ील्ड में इससे जुड़े लॉग मैसेज देखें:
    GCP लॉग एक्सप्लोरर का स्क्रीनशॉट, जो सैंपल लॉग दिखा रहा है.

कंसोल लॉग मैसेज बंद करने के लिए:

  1. Google Cloud प्लैटफ़ॉर्म में, लॉग राऊटर खोलें. पक्का करें कि आप उस प्रोजेक्ट में हैं जो आपके कंटेनर आईडी से मेल खाता है:
    GCP प्रोजेक्ट सिलेक्टर का स्क्रीनशॉट, जिसमें Tag Manager कंटेनर का सैंपल दिखाया गया है.
  2. टाइप: Cloud Logging बकेट, नाम: _Default लाइन, ओवरफ़्लो मेन्यू चुनें. इसके बाद, सिंक में बदलाव करें पर क्लिक करें.
  3. सिंक डेस्टिनेशन में जाकर, लॉग बकेट _Default चुनें.
  4. सिंक में शामिल करने के लिए लॉग चुनें में, एक नई लाइन जोड़ें. शामिल किए जाने वाले मौजूदा फ़िल्टर में, नीचे दिया गया नियम डालें:

    NOT textPayload:"Custom message:"
    

    अपने कंसोल लॉग के लिए, Custom message: टेक्स्ट को कंसोल लॉग की उस सबस्ट्रिंग से बदलें जिसे आपको बंद करना है. ज़्यादा बड़े फ़िल्टर के लिए, लॉगिंग क्वेरी भाषा का इस्तेमाल करें.

  5. बदलावों को लागू करने के लिए, सिंक अपडेट करें. मिलता-जुलता logToConsole मैसेज, लॉग में शामिल नहीं किया जाना चाहिए.

  6. पुष्टि करें कि लॉग एक्सप्लोरर में कोई भी नया कंसोल लॉग मैसेज नहीं दिख रहा है.

3. डिप्लॉयमेंट को अपने कस्टम डोमेन पर मैप करें

डिफ़ॉल्ट सर्वर साइड टैगिंग डिप्लॉयमेंट को App Engine डोमेन पर होस्ट किया जाता है. हमारा सुझाव है कि आप अपनी वेबसाइट का सबडोमेन इस्तेमाल करने के लिए डिप्लॉयमेंट में बदलाव करें.

अपनी वेबसाइट के सबडोमेन को टैग करने वाले सर्वर से मैप करें.

4. Google Tag Manager में सर्वर का यूआरएल जोड़ना

अब जब आपके पास सर्वर है, तो आपको यह पक्का करना होगा कि Google Tag Manager को पता हो कि उसे आपके सर्वर का इस्तेमाल करना चाहिए.

  1. Google Tag Manager खोलें.

  2. उस सर्वर कंटेनर पर क्लिक करें जिसे आपको टैग करने वाले सर्वर पर ले जाना है.

  3. एडमिन टैब > कंटेनर सेटिंग में अपने सर्वर कंटेनर की सेटिंग खोलें.

  4. यूआरएल जोड़ें पर क्लिक करें और अपने सर्वर का यूआरएल चिपकाएं.

  5. सेव करें और अपने फ़ाइल फ़ोल्डर पर वापस जाएं.

5. पुष्टि

आपने टैग करने वाला सर्वर सेट अप कर लिया है. इसलिए, अब पक्का करें कि यह सही तरीके से काम कर रहा हो. Tag Manager के फ़ाइल फ़ोल्डर में, झलक देखें बटन पर क्लिक करें. अगर झलक वाला पेज लोड हो जाता है, तो सब कुछ सही तरीके से सेट अप हो गया है.

कई यूआरएल की झलक देखना

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

अगर आपने कई यूआरएल दिए हैं, तो सभी पाथ (डोमेन नेम के बाद की स्ट्रिंग) मैच होने चाहिए.

काम काम नहीं करता
यूआरएल 1: example.com/abc
यूआरएल 2: example2.com/abc
यूआरएल 1: example.com/abc
यूआरएल 2: example2.com/def

अगर कई यूआरएल जोड़े जाते हैं, तो आपको झलक देखें बटन के बगल में एक आइकॉन दिखेगा. इस आइकॉन की मदद से, वह यूआरएल चुना जा सकता है जिसकी झलक देखनी है.

टैग करने वाले सर्वर का वर्शन अपडेट करें

टैग करने वाले नए सर्वर के अपडेट में, सुरक्षा से जुड़े जोखिम की आशंका से जुड़े सुधारों के साथ-साथ नई सुविधाएं भी शामिल हैं. हमारा सुझाव है कि जब Tag Manager आपको अपडेट करने की सूचना दे, तब हम हर बड़े वर्शन रिलीज़ के लिए, टैग करने वाले सर्वर को कम से कम अपडेट करें, जैसे कि 1.x.x से 2.x.x वर्शन पर अपग्रेड करना.

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

टैग करने वाले सर्वर को अपडेट करने के लिए:

  1. Google Cloud Platform Cloud Shell खोलें.
  2. Cloud Shell में Cloud Platform प्रोजेक्ट सेट करें. project ID को उस GCP प्रोजेक्ट आईडी से बदलें जिसे आपने पहले नोट किया था:
    gcloud config set project project ID
  3. आपने जिन सेटिंग का इस्तेमाल पहले किया था उनका इस्तेमाल करके, सेटअप स्क्रिप्ट चलाएं. मौजूदा सेटिंग डिफ़ॉल्ट रूप से सेट होती हैं.
    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"

अपडेट की पुष्टि करने के लिए:

  1. अपने सर्वर कंटेनर में, नया डीबग सेशन शुरू करने के लिए, झलक देखें बटन पर क्लिक करें और किसी दूसरे टैब पर अनुरोध भेजें.
  2. खास जानकारी में, कंसोल टैब चुनें और पक्का करें कि टैग करने वाले सर्वर को अपडेट करने का अनुरोध करने वाला कोई मैसेज न हो.

Tag Manager ऐसे मैसेज दिखा सकता है जिसमें आपसे, सर्वर के अपडेट होने के एक दिन बाद तक, टैग करने वाले सर्वर को अपडेट करने के लिए कहा जाता है. हालांकि, झलक दिखाने वाले पेज पर टैग करने वाले सर्वर के वर्शन के बारे में अप-टू-डेट मैसेज दिखेगा.

प्रोडक्शन डिप्लॉयमेंट के टाइम आउट से जुड़ी समस्या हल करना

जब टैग करने वाले सर्वर को बनाने या फिर से कॉन्फ़िगर करने के लिए सेटअप स्क्रिप्ट चलाई जाती है, तो स्क्रिप्ट का समय खत्म हो सकता है. ऐसा कई वजहों से हो सकता है. दो सबसे सामान्य हैं:

  1. सेवा खातों को गलत अनुमतियां दी गई हैं - Compute Engine और App Engine सेवा खाते, प्रोडक्शन डिप्लॉयमेंट को डिप्लॉय करने और उनका रखरखाव करने के लिए ज़िम्मेदार होते हैं. डिफ़ॉल्ट रूप से, उन्हें उचित अनुमतियों के साथ पहले से कॉन्फ़िगर किया जाता है. हालांकि, कुछ मामलों में किसी संगठन की नीति गलत हो सकती है.

    1. Google Cloud Console में, बाईं ओर दिए गए नेविगेशन बार में, IAM और एडमिन पेज पर जाएं.
    2. Compute Engine सेवा खाता <project_number>-compute@developer.gserviceaccount.com और App Engine सेवा खाता <project_name>@appspot.gserviceaccount.com खोजें.
    3. दोनों सेवा खातों के पास Editor की भूमिका होनी चाहिए. अगर किसी भी खाते में Editor की भूमिका नहीं है, तो खाते की दाईं ओर मौजूद पेंसिल आइकॉन पर क्लिक करके, मौजूदा भूमिका के ड्रॉपडाउन पर क्लिक करके, ऊपर की ओर स्क्रोल करके, प्रोजेक्ट और फिर एडिटर पर क्लिक करें.
  2. ज़रूरत के मुताबिक कोटा - प्रोडक्शन डिप्लॉयमेंट में Compute Engine कोटे की ज़रूरत नहीं होती. अगर प्रोजेक्ट में ज़रूरत के मुताबिक कोटा नहीं है, तो संसाधनों का प्रावधान करने की कोशिश करते समय डिप्लॉयमेंट का समय खत्म हो सकता है.

    1. Google Cloud Console में बाईं ओर मौजूद नेविगेशन बार में, IAM और एडमिन पेज पर जाएं. इसके बाद, बाईं ओर दिए गए नेविगेशन बार में, कोटा टैब पर क्लिक करें.
    2. पेज के सबसे ऊपर, फ़िल्टर टेबल वाले टेक्स्ट बॉक्स पर क्लिक करें और Compute Engine API टाइप करें. सिर्फ़ एक नतीजे पर क्लिक करें.
    3. पुष्टि करें कि सभी कोटा स्टेटस सीमा के अंदर हैं या उन पर हरे रंग का सही का निशान लगा है.
    4. सीपीयू ढूंढें और उनमें क्लिक करें. इस बात की पुष्टि करें कि मौजूदा इस्तेमाल और लागू किए जा रहे इंस्टेंस की संख्या, अब भी डिप्लॉयमेंट क्षेत्र की सीमा से कम होगी.