The Pre-Launch Audit: Catching GA4 Setup Mistakes Before They Cost You a Quarter
Objective: Given a real GA4 property settings export, apply the lesson's setup playbook to spot the specific misconfigurations that will silently break next quarter's reporting.
You're the marketing analyst at Warby Parker's DTC team reviewing a GA4 property that engineering set up eight weeks ago, before anyone asked you to check it.
Read the settings export line by line and flag every deviation from the lesson's 8-step playbook, in order of how much it will cost the business.
Before you start
What you'll need
Free path (everything below is enough to finish)
Free, the source of truth for the actual live configuration
Free, no account needed to review a CSV export
The process
3 steps
Step 01 of 03
The lesson's Step 4 flags GA4's default 2-month retention as the single most damaging setting most teams never touch.
The export shows 'Event data retention: 2 months (default)'. What happens the first time someone asks for a year-over-year comparison?
Procedure
- Open the export and locate the 'Data Settings' block
- Read the 'Event data retention' row
- Compare it against the lesson's 14-month recommendation
DATA SETTINGS Event data retention: 2 months (default) Reset user data on new activity: Off
Healthy
Retention set to 14 months, reset-on-activity toggled on.
Unhealthy
Retention left at the 2-month default, meaning any Exploration or Funnel older than 60 days is already gone and unrecoverable.
What this means
This setting doesn't retroactively fix past data. The moment you spot 'default', the loss is already happening, every day you wait costs another day of history.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| Retention still shows '2 months (default)' | Change to 14 months in Admin > Data Settings > Data Retention today, not after the audit report is filed | 5 min |
Step 02 of 03
Step 5 warns that unfiltered internal traffic inflates engagement and conversion metrics with your own team's clicks.
The Data Filters panel shows one internal traffic rule in 'Testing' status. What does that mean for this quarter's engagement rate?
Procedure
- Open Data Filters
- Check the filter's status column
- Cross-reference against the office/VPN IP list in the export
DATA FILTERS Internal Traffic Filter: Testing Excluded IPs: 1 of 2 listed (VPN range missing)
Healthy
Filter status is Active and every office/VPN IP range is listed.
Unhealthy
Filter sits in 'Testing' with a missing VPN range, so it's silently excluding nothing from the live reports.
What this means
A filter in Testing mode changes nothing in your actual reports; it's the GA4 equivalent of writing a rule down but never enforcing it.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| Filter status reads 'Testing' for more than a few days | Add the missing VPN range, then flip the filter to Active under Data Settings | 5 min |
Step 03 of 03
The lesson's reserved-names table shows GA4 recognizes specific event names for its built-in reports and Google Ads import.
The events list shows 'eyewear_purchased' firing on every checkout instead of 'purchase'. What breaks?
Procedure
- Open the Events list and find the checkout event
- Compare its name against the reserved-names table
- Check whether it's marked as a key event
EVENTS (last 7 days) eyewear_purchased 4,102 occurrences Not marked as key event purchase 0 occurrences
Healthy
Checkout fires as 'purchase', appears in Monetization reports, and imports cleanly to Google Ads.
Unhealthy
Checkout fires as a custom 'eyewear_purchased' event; Monetization reports stay empty and Google Ads conversion import has nothing to read.
What this means
GA4 doesn't guess. A non-reserved name for a standard action means every built-in report and integration built around 'purchase' simply has no data to show.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| A core action uses a custom name instead of a reserved one | Rename the event to the reserved name in GTM, then re-verify in DebugView before redeploying | half day |
Final deliverable
A ranked list of the property's setup defects with the fix owner (you vs. developer) and estimated effort for each.
See a reference example
Allbirds GA4 audit findings (excerpt) 1. Retention at 2-month default -> change today, 5 min, owner: you 2. Internal traffic filter in Testing, VPN range missing -> 5 min, owner: you 3. Checkout fires as 'shoe_purchased' instead of 'purchase' -> half day, owner: developer
Success criteria
You're done when you can:
- Correctly flags the retention default as the highest-cost issue
- Identifies the Testing-status internal traffic filter as inactive
- Catches the non-reserved event name and assigns it to a developer