Cashkr GA4/GTM Event Tracking Documentation
1. Purpose of This Documentation
This document explains how Cashkr manages GA4 events using structured sheets + Data Layer implementation. It ensures anyone can:
-
Understand how events are designed, tracked, and QA’d.
-
Extend the system for new events (without breaking consistency).
-
Hand over work seamlessly to tech/marketing teams.
2. Process Overview
The event tracking process follows these steps:
-
Define Events in the Event Master Sheet (name, trigger, parameters, usage).
-
Define Parameters in the Parameters Sheet (data type, mapping, description).
-
Classify Events in the Event Taxonomy (categories, business purpose).
-
Design Data Layer (DL) JSON format for each event (ready for GTM/App).
-
Add User Properties for persistent attributes (user_id, city, platform, etc.).
-
Map Events Into Funnels to see drop-offs and business outcomes.
-
Define Audiences for remarketing/segmentation.
-
QA/Validation after implementation (Web + Android + iOS).
-
Log Changes in Version & Change Log for governance.
3. Sheets & Their Roles
3.1 Event Master Sheet
-
Core definition of every event.
Columns: Event Name | Description | Trigger Point | Parameters | Platform(s) | Mapped GA4 Event | Goal/Usage | Notes | Update
Example:
generate_lead → Fires when user clicks Get Quote after answering condition questions.
3.2 Parameters Sheet
-
Defines all parameters used across events.
Columns: Parameter Name | Data Type | Associated Event(s) | Description | GA4 Mapping | Goal/Usage | Notes
Example:
screen_condition → string → generate_lead → captures if screen is cracked/damaged.
3.3 Event Taxonomy
-
Classifies events by purpose.
Columns: Category | Event Name | Description | Key Parameters | GA4 Mapping | Notes
Example:
Category = Condition Tracking → Event = generate_lead → includes warranty, power, screen, body, issues.
3.4 Data Layer (DL) Sheet
-
Tech implementation layer (Web/App).
Columns: Event Name | Trigger Point | DataLayer JSON | Parameters (with Types) | GA4 Mapping | Notes/Implementation Tips
Example:
generate_lead fires with JSON including {lead_id, device_type, warranty_status, price_quote, ...}
3.5 User Properties
-
Persistent attributes applied to all events.
Columns: Property Name | Data Type | Description | Associated Events | GA4 Mapping | Goal/Usage | Notes
Example:
user_id → string → persisted across sessions → maps users across Web/App.
3.6 Funnels
-
Defines how events link into business funnels.
Columns: Funnel Name | Step Order | Step Event Name | Key Parameters | GA4 Conversion? | KPI | Notes
Example:
Lead Funnel → Step 7 = generate_lead → Step 9 = create_order → Step 10 = payout_success.
3.7 Audiences
-
Defines remarketing/segmentation audiences.
Columns: Audience Name | Inclusion Conditions | Exclusion Conditions | Time Window | Use Case | GA4 Mapping / Audience ID | Notes
Example:
High Value Leads → generate_lead where price_quote ≥ ₹30,000 → GA4 Audience ID = audience_high_value_leads.
3.8 QA / Validation
-
Used for testing event firing.
Columns: Event Name | Platform | Trigger Point | Expected Parameters | Test Method | Test Device | Result | Date | Tester | Notes
Example:
generate_lead → Web → Trigger = Get Quote click → Tested on Chrome with GTM Preview → Pass.
3.9 Version & Change Log
-
Governance for all updates.
Columns: Date | Version | Changed By | Change Description | Impacted Events | Status | Notes
Example:
22-Sep-25 | v1.0 | Ibrahim | Added condition parameters to generate_lead | generate_lead | Draft.
4. Implementation Best Practices
-
Multiple Events on Same Page → Allowed (e.g., screen_view + select_condition + generate_lead).
-
Ensure unique triggers.
-
Use session/localStorage flags to prevent duplicates.
-
-
Deduplication Rule → Use lead_id (backend) + session_id to avoid counting the same lead twice.
-
Custom Dimensions in GA4 → Always register new parameters (e.g., warranty_status, screen_condition).
-
Cross-Platform Identity → Ensure user_id is set after login for stitching Web, iOS, Android.
-
QA Before Launch → Always test events in GTM Preview + GA4 DebugView before marking “Live.”
-
Documentation Discipline → Every change must be logged in the Version & Change Log.
5. Example Workflow: generate_lead
-
User selects warranty/power/screen/body/issues.
-
On “Get Quote” → Data Layer fires generate_lead.
-
Parameters captured: device + condition + price_quote + user/session IDs.
-
GA4 logs event → used in funnels (Lead → Order).
-
Audience built: “Quote Generators (no order in 7 days).”
-
QA tested in GTM + Firebase DebugView.
-
Logged in Version Control: v1.0 → Added condition params.
6. Handover Guidelines
-
New team member should:
-
Review all sheets (start with Event Master → Parameters → DL).
-
Use existing JSON templates for new events.
-
Always QA and log changes in the Version Log.
-
Confirm custom dimensions in GA4 Admin before reporting.
-
-
Tech team (Samrat → Web, Shahid → Apps) pushes updates.
-
QA/Testing (Nirajan) validates before marking events live.
✅ With this doc, any new person can quickly understand:
-
How Cashkr events are planned.
-
How they’re implemented in GTM/App.
-
How to test & track them end-to-end.