GA4 + GTM + UTM tracking that survives
A done-right analytics setup on top of your existing site. UTM persistence, hidden-field capture, and events that actually fire.
Analytics setup is a one-week, $750 engagement that fixes the GA4 plus GTM plus UTM tracking on whatever site you already run — WordPress, Webflow, Astro, hand-rolled HTML — and makes it survive a CMS migration. We audit your existing GA4 property and GTM container (or set them up fresh if missing), wire UTM capture to a first-party cookie that survives navigations and form submits, drop in hidden-field helpers for HubSpot, Typeform, and plain HTML forms, and ship a CSP-friendly tag injection that does not break your security headers. Standard events are configured: page view, scroll depth, outbound click, form submit, CTA click, demo play. We close with a debug session against your real ad campaign while it is live, so you see UTMs land in GA4 the same hour. Bundles into a WordPress migration with no double-billing.
The reference implementation lives in our open-source GA4 + GTM + UTM recipe — fork the injector plugin from there if you would rather DIY. For an analytics-adjacent integration the recipe does not cover, custom plugin development handles the rest, and most clients keep us on a monthly retainer for ongoing tag and event hygiene.
Built for the team that wants this solved.
- Sites where GA4 was set up by someone who is no longer at the company and nobody trusts the numbers.
- Teams running paid ads who cannot tell which campaigns convert because UTMs vanish on the first click.
- Anyone whose form submissions show up in their inbox but not in GA4.
6 things, in scope from day one.
- 01 GA4 property + GTM container audit (or fresh setup if missing).
- 02 UTM capture to first-party cookie that survives navigations and form submits.
- 03 Hidden-field helper for HubSpot, Typeform, and plain HTML forms.
- 04 Standard event tracking: page view, scroll depth, outbound click, form submit, CTA click, demo play.
- 05 CSP-friendly tag injection (no breaking your security headers).
- 06 One debug session with your real ad campaign live.
One phase, then you ship.
Audit + plan + tag rollout. Verified-firing events by end of week.
Investment
Starting price, fixed scope.
Add-on or standalone. Final scope after intro call.
3 steps. No surprises.
The tools we'll be using.
Frequently asked.
Do I need an EmDash site for this?
No. The setup itself works on any site — WordPress, Webflow, Astro, hand-rolled HTML. The injector plugin is EmDash-specific; everywhere else we ship the same logic as a snippet.
Do you handle consent banners?
Not in scope for v1. We can recommend providers, and we make sure GTM respects whichever consent solution you have.
Can I bundle this with the WordPress migration?
Yes — and there is no double-billing. We absorb the analytics setup into a WordPress migration engagement.
Not quite a fit? Try one of these.
Field notes from the work.
Ready to talk?
30 minutes, no obligation. We'll either tell you it makes sense — or that it doesn't.