सर्वर साइड टैगिंग के बारे में जानकारी

सर्वर-साइड टैगिंग, Google Tag Manager का इस्तेमाल करके, अलग-अलग डिवाइसों पर अपने ऐप्लिकेशन को इंस्ट्रुमेंट करने का नया तरीका है. सर्वर कंटेनर में, उसी टैग, ट्रिगर, और वैरिएबल मॉडल का इस्तेमाल किया जाता है जिसका इस्तेमाल पहले किया जाता था. साथ ही, इसमें नए टूल भी उपलब्ध होते हैं. इनकी मदद से, उपयोगकर्ता की गतिविधि को कहीं भी मेज़र किया जा सकता है.

सर्वर-साइड टैगिंग के बिना, टैगिंग के सामान्य कॉन्फ़िगरेशन में पेज पर मौजूद कंटेनर का इस्तेमाल किया जाता है. यह कंटेनर, मेज़रमेंट डेटा को अलग-अलग कलेक्शन सर्वर पर भेजता है. पहली इमेज में, Tag Manager के वेब कंटेनर का उदाहरण दिखाया गया है. इसमें बताया गया है कि वेब ब्राउज़र में चल रहा यह कंटेनर, कई सर्वर को डेटा कैसे भेजता है.

Google Tag Manager वेब कंटेनर का इस्तेमाल करने के लिए इंस्ट्रुमेंट की गई साइट का डायग्राम

पहली इमेज: Google Tag Manager के वेब कंटेनर का इस्तेमाल करने के लिए, इंस्ट्रुमेंट की गई साइट का डायग्राम.

इसके उलट, सर्वर कंटेनर, उपयोगकर्ता के ब्राउज़र या फ़ोन पर नहीं चलता. इसके बजाय, यह उस सर्वर पर चलता है जिसे कंट्रोल करने का अधिकार आपके पास होता है.

सर्वर साइड टैगिंग कंटेनर का इस्तेमाल करके इंस्ट्रुमेंट की गई साइट का डायग्राम.

दूसरी इमेज: टैगिंग कॉन्फ़िगरेशन का उदाहरण, जिसमें सर्वर कंटेनर का इस्तेमाल किया जाता है.

यह सर्वर, आपके Google Cloud Platform प्रोजेक्ट में चलता है. इसके अलावा, इसे आपकी पसंद के किसी दूसरे एनवायरमेंट में भी चलाया जा सकता है. जब तक आप डेटा को किसी दूसरी जगह नहीं भेजते, तब तक सिर्फ़ आपके पास सर्वर में मौजूद डेटा का ऐक्सेस होता है. आपके पास यह तय करने का पूरा कंट्रोल होता है कि डेटा को कैसे प्रोसेस किया जाए और सर्वर से कहां भेजा जाए. टैग, सैंडबॉक्स की गई JavaScript टेक्नोलॉजी का इस्तेमाल करके बनाए जाते हैं. अनुमतियों से यह पता चलता है कि टैग क्या-क्या कर सकता है. साथ ही, नीतियों की मदद से कंटेनर के लिए सीमाएं तय की जा सकती हैं.

सर्वर को उपयोगकर्ता के डिवाइस से वेब अनुरोध मिलते हैं. इसके बाद, सर्वर इन अनुरोधों को इवेंट में बदल देता है. हर इवेंट को कंटेनर के टैग, ट्रिगर, और वैरिएबल प्रोसेस करते हैं. सर्वर कंटेनर में टैग, ट्रिगर, और वैरिएबल ठीक उसी तरह काम करते हैं जैसे वे अन्य तरह के कंटेनर में काम करते हैं: ट्रिगर, कुछ शर्तों को पूरा करने वाले इवेंट की जांच करते हैं. जब कोई इवेंट उन शर्तों को पूरा करता है, तब वे ऐसे टैग को फ़ायर करते हैं जो इवेंट डेटा को प्रोसेस करने के लिए भेजते हैं.

इस मॉडल में, सर्वर कंटेनर के लिए दो अहम सवाल शामिल किए गए हैं:

  • मेज़रमेंट डेटा, उपयोगकर्ता के डिवाइस से सर्वर कंटेनर तक कैसे पहुंचता है?
  • सर्वर कंटेनर को भेजे गए मेज़रमेंट डेटा को इवेंट में कैसे बदला जाता है?

दोनों सवालों का जवाब, सर्वर कंटेनर में इस्तेमाल की जाने वाली एक नई तरह की इकाई है: क्लाइंट.

क्लाइंट के काम करने का तरीका

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

यह तो बहुत सारा सामान है! आइए, हर हिस्से के बारे में अलग-अलग जानकारी पाएं. तीसरी इमेज में दिखाया गया है कि उपयोगकर्ता के वेब ब्राउज़र से सर्वर कंटेनर में और आपके वेब सर्वर से सर्वर कंटेनर में डेटा कैसे जाता है.

सर्वर साइड टैगिंग कंटेनर का इस्तेमाल करके इंस्ट्रुमेंट की गई साइट का डायग्राम.

तीसरी इमेज: डेटा की हर स्ट्रीम को अलग-अलग क्लाइंट मैनेज करते हैं.

