ब्लॉग पर वापस जाएँ

ब्लॉग

आपके सर्वर कंटेनर तक पहुँचने वाला हर GA4 इवेंट, और हर एक कहाँ से आता है

प्रकाशित · अपडेट किया गया · पढ़ने में 6 मिनट

GA4 को सर्वर कंटेनर से होकर भेजने से यह नहीं बदलता कि कौन-से इवेंट मौजूद हैं। बदलता यह है कि आख़िरकार आप देख पाते हैं कि कौन-से पहुँचते हैं — कंटेनर पेज हर उस इवेंट नाम को गिनता है जिसे वह आगे भेजता है। यह सूची लोगों को दोनों तरह से हैरान करती है: ऐसे इवेंट दिखते हैं जिन्हें उन्होंने कभी कॉन्फ़िगर नहीं किया, और वे नहीं दिखते जिनकी उन्हें उम्मीद थी। एक बार यह पता चल जाए कि हर इवेंट कहाँ से आता है, तो दोनों की वजह सीधी-सादी है।

चार इवेंट जो Google टैग हर प्रॉपर्टी पर भेजता है

जिस पल Google टैग आपकी मेज़रमेंट ID के साथ लोड होता है, चार इवेंट बिना किसी सेटिंग के आने लगते हैं। Analytics में ऐसा कुछ नहीं है जो इन्हें बंद करे, और आपके कंटेनर को इन्हें माँगने की ज़रूरत नहीं।

  • page_view — हर पेज लोड पर एक, या सिंगल-पेज ऐप पर हर रूट बदलने पर एक, जब स्ट्रीम का "page changes" विकल्प चालू हो।
  • session_start — नए सेशन का पहला हिट। सेशन तीस मिनट तक कोई गतिविधि न होने पर ख़त्म हो जाता है, इसलिए दो घंटे बाद लौटने वाला विज़िटर नया सेशन शुरू करता है।
  • first_visit — हर ब्राउज़र पर एक बार, उस ब्राउज़र के उस पहले सेशन पर जो GA4 ने कभी देखा हो। कुकी साफ़ करने पर एक और बनता है।
  • user_engagement — तब भेजा जाता है जब पेज दस सेकंड तक सामने (फ़ोरग्राउंड में) रहा हो, या जब विज़िटर एंगेज होने के बाद पेज छोड़ दे। GA4 का एंगेजमेंट टाइम यहीं से आता है।

अगर आपको page_view के अलावा कुछ नहीं दिखता, तो भी टैग काम कर रहा है। यह कोई ख़राबी नहीं; यह बस ऐसी साइट है जिसे अभी तक किसी ने नीचे तक स्क्रॉल नहीं किया।

Enhanced Measurement से नौ इवेंट — और वह स्विच जो तय करता है कि आपको इनमें से कोई मिलेगा भी या नहीं

GA4 का Enhanced Measurement ब्राउज़र में नौ और इवेंट इकट्ठा करता है, और इनमें से किसी के लिए टैग नहीं चाहिए। ये डेटा स्ट्रीम पर कॉन्फ़िगर होते हैं, Tag Manager में नहीं, इसीलिए सर्वर कंटेनर इन्हें यह जाने बिना आगे भेजता है कि ये मौजूद हैं।

