Know where signups actually come from
You cannot pick a winner you cannot see. This objective is the referee for the whole phase.
Target: Source known for ≥80% of signups
Inside this
- Add “how did you hear about us?” to signup1h
A free-text box beats any tracking script for dark-social discovery. Read every answer.
- UTM every outbound link you control30m
Use the convention you wrote in Phase 0. Untagged links become “direct” and hide your winner.
- Store first-touch and last-touch on the user record2h
First touch tells you what to invest in; last touch tells you what to fix.
- Compare 30-day retention by channel, not just signups2h
The channel with the most signups is often the one with the worst retention. Score channels on people still here at day 30.
- Build a weekly channel report you will actually read2h
Five rows: channel, signups, cost, CAC, trend. Anything longer gets skipped by week three.
- Attribute signups to the page that earned them, not just the channel2h
Sessions rank your posts one way and signups rank them another. Carry it through to activation and retention too — pieces that pull the wrong reader show up as churn months later, not as a bad traffic number.
- Read the AI Assistant channel as its own row15m
GA4 files ChatGPT, Gemini, Copilot and Grok referrals under AI Assistant already — but not AI Overviews or AI Mode, which stay inside Organic Search. Judge the row on conversion rate, not sessions: it is the one place on your own property where “the assistant pre-qualified them” is checkable, and it counts the clicks only, never the reads.
- Tag every store link so an install can be traced to the post that earned it30m
App Store links take a campaign token (pt and ct) and Google Play reads UTM source and campaign on store links; both report in the store’s own analytics. Apple lists a campaign only after 24 hours and shows a figure only once it reaches five.