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

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

  • कंटेनर के लिए प्रीव्यू की सुविधा चालू करने के लिए, एक प्रीव्यू सर्वर सेट अप करें.
  • लाइव ट्रैफ़िक को मैनेज करने के लिए, टैग करने वाला सर्वर सेट अप करें.
  • अपने Google Tag Manager कंटेनर को चलाने वाले सर्वर की संख्या बढ़ाएं या घटाएं.
  • सर्वर सेट अप करने के बाद, टैग करने वाले सर्वर के वर्शन को अपडेट रखें.

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

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

झलक देखने और टैग करने वाले सर्वर को मैनेज करें

Cloud Run सेवा का प्रावधान किया जा सकता है. ऐसा करने के लिए, Google Tag Manager में अपने-आप या मैन्युअल तरीके से Google Cloud में जाएं.

सेवा कॉन्फ़िगरेशन में बदलाव करें

सेवा का कॉन्फ़िगरेशन बदलने के लिए:

  1. Cloud Run खोलें.
  2. वह सेवा चुनें जिसमें आपको बदलाव करना है.
  3. बदलाव करें और नया बदलाव लागू करें पर क्लिक करें.
  4. बदलाव करें और डिप्लॉय करें पर क्लिक करें.

Cloud Run लागत

इस Cloud Run कॉन्फ़िगरेशन में, हर सर्वर की कीमत करीब 45 डॉलर /महीना (डॉलर) है. हर सर्वर एक Cloud Run इंस्टेंस है, जिसमें एक vCPU और 0.5 जीबी मेमोरी होती है, जिसमें सीपीयू के लिए हमेशा तय किए गए कीमत वाले मॉडल का इस्तेमाल किया जाता है.

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

Cloud Run, लोड होने के साथ डाइनैमिक तौर पर स्केल करेगा. संसाधनों के लिए कितने पैसे देने होंगे, इस मामले में max-instances सेटिंग सबसे खराब स्थिति है. Cloud Run ज़रूरत न होने पर, ऐसे कई इंस्टेंस का प्रावधान नहीं करेगा.

Cloud Run कैलकुलेटर

ज़रूरी नहीं: App Engine से माइग्रेट करना

अगर आपने पहले App Engine डिप्लॉयमेंट को बनाया था और पुष्टि की है कि अब इसे कोई ट्रैफ़िक नहीं मिल रहा है, तो अनचाहे बिलिंग शुल्कों को रोकने के लिए App Engine ऐप्लिकेशन को बंद करें.

ज़रूरी नहीं: कई इलाकों में डिप्लॉयमेंट

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

इस सुविधा का इस्तेमाल करने से पहले ज़रूरी बातें:

  1. लोड बैलेंसर बनाना
  2. चुने गए BACKEND_NAME को नोट करें.

अपने डिप्लॉयमेंट में ज़्यादा क्षेत्र जोड़ने के लिए:

  1. REGION को उस क्षेत्र से बदलें जहां झलक सर्वर डिप्लॉय किया गया है. अगर आपने झलक और टैग करने वाले सर्वर का प्रावधान करने के लिए कमांड लाइन के विकल्पों का पालन किया है, तो यह पहले से ही भरा हो सकता है.
  2. CONTAINER_CONFIG को Tag Manager के कंटेनर कॉन्फ़िगरेशन स्ट्रिंग से बदलें. अगर आपने झलक और टैग करने वाले सर्वर का प्रावधान करने के लिए कमांड लाइन के विकल्पों का पालन किया है, तो यह पहले से ही भरा हुआ हो सकता है.
  3. NEW_REGION को उस नए इलाके से बदलें जहां आपको टैग करने वाले सर्वर को डिप्लॉय करना है.
  4. लोड बैलेंसर को सेट अप करते समय, BACKEND_NAME को अपने चुने गए नाम से बदलें.
  5. ज़रूरी नहीं: कोई दूसरा क्षेत्र जोड़ने के लिए, NEW_REGION वैरिएबल को बदलें और कोड स्निपेट को फिर से चलाएं.
    gcloud run deploy "server-side-tagging" \
    --region NEW_REGION \
    --image gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable \
    --platform managed \
    --ingress all \
    --min-instances 2 \
    --max-instances 10 \
    --timeout 60 \
    --allow-unauthenticated \
    --no-cpu-throttling \
    --update-env-vars PREVIEW_SERVER_URL="$(
      gcloud run services describe server-side-tagging-preview \--region "REGION" \
      --format="value(status.url)")",CONTAINER_CONFIG="CONTAINER_CONFIG" && \

    gcloud compute network-endpoint-groups create server-side-tagging-neg \
    --region=NEW_REGION \
    --network-endpoint-type=SERVERLESS \
    --cloud-run-service="server-side-tagging" && \

    gcloud compute backend-services add-backend --global "BACKEND_NAME" \
    --network-endpoint-group-region=NEW_REGION \
    --network-endpoint-group=server-side-tagging-neg

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

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

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

लॉग इन करने का अनुरोध बंद करने के लिए:

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

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

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

  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. पुष्टि करें कि लॉग एक्सप्लोरर में कोई भी नया कंसोल लॉग मैसेज नहीं दिख रहा है.

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

कस्टम डोमेन सेट अप करने के लिए, ग्लोबल एक्सटर्नल ऐप्लिकेशन लोड बैलेंसर का इस्तेमाल करें.

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

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

  1. Google Tag Manager खोलें.

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

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

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

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

4. पुष्टि

आपने टैग करने वाला सर्वर सेट अप कर लिया है. इसलिए, अब पक्का करें कि यह सही तरीके से काम कर रहा हो. 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. Cloud Run खोलें.
  2. वह सेवा चुनें जिसे आपको अपडेट करना है.
  3. बदलाव करें और नया बदलाव लागू करें पर क्लिक करें.
  4. पक्का करें कि कंटेनर इमेज यूआरएल gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable पर सेट है और डिप्लॉय करें पर क्लिक करें.

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

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

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