From GTM migration to missing UTM columns: getting ad attribution right as a solo founder - Follow up from previous GoogleTags poosts
This morning I finished wiring Google Ads conversion tracking — trial_start firing server-side, bidding optimized for trials, the whole thing.
Then a new user signed up. And I couldn't tell you where they came from.
Not because GA4 didn't know. It did. But because our users table has no UTM columns.
GA4 can tell me "google / cpc." My database can't. So I can't:
- Calculate LTV by acquisition channel
- Know whether Google Ads or X Ads drove a signup
- Filter subscribers by source when making budget decisions
Step 1 (GTM): one place to manage all tracking pixels, no code deploys to add tags.
Step 2 (UTM): store utm_source, utm_medium, utm_campaign, gclid on the user record at signup. Capture from the URL on landing, pass it at magic link time, persist once, never overwrite.
If you're running any paid traffic without UTM columns on your users table, you're flying blind. Fix it before you spend another dollar.
How are you keeping track of ads -> utm -> subscription sources? Is there a better way than I described?