GA4 स्वतः एकत्रित, उन्नत मापन, सुझाए गए और कस्टम इवेंट अलग करता है। इनके कार्यान्वयन अलग हैं; इवेंट का नाम व्यावसायिक कार्य पूरा होने का प्रमाण नहीं है।
देखी जा सकने वाली कार्रवाई तय करें
नया बनाने से पहले उपलब्ध या सुझाया इवेंट देखें। ट्रिगर, मापदंड, गिनती की इकाई और सीमाएँ दर्ज करें। फ़ॉर्म पर क्लिक अनुरोध मिलने के बराबर नहीं। नाम, URL और भेजे मापदंडों में व्यक्तिगत जानकारी न रखें।
संग्रह और व्यावसायिक महत्व अलग रखें
GA4 में इवेंट को मुख्य इवेंट चिह्नित कर सकते हैं। यह चुना हुआ विश्लेषणात्मक महत्व है, बिक्री या लाभ का प्रमाण नहीं। रिपोर्ट पढ़ने से पहले दोहराव, मान और कवरेज जाँचें; उन्नत मापन और स्वतः संग्रह अलग श्रेणियाँ हैं।
| श्रेणी | उदाहरण | शर्त |
|---|---|---|
| स्वतः एकत्रित | first_visit, session_start | आधार विन्यास में तय संग्रह |
| उन्नत मापन | scroll, file_download | सुविधा सक्रिय और संपर्क समर्थित |
| सुझाई गई | add_to_cart, purchase | प्रलेखित नाम और मापदंड लागू करें |
| कस्टम | उत्पाद-विशिष्ट कार्रवाई | अन्य श्रेणियाँ न मिलें तब परिभाषित करें |
स्रोत और सत्यापन
- Google Analytics — Set up events
- Google Analytics — About key events
- Google Analytics — Avoid sending personally identifiable information
कस्टम इवेंट्स को बिज़नेस फैक्ट बताना चाहिए।
एक कस्टम GA4 इवेंट को एक ऑब्ज़र्वेबल एक्शन दिखाना चाहिए और एक डिसीजन को सपोर्ट करना चाहिए। एक क्लियर नाम एक इम्प्रेसियस ट्रिगर को रिपेयर नहीं कर सकता: फ़ॉर्म सबमिट करना अभी तक इस बात का प्रूफ़ नहीं है कि सर्वर ने रिक्वेस्ट एक्सेप्ट कर ली है।
- इवेंट डिक्शनरी में ट्रिगर, पैरामीटर्स, टाइप्स और एक्सक्लूडेड केसेज़ का वर्जन करें।
- DebugView या किसी इक्विवेलेंट टूल में सक्सेस, एरर, बैक नेविगेशन और रीलोड को टेस्ट करें।
- रिसीव्ड इवेंट्स को नोन ऑपरेशन्स के साथ रिकंसाइल करें और डिस्क्रिपेंसीज़ असाइन करें।
प्राथमिक स्रोत: Google Analytics — Set up events. संबंधित विधि: व्यावहारिक मार्गदर्शिका पढ़ें.
डेटा जॉइन की अखंडता
जॉइन पंक्तियाँ बढ़ाकर कुल राशि बिगाड़ सकता है।
- आदेश तालिका की एक पंक्ति एक आदेश है; विवरण तालिका की एक पंक्ति उस आदेश का एक उत्पाद है। जोड़ने से पहले दोहराई गई और रिक्त कुंजियाँ जाँचें।
- विवरणों को आदेश की कुंजी के अनुसार समूहित करें। इस परिणाम से जोड़ने पर हर उत्पाद के लिए आदेश की राशि नहीं दोहरती। मूल आदेश तालिका के कुल से मिलान करें।
- LEFT JOIN बिना विवरण के आदेश रखता है, लेकिन दाईं तालिका का WHERE फ़िल्टर उन्हें हटा सकता है। मिलान न होना शून्य राशि नहीं है।
दोहराने योग्य स्वीकृति मामला
काल्पनिक उदाहरण: डेटा किसी ग्राहक या देखे गए परिणाम का नहीं है।
मामले के इनपुट देखें
{
"orders": [
{
"id": 1,
"total": 100
},
{
"id": 2,
"total": 200
}
],
"line_order_ids": [
1,
1,
2
],
"sum_before": 300,
"sum_after_raw_join": 400
}अपेक्षित निर्णय
400 एक आदेश को दो बार गिनता है। आदेश के अनुसार पंक्तियाँ जोड़कर कुल 300 पुनः प्राप्त करें। 100 के दो काल्पनिक आदेश भी जाँचें: कुल 200 है। SUM(DISTINCT total) से 100 मिलेगा और एक वैध मान हट जाएगा। राशियों के दोहराव हटाने के बजाय पहचानकर्ता और जॉइन की कार्डिनैलिटी जाँचें।
दोबारा चलाने योग्य SQL क्वेरी
काल्पनिक उदाहरण: 100 और 200 के दो आदेश तथा 1, 1 और 2 से जुड़े तीन विवरण। क्वेरी केवल VALUES का उपयोग करती हैं; परीक्षण वातावरण में चलाएँ।
WITH orders(id, total) AS (VALUES (1, 100), (2, 200)),
lines(order_id) AS (VALUES (1), (1), (2))
SELECT COUNT(*) AS rows, SUM(o.total) AS total
FROM orders o JOIN lines l ON l.order_id = o.id;WITH orders(id, total) AS (VALUES (1, 100), (2, 200)),
lines(order_id) AS (VALUES (1), (1), (2)),
per_order AS (
SELECT order_id, COUNT(*) AS line_count
FROM lines GROUP BY order_id
)
SELECT COUNT(*) AS orders, SUM(o.total) AS total
FROM orders o LEFT JOIN per_order l ON l.order_id = o.id;सीधा जोड़ तीन पंक्तियाँ और कुल 400 देता है। पहले समेकन करने पर दो आदेश और कुल 300 मिलता है।
WITH orders(id, total) AS (VALUES (1, 100), (2, 100))
SELECT SUM(total) AS correct_total,
SUM(DISTINCT total) AS distinct_total
FROM orders;100 और 100 की राशियों का सही कुल 200 है; SUM(DISTINCT total) 100 देता है।
सत्यापन प्रक्रिया
- आदेश और पंक्तियों का स्तर तय करें।
- दो पंक्तियों वाले आदेश को जोड़ें।
- कुंजियाँ, संख्या और मिलाए कुल रखें।
क्या SUM(DISTINCT total) पर्याप्त है?
नहीं। 100 के दो आदेशों का कुल 200 है, लेकिन SUM(DISTINCT total) 100 देता है। राशियाँ हटाने के बजाय कुंजियों का संबंध ठीक करें।
प्राथमिक स्रोत: PostgreSQL — Table expressions and joins. संबंधित विधि: व्यावहारिक मार्गदर्शिका पढ़ें.
जॉइन की बहुलता, NULL और समुच्चय
इस संस्करण में विस्तृत संदर्भ टिप्पणियाँ अंग्रेज़ी में उपलब्ध हैं।
Read the cardinality behind a published number
When a result combines sources, ask what one row represents and how keys were matched. An apparently correct sum can conceal two offsetting errors. Pair counts and identifier coverage provide additional evidence.
- Document population before and after joining.
- Do not infer causation from the total alone.
- Connect the metric definition to actual retained rows.
Inspect pairs and aggregates in the workshop →
PostgreSQL 18 · Table expressions · PostgreSQL 18 · documentation reviewed 2026-10-23
PostgreSQL 18 · Aggregate functions · PostgreSQL 18 · documentation reviewed 2026-10-23
PostgreSQL 18 · Comparison functions · PostgreSQL 18 · documentation reviewed 2026-10-23
