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:

  1. Define Events in the Event Master Sheet (name, trigger, parameters, usage).

  2. Define Parameters in the Parameters Sheet (data type, mapping, description).

  3. Classify Events in the Event Taxonomy (categories, business purpose).

  4. Design Data Layer (DL) JSON format for each event (ready for GTM/App).

  5. Add User Properties for persistent attributes (user_id, city, platform, etc.).

  6. Map Events Into Funnels to see drop-offs and business outcomes.

  7. Define Audiences for remarketing/segmentation.

  8. QA/Validation after implementation (Web + Android + iOS).

  9. 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

  1. Multiple Events on Same Page → Allowed (e.g., screen_view + select_condition + generate_lead).

    • Ensure unique triggers.

    • Use session/localStorage flags to prevent duplicates.

  2. Deduplication Rule → Use lead_id (backend) + session_id to avoid counting the same lead twice.

  3. Custom Dimensions in GA4 → Always register new parameters (e.g., warranty_status, screen_condition).

  4. Cross-Platform Identity → Ensure user_id is set after login for stitching Web, iOS, Android.

  5. QA Before Launch → Always test events in GTM Preview + GA4 DebugView before marking “Live.”

  6. Documentation Discipline → Every change must be logged in the Version & Change Log.

5. Example Workflow: generate_lead

  1. User selects warranty/power/screen/body/issues.

  2. On “Get Quote” → Data Layer fires generate_lead.

  3. Parameters captured: device + condition + price_quote + user/session IDs.

  4. GA4 logs event → used in funnels (Lead → Order).

  5. Audience built: “Quote Generators (no order in 7 days).”

  6. QA tested in GTM + Firebase DebugView.

  7. Logged in Version Control: v1.0 → Added condition params.

6. Handover Guidelines

  • New team member should:

    1. Review all sheets (start with Event Master → Parameters → DL).

    2. Use existing JSON templates for new events.

    3. Always QA and log changes in the Version Log.

    4. 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.


Was this article helpful?