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.

From
$750
starting price
Ships in
1 week
from kickoff
Booking
Open
Q2 2026
Reply within
1 day
business hours

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.

Who this is for

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.
What's included

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.
Timeline

One phase, then you ship.

Week 1

Audit + plan + tag rollout. Verified-firing events by end of week.

01
From $750

Investment

Starting price, fixed scope.

Add-on or standalone. Final scope after intro call.

Starting at
$750
Add-on or standalone. Final scope after intro call.
Timeline
1 week
from kickoff to handoff
Intro call
Free · 30 min
no obligation, no pitch deck
How we work

3 steps. No surprises.

— 01
Audit
We open DevTools and Search Console with you and figure out what is firing, what is not, and why.
— 02
Plan
Event taxonomy + UTM strategy, written down so the next person who joins can follow it.
— 03
Implement
GTM container changes, code shipped, debug pass with you watching.
Tech stack

The tools we'll be using.

— 01
GTM (with GA4 inside it — one snippet, not two).
— 02
EmDash GA4/GTM/UTM Injector plugin (our open-source plugin; works on EmDash sites, manual install on others).
— 03
Cloudflare Web Analytics as a privacy-respecting fallback for sites that need it.
FAQ

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.

Ready to talk?

30 minutes, no obligation. We'll either tell you it makes sense — or that it doesn't.