हर एक की एक शर्त है, जो उसके नाम से जितनी लगती है उससे ज़्यादा सख़्त है।

  • scroll — हर पेज पर एक बार, और सिर्फ़ तब जब पेज की 90% ऊँचाई दिख चुकी हो। किसी भी स्क्रॉल पर नहीं: नीचे तक पहुँचने पर। व्यूपोर्ट से छोटा पेज इसे कभी फ़ायर ही नहीं करता।
  • click — एक आउटबाउंड क्लिक, यानी मौजूदा डोमेन के अलावा किसी दूसरे डोमेन पर। अंदरूनी लिंक नहीं गिने जाते। इवेंट का नाम click है, एक outbound पैरामीटर के साथ; outbound_click नाम का कोई इवेंट नहीं है।
  • view_search_results — ऐसा पेज लोड जिसके URL में सर्च क्वेरी पैरामीटर हो (डिफ़ॉल्ट रूप से q, s, search, query या keyword)।
  • file_download — ऐसे लिंक पर क्लिक जो किसी डॉक्यूमेंट, आर्काइव, ऑडियो, वीडियो या स्प्रेडशीट एक्सटेंशन पर ख़त्म होता है।
  • form_start और form_submit — पेज पर किसी फ़ॉर्म से पहला इंटरैक्शन, और उसका सबमिशन।
  • video_start, video_progress और video_complete — सिर्फ़ एम्बेड किए गए YouTube प्लेयर के लिए, और सिर्फ़ तब जब एम्बेड में JS API सपोर्ट चालू हो।

अब वह हिस्सा, जिसमें लोगों के हफ़्ते निकल जाते हैं। इन नौ में से हर एक स्ट्रीम के Enhanced Measurement मास्टर स्विच पर निर्भर है, और Analytics इंटरफ़ेस के बजाय Analytics Admin API से बनाई गई स्ट्रीम में यह स्विच बंद (OFF) होता है। API से सेटिंग्स पढ़ें, तो हर अलग टॉगल true बताता है; मास्टर स्विच जवाब में होता ही नहीं, क्योंकि वह false है और API false वाले boolean छोड़ देता है। इसलिए सेटअप पूरी तरह चालू दिखता है और देता है सिर्फ़ page_view।

हमें यह अपनी ही प्रॉपर्टी पर मिला। SignalHost आपके लिए प्रॉपर्टी बनाते समय मास्टर स्विच चालू कर देता है; अगर आपकी प्रॉपर्टी किसी और तरीक़े से बनी है और scroll कभी नहीं आता, तो Analytics में डेटा स्ट्रीम खोलें और ख़ुद "Enhanced measurement" को जाँचें, उसके नीचे के टॉगल को नहीं।

सोलह इवेंट जो सिर्फ़ आपकी साइट भेज सकती है

जो इवेंट पैसा लाते हैं — बिक्री, लीड, साइन अप — इस पेज पर सिर्फ़ वही ऐसे हैं जिन्हें कुछ भी अपने-आप नहीं भेजता। GA4 उनके नाम और ढाँचा तय करता है; आपकी साइट को हर एक को ठीक उसी नाम से, ठीक उसी पल dataLayer में पुश करना होता है जब वह होता है।

हर SignalHost कंटेनर में इनमें से सोलह के लिए एक ट्रिगर और एक GA4 इवेंट टैग पहले से तैयार रहता है:

  • शॉप के फ़नल के लिए नौ: view_item_list, view_item, add_to_cart, remove_from_cart, view_cart, begin_checkout, add_shipping_info, add_payment_info और purchase, हर एक के साथ एक ecommerce ऑब्जेक्ट।
  • लीड के लिए पाँच: generate_lead, contact, schedule, submit_application और subscribe।
  • साइन अप के लिए दो: sign_up और start_trial।

डिफ़ॉल्ट Shopify थीम इनमें से कोई भी पुश नहीं करती, और WooCommerce core भी नहीं: यह काम कोई dataLayer ऐप या प्लगइन करता है, और Shopify पर चेकआउट इवेंट के लिए Custom Pixel चाहिए, क्योंकि थीम का कंटेनर चेकआउट पेजों पर कभी लोड नहीं होता। जिस पल आपकी साइट इनमें से कोई इवेंट पुश करती है, उसे आगे भेजने के लिए टैग मौजूद है — पुश का इंतज़ाम आपको करना है, और Shopify व WooCommerce वाला लेख ठीक-ठीक बताता है कि क्या इंस्टॉल करना है।

