Practical QA framework for validating GA4 tracking plans, ecommerce events, conversion events and UTM consistency before reporting issues reach stakeholders.
This repo is designed for analytics delivery work. It shows how a Technical Project Manager / Analytics Operations owner can turn tracking questions into a repeatable evidence pack for developers, agencies, BI teams and business stakeholders.
GA4 reporting breaks trust when event names, page types, ecommerce parameters or UTM conventions are inconsistent. The problem is rarely one single bug. It is usually a mix of tracking gaps, naming drift, incomplete campaign taxonomy and unclear conversion rules.
Run the sample validation:
python scripts/validate_ga4_tracking.py \
--input data/ga4_events.csv \
--rules config/validation_rules.yml \
--out reports/generated_tracking_qa_report.mdThe script checks:
- required GA4 export fields
- unapproved event names
- missing page types
- ecommerce events without required item/value fields
- conversion flags that do not match the approved conversion list
- incomplete UTM groups
- campaign names that do not match the agreed taxonomy
- duplicate event IDs
This project helps teams move from vague reporting complaints to a clean QA workflow:
- define what should be tracked
- test what was actually captured
- separate tracking defects from dashboard logic issues
- provide evidence for developer or agency tickets
- document acceptance criteria before dashboard build
- Python
- pandas
- PyYAML
- Markdown QA reports
- pytest
ga4-tracking-validation-framework/
config/validation_rules.yml
data/ga4_events.csv
docs/qa-checklist.md
scripts/validate_ga4_tracking.py
src/ga4_tracking_validation/validator.py
reports/sample_tracking_qa_report.md
screenshots/tracking-qa-preview.svg
tests/test_validator.py
Tracking QA is not only a developer task. Someone has to connect business definitions, implementation details, analytics exports and stakeholder reporting expectations. This repo demonstrates that middle layer: structured enough for technical teams, clear enough for non-technical decision makers.
- Add BigQuery export sample queries for event-level QA.
- Add a Streamlit upload UI for QA reviewers.
- Add GTM container checklist mapping.
- Add severity profiles by market, website and reporting use case.
- Export issue-ready CSV files for Jira, Asana or agency handover.
MIT