Tracking & GTM

Make every booked call count.

Book a Tracking Audit

GTM · GA4 · Google Ads · Meta · Calendly · HubSpot · Typeform · GoHighLevel

Scan your site free

If Google Ads says zero conversions and your calendar says otherwise, your tracking is lying. We find where data leaks, fix it and prove it.

Sound familiar?

Tick what applies. Be honest, nobody is watching.

0/6

Lucky you. Run the free scan to be sure.

Scan your site free

Start with the Tracking Audit.

A fixed-price review of your GTM container, GA4 property, ad conversions, consent setup and booking flows. It takes a few working days and ends with a prioritized fix list, ranked by what it's costing you.

Book a Tracking Audit
  • Read-only access, no passwords
  • Evidence for every finding
  • Yours to keep, whoever does the fixes

Flip the banner. Watch the tags.

This is what a correct Consent Mode v2 setup does with each choice. Try all three.

A sandbox. Your real cookie choice is untouched.

gtag("consent", "update", ...)

  • ad_storage granted
  • analytics_storage granted
  • ad_user_data granted
  • ad_personalization granted

What each tag does

  • GA4

    Full hits with cookies. Sessions, pages and events attributed.

  • Google Ads

    Conversion sent with the click ID. Counted against the ad.

  • Meta Pixel + CAPI

    Pixel and Conversions API fire, deduplicated by event ID.

Accepted: all four signals flip to granted, and every tag that waited now fires.

How a booking inside someone else's iframe becomes a conversion.

GTM can't see inside Calendly. But Calendly can tell your page what happened. Scroll to follow one booking.

  1. Calendly iframe

    calendly.com

    Visitor confirms a booking inside someone else's frame.

  2. postMessage

    calendly.event_scheduled

    The tool announces completion to the parent page.

  3. Listener on your page

    origin checked

    GTM or a small script catches the message.

  4. dataLayer

    booking_confirmed

    One clean, named event. No personal data.

  5. GA4, Ads, Meta

    real conversion

    Sent on as a conversion with the right IDs.

window.addEventListener("message", (e) => {
  if (e.origin !== "https://calendly.com") return;
  if (e.data.event !== "calendly.event_scheduled") return;
  dataLayer.push({ event: "booking_confirmed", provider: "calendly" });
});

What we fix.

01 Booking and embedded form conversions

Problem ✕

Calendly, HubSpot, Typeform and GoHighLevel run inside iframes on their own domains. GTM on your page can't see a booking confirmed inside someone else's frame.

What we do

Listen for the tool's own completion messages, push a clean event to the dataLayer, and send it to GA4 and your ad platforms as a real conversion.

You get ✓

One named conversion per booking or submission, visible in Google Ads and GA4.

02 Consent Mode v2 fix and verify

Problem ✕

The cookie banner and GTM aren't talking. Tags fire before consent, or never fire after it. Either way, ad data goes missing or you're out of compliance.

What we do

Set correct defaults, wire the banner's choices to consent updates in GTM, and test every combination: accept, reject, partial.

You get ✓

A recorded test of each consent state, so you can see data flowing when it should and stopping when it shouldn't.

03 GA4 and GTM for single-page and AI-built sites

Problem ✕

Sites built in React, Lovable or Bolt change pages without reloading. GA4 counts the first page and misses the rest.

What we do

Fire a proper page view on every route change, with the right title and path, without double counting.

You get ✓

Real page paths, real engagement, funnels that make sense.

04 Google Ads enhanced conversions for leads

Problem ✕

Google matches fewer conversions to ad clicks than it could, and leads that close weeks later never get credited.

What we do

Send hashed lead details with the conversion so Google can match it, and set up the path for importing closed deals later.

You get ✓

Better-matched conversions and smarter bidding signals. Hashing happens before data leaves the browser.

05 Meta Pixel + Conversions API dedup audit

Problem ✕

The Pixel and the Conversions API both send the same lead. Without a shared event ID, Meta counts it twice or throws away the better one.

What we do

Check event IDs, match quality and parameters on both sides, then fix deduplication.

You get ✓

One lead counted once, with the best available match data.

06 Attribution leak fix

Problem ✕

A customer pays on Stripe or PayPal, or books on a scheduling domain, then lands back on your thank-you page. GA4 credits the payment provider as the source.

What we do

Configure unwanted referrals and cross-domain settings so the original source survives the round trip.

You get ✓

Revenue and leads credited to the campaign that earned them, not to checkout.stripe.com.

Book a Tracking Audit

Fixed means we watched it fire.

We don't hand over "should work now". Every fix is tested in Google Tag Assistant, GA4 DebugView, Google Ads diagnostics or Meta Events Manager, and recorded. You get the proof with the handover.

  1. ✓ 01 Before and after screenshots of each conversion
  2. ✓ 02 A short screen recording of every test
  3. ✓ 03 A plain-English changelog of what changed in your GTM container, with version notes

Want to see clean tracking in action?

Open the Tracking Inspector. Every click you've made on this page is already there as a named event.

dataLayer, your session consent: denied
  1. Waiting for your first event...

Your containers. Your data. Your accounts.

We work inside your GTM, GA4, Google Ads and Meta accounts as an added user. Nothing lives in an account we control. When we're done, you remove us and nothing breaks.

Questions people ask first

Can you fix it without changing our site?

Often, yes. Most tracking fixes live in GTM. If a site change is needed, we'll tell you exactly what and why.

We use a different booking tool.

If it shows a confirmation, we can almost always track it. Tell us on the scoping call.

Is this GDPR-safe?

Consent comes first. We set things up so tags respect each visitor's choice, and we test that they do.

Do you manage our ads too?

No. We make sure the data your ads rely on is right. Your ads person will thank us.

Stop guessing which ads work.

Book a Tracking Audit

Not ready to talk?

Scan your site free →

Before you go

Is your tracking actually working?

Paste your URL. We check whether GTM, GA4, Meta Pixel and Consent Mode are on the page, and whether Google can read it without JavaScript. The results come by email.

Free. We only read what any visitor's browser can see.