आपके कंटेनर के इवेंट कार्ड पर समर्थित इवेंट बटन इन सबकी सूची दिखाता है, साथ में हर एक का मतलब और क्या पुश करना है। अगर आपका कंटेनर इनमें से कोई इवेंट पहले से आपके अपने टैग से GA4 को भेजता है, तो SignalHost उसे दो बार गिनने के बजाय वह इवेंट आपके टैग पर छोड़ देता है।

कंटेनर पेज क्या गिनता है

आपके कंटेनर से गुज़रने वाली हर मेज़रमेंट रिक्वेस्ट इवेंट नाम के हिसाब से, हर दिन की, 400 दिनों तक गिनी जाती है। सिर्फ़ नाम रखा जाता है — न URL, न क्लाइंट ID, न एक भी पैरामीटर — और इसी वजह से इसे इतने समय तक रखना सुरक्षित है। यह सूची वह है जो आपके होस्टनेम पर पहुँचा, इसलिए यह एक ऐसे सवाल का जवाब देती है जिसका जवाब Analytics ख़ुद नहीं दे सकता: क्या ब्राउज़र ने इसे भेजा भी था?

गिनती असमान होने की उम्मीद रखें। हर पेज लोड एक page_view है; सिर्फ़ नीचे तक पहुँचने वाले पेज लोड scroll हैं; सिर्फ़ दस सेकंड पार करने वाले सेशन user_engagement हैं। दस पेज व्यू और दो scroll वाली साइट एक सामान्य साइट है।

दो चीज़ें इन दोनों सूचियों को कभी पूरी तरह मेल नहीं खाने देंगी। जिस विज़िटर ने आपके बैनर का जवाब नहीं दिया, वह भी हर इवेंट कुकी-रहित पिंग के रूप में भेजता है, और कंटेनर उसे गिनता है जबकि Analytics उसे छोड़ देता है — पेज दोनों संख्याएँ दिखाता है ताकि आप देख सकें कि कौन-सी क्या है। और session_start व first_visit कंटेनर पेज पर कभी दिखते ही नहीं: ब्राउज़र इन्हें इवेंट के रूप में नहीं भेजता, बल्कि पहले page_view पर दो फ़्लैग सेट करता है, और Analytics अपनी तरफ़ ये इवेंट बना लेता है।

सूची के ऊपर, कार्ड गिनता है कि इन सोलह इवेंट में से कितने पिछले 30 दिनों में आए, ताकि जिसे भेजना आपकी साइट भूल गई, वह साफ़ दिख जाए।

जब कोई इवेंट ग़ायब हो

दो स्थितियाँ हैं, और कंटेनर पेज इन्हें अलग-अलग पहचानता है।

अगर इवेंट कंटेनर की सूची में नहीं है, तो आपकी साइट ने उसे कभी भेजा ही नहीं। जो पहुँचा ही नहीं, उसे कंटेनर आगे नहीं भेज सकता। किसी स्टैंडर्ड इवेंट के लिए स्ट्रीम का Enhanced Measurement स्विच जाँचें; उन सोलह में से किसी के लिए जाँचें कि dataLayer पुश होता है, सही नाम से, उसी पेज पर जहाँ होना चाहिए।

अगर इवेंट कंटेनर की सूची में है लेकिन Analytics में नहीं, तो वह पहुँचा और आगे भेजा गया, और समस्या लाइन के उस पार, Google की तरफ़ है: ग़लत मेज़रमेंट ID, कोई डेटा फ़िल्टर, आप जिस खाते को देख रहे हैं उससे अलग किसी खाते में मौजूद प्रॉपर्टी, या बस रिपोर्टिंग में देरी — रियलटाइम इसे कुछ सेकंड में दिखाता है, स्टैंडर्ड रिपोर्ट में एक दिन लग सकता है।

बिल्कुल शुरुआत से शुरू कर रहे हैं? सर्वर-साइड Google Tag Manager कैसे सेट करें, चरण दर चरण।

ऐड ब्लॉकर्स की वजह से डेटा खोना बंद करें

मुफ़्त शुरू करें। कुछ ही मिनटों में पहला कंटेनर चालू करें।