Event & Tracking Taxonomy SOP
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.