क्लाइंट को किसी डिवाइस से मेज़रमेंट डेटा मिलता है. मान लें कि आपको तीन जगहों पर उपयोगकर्ता की गतिविधि मेज़र करनी है: एक वेबसाइट, एक फ़ोन ऐप्लिकेशन, और एक स्मार्ट टोस्टर. आपकी वेबसाइट Google Analytics का इस्तेमाल करती है, आपका फ़ोन ऐप्लिकेशन Firebase Analytics का इस्तेमाल करता है, और आपका टोस्टर "ToastMeasure" नाम के मालिकाना हक वाले प्रोटोकॉल का इस्तेमाल करता है.

इन तीनों डिवाइसों को Google Tag Manager के साथ इंटिग्रेट करने के लिए, आम तौर पर हर प्लैटफ़ॉर्म के लिए अलग कंटेनर की ज़रूरत होती है. सर्वर कंटेनर, डिवाइस पर नहीं चलता. इसलिए, एक ही कंटेनर, तीनों डिवाइस प्लैटफ़ॉर्म के लिए Analytics इंस्ट्रूमेंटेशन को मैनेज कर सकता है. हालांकि, एक समस्या है. इन सभी डिवाइसों के बीच एक ही तरीके से कम्यूनिकेट नहीं किया जा सकता. Google Analytics प्रोटोकॉल, ToastMeasure प्रोटोकॉल से अलग होता है. यहां क्लाइंट की भूमिका अहम हो जाती है.

उन तीन कंटेनर की जगह, आपके सर्वर कंटेनर में तीन क्लाइंट हैं. कंटेनर में आने वाले हर अनुरोध को प्राथमिकता के क्रम में हर क्लाइंट प्रोसेस करेगा. सबसे ज़्यादा प्राथमिकता वाले क्लाइंट को पहले प्रोसेस किया जाएगा. हर क्लाइंट सबसे पहले यह तय करेगा कि उसे इस तरह के अनुरोध को प्रोसेस करने का तरीका पता है या नहीं. अगर ऐसा हो सकता है, तो क्लाइंट अनुरोध "क्लेम" करता है और प्रोसेसिंग के अगले चरण पर जाता है. अनुरोध का दावा करने से, बाद के क्लाइंट को अनुरोध चलाने से रोका जाता है. अगर क्लाइंट अनुरोध को प्रोसेस नहीं कर सकता, तो वह कुछ नहीं करता और अन्य क्लाइंट को यह तय करने की अनुमति देता है कि अनुरोध को हैंडल करना है या नहीं.

क्लाइंट, अनुरोध किए गए डेटा को एक या उससे ज़्यादा इवेंट में बदलते हैं. जब ToastMeasure क्लाइंट किसी अनुरोध का दावा कर लेता है, तो उसे अनुरोध को ऐसी चीज़ में बदलना होता है जिसे कंटेनर का बाकी हिस्सा समझ सके. वह कुछ, इवेंट का एक सेट है.

इवेंट, वे कार्रवाइयां होती हैं जिन्हें आपको मेज़र करना होता है. ये कुछ भी हो सकते हैं: start_toasting, finish_toasting या buy_bread. क्लाइंट के जनरेट किए गए इवेंट के स्ट्रक्चर के बारे में कुछ सुझाव दिए गए हैं. हालांकि, सिर्फ़ यह ज़रूरी है कि कंटेनर के बाकी हिस्से उन्हें समझ सकें.

क्लाइंट, कंटेनर को चलाते हैं. क्लाइंट ने अनुरोध का दावा किया है और उसे इवेंट में बदल दिया है. अब टैग, ट्रिगर, और वैरिएबल का इस्तेमाल करने का समय है. क्लाइंट, हर इवेंट को कंटेनर के बाकी हिस्से में भेजता है, ताकि आगे की प्रोसेस की जा सके.

क्लाइंट, नतीजों को पैकेज करके डिवाइस पर वापस भेजते हैं. कंटेनर के चलने के बाद, अब टोस्टर को जवाब देने का समय है. जवाब कई तरह के हो सकते हैं. ऐसा हो सकता है कि क्लाइंट सिर्फ़ "ठीक है, हो गया." कहे. ऐसा हो सकता है कि कोई टैग, अनुरोध को किसी दूसरे कलेक्शन सर्वर पर रीडायरेक्ट करना चाहता हो. ऐसा हो सकता है कि किसी टैग से, टोस्टर की लाइटों को रंग बदलने का निर्देश मिला हो. जो भी होना है, क्लाइंट का काम है कि वह नतीजों को पैकेज करे और उन्हें अनुरोध करने वाले व्यक्ति को वापस भेजे.

अच्छी बात यह है कि Tag Manager, आपके लिए इनमें से ज़्यादातर काम अपने-आप कर देता है. सर्वर कंटेनर में दो क्लाइंट शामिल होते हैं: Google Analytics और मेज़रमेंट प्रोटोकॉल. ये क्लाइंट, आपको ऐसे टूल उपलब्ध कराते हैं जिनकी मदद से, कंटेनर बनाने के बाद तुरंत अपने ऐप्लिकेशन को इंस्ट्रुमेंट किया जा सकता है.

