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

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

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

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

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

प्रीव्यू और टैगिंग सर्वर को मैनेज करना

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

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

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

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

Cloud Run की लागत

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

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

Cloud Run, लोड के हिसाब से डाइनैमिक तरीके से स्केल करेगा. max-instances सेटिंग से यह पता चलता है कि संसाधनों के लिए आपको ज़्यादा से ज़्यादा कितना पेमेंट करना पड़ सकता है. Cloud Run, ज़रूरत पड़ने पर ही उतने इंस्टेंस उपलब्ध कराएगा.

Cloud Run की लागत का अनुमान

टैगिंग सर्वर चलाने की हर महीने की लागत का अनुमान लगाने के लिए, Google Cloud Pricing Calculator का इस्तेमाल करें. कैलकुलेटर खुलता है. इसमें डिफ़ॉल्ट सर्वर-साइड टैगिंग डिप्लॉयमेंट के लिए, पहले से कॉन्फ़िगर किया गया अनुमान दिखता है. अपने अनुमानित ट्रैफ़िक के आधार पर ज़्यादा सटीक अनुमान पाने के लिए, सेटिंग में बदलाव किया जा सकता है.

ज़रूरी नहीं: 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 Platform में, लॉग राउटर खोलें. पक्का करें कि आप उस प्रोजेक्ट में हों जो आपके कंटेनर आईडी से मेल खाता हो:
    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 में, Logs Explorer खोलें.
  2. अपने टैग से जनरेट होने वाले किसी भी अनचाहे लॉग मैसेज को ढूंढें. उदाहरण के लिए:

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

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

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

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

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

    NOT textPayload:"Custom message:"
    

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

  5. बदलावों को लागू करने के लिए, सिंक अपडेट करें पर क्लिक करें. मैच होने वाले logToConsole मैसेज को लॉगिंग से बाहर रखा जाना चाहिए.

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

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

Cloud Run की ओर से दिए गए डिफ़ॉल्ट पते के अलावा किसी अन्य डोमेन का इस्तेमाल करने के लिए, कस्टम डोमेन सेट अप करें.

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

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

  1. Google Tag Manager खोलें.

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

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

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

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

4. पुष्टि

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

एक से ज़्यादा यूआरएल की झलक देखना

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

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

Works काम नहीं करता
यूआरएल 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. खास जानकारी में, Console टैब चुनें. साथ ही, यह पक्का करें कि टैगिंग सर्वर को अपडेट करने के लिए कोई मैसेज न हो.

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