मिन्हाज़ काज़ी, डेवलपर एडवोकेट, Google Analytics – अप्रैल 2023
"ये नंबर, यूज़र इंटरफ़ेस (यूआई) से मेल क्यों नहीं खाते?"
अगर आपने अपनी GA4 प्रॉपर्टी के लिए, BigQuery इवेंट एक्सपोर्ट डेटा का इस्तेमाल किया है, तो आपने कभी न कभी यह सवाल ज़रूर पूछा होगा. या इससे भी बुरा - कोई और आपसे यह पूछा. इसका जवाब देने की कोशिश करते समय, शायद आपसे यह पूछा गया होगा कि ड्रैड फ़ॉलोअप सवाल:
"इसके बारे में जानकारी कहां से मिली?"
इस पोस्ट के साथ, हम दोनों के बारे में जानकारी देने की कोशिश करेंगे.
इन संख्याओं में अंतर के बारे में जानने से पहले, यह समझना ज़रूरी है कि BigQuery इवेंट एक्सपोर्ट डेटा का सही मकसद. Google Analytics उपयोगकर्ता इकट्ठा किए गए डेटा को इकट्ठा करने के किसी तरीके का इस्तेमाल करके GA को अपना डेटा भेजता है - Google Tag, Google Tag Manager, मेज़रमेंट प्रोटोकॉल, एसडीके, और डेटा इंपोर्ट. GA प्रॉपर्टी की सेटिंग के आधार पर, Google Analytics इकट्ठा किए गए डेटा को स्टैंडर्ड रिपोर्टिंग प्लैटफ़ॉर्म पर पहुंचने से पहले जोड़ना इनमें स्टैंडर्ड रिपोर्ट, एक्सप्लोरेशन (विश्लेषण के तरीके), और Data API शामिल हैं. ये वैल्यू इन बदलावों में Google सिग्नल, मॉडलिंग, और ट्रैफ़िक को शामिल करना शामिल हो सकता है एट्रिब्यूशन, अनुमान वगैरह.
स्टैंडर्ड रिपोर्टिंग प्लैटफ़ॉर्म का मकसद, GA उपयोगकर्ताओं को ज़्यादा से ज़्यादा फ़ायदा देना है. सबसे कम रुकावट पैदा करनी होगी. हालांकि, हम समझते हैं कि उपयोगकर्ताओं की विस्तृत श्रेणी में, कुछ लोग Google Analytics की अतिरिक्त सुविधाओं की मदद से अतिरिक्त सुविधाएं जोड़ना चाहते हैं या जिसे पूरी तरह से कस्टमाइज़ किया जा सकता है. इन उपयोगकर्ताओं के लिए, BigQuery इवेंट एक्सपोर्ट जहां से शुरुआत की जा सकती है. BigQuery इवेंट एक्सपोर्ट में इकट्ठा किया गया डेटा होगा, यह ट्रैफ़िक, क्लाइंट या ऐप्लिकेशन से Google Analytics को भेजा जाता है. BigQuery इवेंट एक्सपोर्ट ऊपर बताए गए, ज़्यादातर अतिरिक्त फ़ायदों में विस्तृत डेटा शामिल नहीं होगा.
इसलिए, इस्तेमाल के कई उदाहरणों में, स्टैंडर्ड रिपोर्टिंग प्लैटफ़ॉर्म और इन मामलों में, BigQuery Export डेटा के समाधान के सही होने की उम्मीद नहीं है वैल्यू बढ़ाने वाले पार्ट. अगर दोनों में आंतरिक समानता है और वे मेल खाते हैं आप जो इकट्ठा कर रहे हैं, उसके साथ आपको काम करना चाहिए.
चलिए, अब अंतर की कुछ खास वजहों के बारे में जानते हैं और उन्हें कम करने के तरीके बताए गए हैं. इस पोस्ट में खास तौर पर BigQuery पर फ़ोकस किया गया है सिर्फ़ डेली इवेंट एक्सपोर्ट. स्ट्रीमिंग एक्सपोर्ट नहीं.
सैंपलिंग
स्टैंडर्ड रिपोर्ट के साथ अपने BigQuery Export डेटा की सही तुलना करने के लिए, डेटा एपीआई रिपोर्ट या एक्सप्लोरेशन रिपोर्ट से इस बात की पुष्टि होती है कि वे सैंपल डेटा पर आधारित नहीं हैं. GA4 में डेटा सैंपलिंग से, सैंपलिंग से जुड़ी समस्याओं के बारे में ज़्यादा जानकारी और तरीके ढूंढे जा सकते हैं.
सक्रिय उपयोगकर्ता
अगर उन सभी उपयोगकर्ताओं को गिना जाता है जिन्होंने आपके GA4 पर कम से कम एक इवेंट लॉग किया है प्रॉपर्टी के लिए, आपको कुल उपयोगकर्ता मेट्रिक मिलेगी. हालांकि, कुल उपयोगकर्ता मेट्रिक, GA4 यूज़र इंटरफ़ेस (यूआई) में एक्सप्लोरेशन में उपलब्ध है. यह प्राइमरी उपयोगकर्ता मेट्रिक के लिए इस्तेमाल किया जाता है GA4 में रिपोर्टिंग का मतलब सक्रिय उपयोगकर्ता है. GA4 के यूज़र इंटरफ़ेस (यूआई) और रिपोर्ट में, अगर सिर्फ़ उपयोगकर्ता बताया गया है, जो आम तौर पर सक्रिय उपयोगकर्ताओं के बारे में बताता है. इसलिए उपयोगकर्ता की गणना करते समय की गिनती BigQuery डेटा से करते हैं, तो आपको सिर्फ़ सक्रिय उपयोगकर्ताओं को फ़िल्टर करना होगा का इस्तेमाल करें. कैलकुलेशन का तरीका, अलग-अलग हो सकती है. यह बदलाव आपकी चुनी गई रिपोर्टिंग आइडेंटिटी के हिसाब से तय होता है.
तकनीकी तौर पर लागू करना
BigQuery इवेंट एक्सपोर्ट डेटा में, अगर अलग-अलग यूज़र आईडी की संख्या को गिना जाए, तो
को कुल उपयोगकर्ता की संख्या मिलेगी. यहां एक सैंपल क्वेरी दी गई है, जिसमें 'कुल' दोनों विकल्प दिखाए गए हैं
user_pseudo_id
पर आधारित उपयोगकर्ता और नए उपयोगकर्ता:
-- Example: Get 'Total User' count and 'New User' count.
WITH
UserInfo AS (
SELECT
user_pseudo_id,
MAX(IF(event_name IN ('first_visit', 'first_open'), 1, 0)) AS is_new_user
-- Replace table name.
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
-- Replace date range.
WHERE _TABLE_SUFFIX BETWEEN '20201101' AND '20201130'
GROUP BY 1
)
SELECT
COUNT(*) AS user_count,
SUM(is_new_user) AS new_user_count
FROM UserInfo;
सिर्फ़ सक्रिय उपयोगकर्ताओं को चुनने के लिए, अपनी क्वेरी को उन इवेंट तक सीमित करें जिनमें is_active_user
true
है:
-- Example: Get exact and approximate Active User count.
WITH
ActiveUsers AS (
SELECT
user_pseudo_id
-- Replace table name.
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
-- Replace date range.
WHERE _TABLE_SUFFIX BETWEEN '20201101' AND '20201130'
AND is_active_user
GROUP BY 1
)
SELECT
COUNT(DISTINCT user_pseudo_id) AS exact_active_user_count,
APPROX_COUNT_DISTINCT(user_pseudo_id) AS approx_active_user_count
FROM ActiveUsers;
HyperLogLog++
Google Analytics, एलिमेंट की संख्या का अनुमान लगाने के लिए, HyperLog++ (HLL++) एल्गोरिदम का इस्तेमाल करता है सक्रिय उपयोगकर्ताओं और सत्र सहित सामान्य मेट्रिक के लिए. इसका मतलब है कि जब आपको इन मेट्रिक की यूनीक संख्या का इस्तेमाल करता है, तो वे यूज़र इंटरफ़ेस (यूआई) में या एपीआई के ज़रिए बिलकुल सटीक अनुमान. BigQuery में, क्योंकि आपके पास डेटा की ज़्यादा जानकारी के साथ, इन मेट्रिक के लिए एलिमेंट की सटीक संख्या का हिसाब लगाया जा सकता है. तो मेट्रिक में कुछ प्रतिशत तक अंतर हो सकता है. 95% कॉन्फ़िडेंस इंटरवल पर, सेशन की संख्या के लिए सटीक होने की दर ±1.63% हो सकती है. इनके सटीक होने के लेवल अलग-अलग होंगे इनमें अलग-अलग मेट्रिक शामिल होती हैं और कॉन्फ़िडेंस इंटरवल के हिसाब से बदलती रहती हैं. यहां जाएं: अलग-अलग कॉन्फ़िडेंस इंटरवल पर सटीक लेवल के लिए HLL++ स्केच HLL++ के अलग-अलग प्रिसिज़न पैरामीटर हैं.
तकनीकी तौर पर लागू करना
Google Analytics में यूनीक काउंट का अनुमान देखें और जानें कि HLL++ जो Google Analytics में लागू किए गए हैं और उन सुविधाओं को दोहराने का तरीका भी जानें BigQuery क्वेरी का इस्तेमाल करके.
डेटा इकट्ठा करने में देरी
जब GA दिन के सभी इवेंट इकट्ठा कर लेता है, तब रोज़ की एक्सपोर्ट टेबल बनाई जाती हैं. टेबल की तारीख के बाद, हर दिन की टेबल को 72 घंटे तक अपडेट किया जा सकता है उन इवेंट के साथ जिन पर टेबल की तारीख लगी हो. जानकारी पढ़ें और उदाहरण देखें. यह समस्या तब ज़्यादा होती है, जब आपका Firebase SDK टूल या मेज़रमेंट प्रोटोकॉल लागू करने की प्रोसेस, ऑफ़लाइन या देर से होने वाले इवेंट. स्टैंडर्ड रिपोर्टिंग प्लैटफ़ॉर्म और BigQuery के सिर्फ़ पिछले 72 घंटों में अपडेट की जाती हैं. आपको इनमें अंतर दिख सकता है ट्रैक कर सकते हैं. इस तरह के तरीके लागू करने के लिए, पुराने डेटा की तुलना की जानी चाहिए 72 घंटे से कम है.
ज़्यादा एलिमेंट वाली रिपोर्ट
मान लें कि कोई रिपोर्ट, स्टैंडर्ड रिपोर्ट या Data API से देखी जा रही है. इस रिपोर्ट में बहुत सारा डेटा दिखता है. साथ ही, इसमें डाइमेंशन के लिए एलिमेंट की संख्या. ज़्यादा एलिमेंट वाले डाइमेंशन की वजह से, रिपोर्ट दी गई टेबल में एलिमेंट की संख्या की सीमा. ऐसा होने पर Google Analytics कम बार इस्तेमाल होने वाली वैल्यू को ग्रुप में बांट देगा और उन्हें (अन्य) के तौर पर लेबल करेगा.
आसान और छोटे पैमाने वाले उदाहरण का इस्तेमाल करें, अगर टेबल में 10 पंक्ति होती हैं. आम तौर पर, ऐसा हो सकता है:
जैसा कि आपको दिख रहा है, इवेंट की कुल संख्या में कोई बदलाव नहीं होता. हालांकि, कम अक्सर इस्तेमाल होने वाली वैल्यू को एक साथ ग्रुप किया जाता है और टेबल को इसके आधार पर फिर से एग्रीगेट नहीं किया जा सकता किसी भी डाइमेंशन में दिखने वाले कीवर्ड (उदाहरण के लिए, एग्रीगेट टेबल को लेकर कुल किसी शहर के लिए इवेंट की संख्या. उदाहरण में ज़्यादा यह सुविधा किसी भी डाइमेंशन के आधार पर कुल डेटा को फ़िल्टर करने पर बेहतर नतीजे देती है.
(अन्य) लाइन का यह ग्रुप सिर्फ़ रिपोर्टिंग मॉड्यूल में होता है और डेटा एपीआई, जब रिपोर्ट में एलिमेंट की संख्या की सीमा पार हो जाती है. अगर आप: BigQuery से कैलकुलेशन करते समय, आपको हमेशा बुनियादी तथ्यों वाला डेटा मिलेगा - पंक्तियों के बीच रखें. (अन्य) लाइन और सबसे सही तरीकों के बारे में जानने के लिए, यहां जाएं: इससे कैसे बचें.
Google सिग्नल
अपनी GA4 प्रॉपर्टी पर Google सिग्नल को चालू करने के कई फ़ायदे हैं. जैसे
सभी प्लैटफ़ॉर्म और डिवाइसों पर उपयोगकर्ताओं की डुप्लीकेट कॉपी बनाना. अगर उपयोगकर्ता का डेटा इकट्ठा नहीं किया जाता है, तो
आईडी या 'Google सिग्नल' चालू करते हैं और कोई व्यक्ति आपकी वेबसाइट को तीन यूआरएल पर देखता है
तो Google Analytics उस गतिविधि का श्रेय तीन को
अलग-अलग उपयोगकर्ता करेंगे और BigQuery Export में तीन अलग-अलग user_pseudo_id
होंगे.
वहीं दूसरी ओर, Google सिग्नल चालू हो जाते हैं और उस व्यक्ति ने अपने
सभी तीन ब्राउज़र में एक ही Google खाता बनाने के लिए, Google Analytics एट्रिब्यूट
एक उपयोगकर्ता की गतिविधि को एक्सपोर्ट किया जाएगा और स्टैंडर्ड रिपोर्टिंग प्लैटफ़ॉर्म में यह संख्या दिखेगी.
हालांकि, BigQuery अब भी तीन अलग-अलग user_pseudo_id
दिखाएगा, क्योंकि
BigQuery Export में 'Google सिग्नल' की जानकारी उपलब्ध नहीं है. इसलिए,
Google सिग्नल डेटा वाली रिपोर्ट में उपयोगकर्ताओं की संख्या कम होगी
BigQuery Export में.
GA4 में User-ID लागू करना, इस असर को कम करने का सबसे अच्छा तरीका है
प्रॉपर्टी के साथ-साथ Google सिग्नल चालू करना होगा. इससे यह पक्का होगा कि
डुप्लीकेट कॉपी हटाने की प्रोसेस सबसे पहले user_id
के आधार पर होती है. साइन इन किए हुए उपयोगकर्ताओं के लिए, user_id
फ़ील्ड में जानकारी अपने-आप भर जाएगी. इसका इस्तेमाल, कैलकुलेशन के लिए किया जा सकता है.
हालांकि, जिन उपयोगकर्ताओं ने साइन इन नहीं किया है (यानी बिना user_id
वाले सेशन), उनके लिए
हालांकि, Google सिग्नल का इस्तेमाल डुप्लीकेट कॉपी हटाने के लिए अब भी किया जाएगा.
यह भी ध्यान रखें कि स्टैंडर्ड रिपोर्टिंग प्लैटफ़ॉर्म की कुछ रिपोर्ट में थ्रेशोल्ड लागू की गई और कुछ डेटा नहीं दिखाया जाता. ज़्यादातर जानकारी जो काम की हो सकती है BigQuery Export में आम तौर पर थ्रेशोल्ड लागू नहीं होता.
सहमति मोड और मॉडल किया गया डेटा
वेबसाइटों और मोबाइल ऐप्लिकेशन पर सहमति मोड की मदद से, लोगों को यह बताया जा सकता है कि
कुकी या ऐप्लिकेशन आइडेंटिफ़ायर से मिली सहमति की स्थिति. जब वेबसाइट पर आने वाले लोग सहमति नहीं देते हैं,
GA4, डेटा कलेक्शन के गैप को मुख्य इवेंट मॉडलिंग और ग्राहक के व्यवहार की जानकारी देता है
मॉडलिंग होगी. BigQuery इवेंट एक्सपोर्ट में, मॉडल किया गया कोई भी डेटा उपलब्ध नहीं है.
सहमति मोड लागू होने पर, BigQuery डेटासेट में बिना कुकी वाले पिंग होंगे
और हर सेशन का user_pseudo_id
अलग होगा. इस वजह से
इसलिए, स्टैंडर्ड रिपोर्टिंग प्लैटफ़ॉर्म और
BigQuery में ज़्यादा जानकारी वाला डेटा. उदाहरण के लिए, ग्राहक के व्यवहार का मॉडल बनाने की वजह से,
सक्रिय उपयोगकर्ताओं की संख्या, BigQuery Export की तुलना में कम
मॉडलिंग, अलग-अलग सहमति वाले उपयोगकर्ता से कई सेशन का अनुमान लगाने की कोशिश कर सकती है
उपयोगकर्ता.
इसके असर को कम करने के लिए, आपको अपने GA4 में User-ID लागू करने चाहिए
प्रॉपर्टी. user_id
और कस्टम डाइमेंशन को BigQuery में एक्सपोर्ट किया जाता है, भले ही
उपयोगकर्ताओं की सहमति की स्थिति.
ट्रैफ़िक एट्रिब्यूशन डेटा
BigQuery में ट्रैफ़िक एट्रिब्यूशन डेटा, उपयोगकर्ता (पहली बार वेबसाइट पर आने) और उपयोगकर्ता के पास उपलब्ध होता है इवेंट लेवल पर जाएं. यहां इकट्ठा किया गया डेटा मौजूद है. हालांकि, जब से Google Analytics सेशन लेवल पर अपना एट्रिब्यूशन मॉडल लागू करता है, तो वह जानकारी यह न तो सीधे BigQuery Export में उपलब्ध होता है और न ही इसे पूरे डेटा के साथ कैलकुलेट किया जा सकता है उपलब्ध डेटा से कितना सटीक है. अपने इस्तेमाल के उदाहरण के हिसाब से, पहले पक्ष (ग्राहक) के काम के डेटा के साथ BigQuery डेटासेट को जोड़ना और एट्रिब्यूशन मॉडल का इस्तेमाल करें. आने वाले समय में, ट्रैफ़िक के लिए इकट्ठा किया गया अतिरिक्त डेटा एट्रिब्यूशन, BigQuery इवेंट एक्सपोर्ट के ज़रिए उपलब्ध हो सकता है.
कैलकुलेशन से जुड़ी सामान्य गड़बड़ियां
- कैलकुलेशन का तरीका: BigQuery में अलग-अलग मेट्रिक का हिसाब लगाते समय,
पक्का करें कि आपने सही तरीका इस्तेमाल किया हो. उदाहरण के लिए:
- Google Analytics 4 के लिए सेशन की गिनती करने का स्टैंडर्ड तरीका
प्रॉपर्टी इसके यूनीक कॉम्बिनेशन की गिनती कर रही हैं
user_pseudo_id
/user_id
औरga_session_id
समय सीमा. Universal Analytics में, सेशन आधी रात को रीसेट होते हैं. अगर आपने आपको UA मॉडल फ़ॉलो करना होता है, हर दिन के सेशन की गिनती करनी होती है, और उन्हें सेशन की कुल संख्या पाने के लिए, आपको जो कई दिनों की अवधि वाले होते हैं. - आपकी चुनी गई रिपोर्टिंग आइडेंटिटी के आधार पर, उपयोगकर्ताओं की संख्या को कैलकुलेट करने का तरीका अपडेट करना होगा.
- Google Analytics 4 के लिए सेशन की गिनती करने का स्टैंडर्ड तरीका
प्रॉपर्टी इसके यूनीक कॉम्बिनेशन की गिनती कर रही हैं
- डाइमेंशन और मेट्रिक का स्कोप: पक्का करें कि आपके कैलकुलेशन में सही उपयोगकर्ता, सेशन, आइटम या इवेंट लेवल का दायरा.
- टाइम ज़ोन: BigQuery एक्सपोर्ट में,
event_date
रिपोर्टिंग समय के लिए है ज़ोन में है, जबकिevent_timestamp
माइक्रोसेकंड में यूटीसी टाइमस्टैंप है. तो आम तौर पर, अगर कोई क्वेरी मेंevent_timestamp
का इस्तेमाल करता है, तो उसे यूज़र इंटरफ़ेस (यूआई) नंबर से तुलना करते समय, सही रिपोर्टिंग टाइम ज़ोन जोड़ें. - डेटा फ़िल्टर करने और एक्सपोर्ट करने की सीमाएं: अगर आपने इसके लिए डेटा फ़िल्टर करने की सुविधा सेट की है BigQuery इवेंट एक्सपोर्ट या रोज़ के इवेंट एक्सपोर्ट की संख्या पार हो गई है सीमा, BigQuery इवेंट एक्सपोर्ट डेटा रिपोर्टिंग प्लैटफ़ॉर्म.
इन सभी बातों को ध्यान में रखते हुए, इस पोस्ट में थोड़ी-बहुत गलत जानकारी दी गई है. उम्मीद है कि आप यहां दिए गए दिशा-निर्देशों से, आपके DISTINCT प्रोजेक्ट को इस्तेमाल करने के सही तरीके बताए गए हैं. अगर आपको अगर आपको कुछ पूछना है, तो GA Discord सर्वर में शामिल हों. यहां ऐसी क्वेरी का जवाब दिया जा सकता है!