एक छोटा उदाहरण

आइए, एक उदाहरण से समझते हैं कि ये सभी चीज़ें एक साथ कैसे काम करती हैं. इस उदाहरण में, आपको ये चीज़ें बनानी होंगी:

  1. एक सामान्य वेबसाइट, जो सर्वर कंटेनर को click इवेंट भेजने के लिए gtag.js का इस्तेमाल करती है.
  2. Google Analytics क्लाइंट, जिसे इवेंट मिलता है.
  3. यह एक ऐसा ट्रिगर है जो click इवेंट पर फ़ायर होता है.
  4. Google Analytics टैग, जो इवेंट डेटा को प्रोसेस करने के लिए Google Analytics को भेजता है.

इस उदाहरण के लिए, हम मान लेंगे कि आपने पहले ही अपना सर्वर कंटेनर बना लिया है और उसे डप्लॉय कर दिया है.

gtag.js को कॉन्फ़िगर करना

सबसे पहले, gtag.js को कॉन्फ़िगर करें, ताकि वह आपके सर्वर कंटेनर को डेटा भेज सके. gtag.js की मदद से, सर्वर कंटेनर को डेटा भेजने का तरीका, Google Analytics को डेटा भेजने के तरीके जैसा ही होता है. हालांकि, इसमें एक बदलाव किया जाता है. यहां दिए गए उदाहरण पेज की तरह, server_container_url कॉन्फ़िगरेशन विकल्प को सर्वर कंटेनर पर सेट करें.

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAG_ID', {
    server_container_url: 'https://analytics.example.com',
  });
</script>

TAG_ID की जगह अपना टैग आईडी डालें. https://analytics.example.com की जगह अपने सर्वर कंटेनर का यूआरएल डालें.

इसके बाद, click इवेंट को हैंडल करने के लिए, sendEvent() फ़ंक्शन जोड़ें:

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAG_ID', {
    server_container_url: 'https://analytics.example.com',
  });

  function sendEvent() {
    gtag('event', 'click');
  }
</script>

<button onclick="javascript:sendEvent()">Send Event</button>

TAG_ID की जगह अपना टैग आईडी डालें. https://analytics.example.com की जगह अपने सर्वर कंटेनर का यूआरएल डालें.

इस कॉन्फ़िगरेशन की मदद से, इवेंट हैंडलर आपके सर्वर कंटेनर को sendEvent() इवेंट भेजेंगे. इस उदाहरण में, sendEvent() फ़ंक्शन को शामिल किया गया है.click

Google Analytics क्लाइंट

जब इवेंट सर्वर पर पहुंच जाता है, तो उसे पाने के लिए आपके कंटेनर को क्लाइंट की ज़रूरत होती है. अच्छी बात यह है कि सर्वर कंटेनर में Google Analytics क्लाइंट पहले से इंस्टॉल होता है. इसलिए, आपको यह चरण पूरा करने की ज़रूरत नहीं है.

क्लिक ट्रिगर

इसके बाद, एक ऐसा ट्रिगर बनाएं जो click इवेंट पर ट्रिगर हो. एक कस्टम ट्रिगर बनाएं, जो तब ट्रिगर होता है, जब इवेंट का नाम पहले से बने हुए वैरिएबल की वैल्यू "click" के बराबर होती है.

ट्रिगर कॉन्फ़िगरेशन

Google Analytics टैग

आखिर में, Google Analytics टैग को ट्रिगर से अटैच करें. क्लाइंट की तरह ही, सर्वर कंटेनर में Google Analytics टैग शामिल होता है. टैग बनाएं और अपनी सेटिंग कॉन्फ़िगर करें. अब आपका कंटेनर वायर अप हो गया है. Google Analytics क्लाइंट और Google Analytics टैग को एक साथ काम करने के लिए डिज़ाइन किया गया है. इसका मतलब है कि आपको सिर्फ़ एक Google Analytics टैग बनाना है. इसका कॉन्फ़िगरेशन, क्लाइंट से मिलने वाले इवेंट से अपने-आप पुल हो जाएगा.

कंटेनर की झलक देखना

कंटेनर कॉन्फ़िगर हो जाने के बाद, झलक देखें पर क्लिक करें. अपनी वेबसाइट को किसी दूसरी ब्राउज़र विंडो में खोलें. आपके सर्वर कंटेनर को अनुरोध और इवेंट भेजे जाने पर, आपको अनुरोध और इवेंट, झलक पेज की बाईं ओर दिखेंगे.

बदलावों से संतुष्ट होने के बाद, सर्वर कंटेनर को पब्लिश करें.

पहले पक्ष की मदद से विज्ञापन दिखाने के लिए, अपने सर्वर को प्रोडक्शन मोड में कॉन्फ़िगर करना

हमारा सुझाव है कि सर्वर कंटेनर को प्रोडक्शन ट्रैफ़िक भेजने से पहले, सर्वर को अपने पहले पक्ष (ग्राहक) के डोमेन पर इंस्टॉल करें. साथ ही, सर्वर को प्रोडक्शन मोड में अपग्रेड करें.