Skip to content
Academy
Marketing Academy · Field Work●Analytics & Attribution
MiniAudit· 25 minutes

The Pre-Launch Audit: Catching GA4 Setup Mistakes Before They Cost You a Quarter

Warby Parker

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)

FreeVerify filter status and event names live

Free, the source of truth for the actual live configuration

FreeRead the settings export line by line

Free, no account needed to review a CSV export

The process

3 steps

Step 01 of 03

Data retention window

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?

Google Sheets— Open ga4-property-settings-export.csv, scroll to the Data Settings section

Procedure

  1. Open the export and locate the 'Data Settings' block
  2. Read the 'Event data retention' row
  3. Compare it against the lesson's 14-month recommendation
Sample output
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?

SymptomActionEffort
Retention still shows '2 months (default)'Change to 14 months in Admin > Data Settings > Data Retention today, not after the audit report is filed5 min
YouYou can do this yourself, no engineering access required.

Step 02 of 03

Internal traffic filtering

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?

Google Analytics 4— Admin > Data Settings > Data Filters

Procedure

  1. Open Data Filters
  2. Check the filter's status column
  3. Cross-reference against the office/VPN IP list in the export
Sample output
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?

SymptomActionEffort
Filter status reads 'Testing' for more than a few daysAdd the missing VPN range, then flip the filter to Active under Data Settings5 min
YouYou can do this yourself, no engineering access required.

Step 03 of 03

Reserved event names

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?

Google Analytics 4— Admin > Events, then DebugView

Procedure

  1. Open the Events list and find the checkout event
  2. Compare its name against the reserved-names table
  3. Check whether it's marked as a key event
Sample output
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?

SymptomActionEffort
A core action uses a custom name instead of a reserved oneRename the event to the reserved name in GTM, then re-verify in DebugView before redeployinghalf day
DeveloperNeeds a developer/engineer to ship the fix.

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
Sample output
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