Skip to main content

Foundation · build guide

Measurement Repair

Fix conversion tracking across GA4, Google Ads, and Meta before automation touches spend

Path A · Manual extracts Path B · MCP integration Guardrail-first

Measurement Repair is a full audit and rebuild of your conversion tracking across GA4, Google Ads, and Meta. You inventory every conversion event, reconcile counts across platforms, trace the events that disagree, fix deduplication, validate attribution settings, and document everything in an event dictionary that anyone touching the account can check.

It sits in the Foundation category because every automation downstream optimizes toward whatever your conversion data says. If events double-count or silently drop, Smart Bidding and every rule you add will confidently scale the wrong thing. Repair measurement once and each new automation inherits data it can trust; skip it and each new automation amplifies the error.

What it moves: Conversion tracking that Smart Bidding and any rule you automate can optimize toward revenue instead of noise — deduplicated, attribution-validated, and documented event by event.
Path A · Manual

You run the whole repair with platform exports, tag-manager preview tools, and one spreadsheet. It suits a marketer with admin access and a couple of hours a day for two weeks — no engineering help needed beyond publishing tag changes.

Path B · Integrated

The same audit runs as a standing loop: read-scoped API connections feed an agent that reconciles counts daily, traces discrepancies, and stages fixes for your approval. It suits teams whose site changes often enough that tracking breaks between manual audits — and who want the repair to stay repaired.

Prerequisites.

Admin access to Google Tag Manager (or whichever tag manager runs your site)
Admin or editor access to GA4, Google Ads conversion settings, and Meta Events Manager
An agreed definition of what counts as a conversion and what revenue value it carries
A way to fire test conversions without polluting live data (a test payment mode or filtered test events)
New to the stack? Set up your environment first — data access, workspace, integration platforms, and the agent layer are covered once in Environments & tooling. Not sure where the waste is yet? An automated AuditDemand audit ↗ quantifies it before you build.

Build it with manual data extracts.

You run the whole repair with platform exports, tag-manager preview tools, and one spreadsheet. It suits a marketer with admin access and a couple of hours a day for two weeks — no engineering help needed beyond publishing tag changes.

  1. Build the event inventory

    Open GA4's key events list, the Google Ads conversion actions page, and Meta Events Manager, and list every conversion event in one spreadsheet tab. For each event, record where it fires from (GTM tag, hardcoded, imported), its counting method, and the value it carries. This tab becomes your event dictionary — the deliverable everything else feeds.

  2. Export and reconcile counts

    Export the last 30 days of daily conversion counts and values from each platform into separate tabs, then build a reconciliation tab that lines the same event up across sources. Flag any event where platforms disagree by more than a margin you choose, plus anything reporting zero or roughly double what you'd expect.

  3. Trace every flagged event

    Use GTM preview mode and Tag Assistant to fire a test conversion and watch which tags fire, how many times, and with what values; on the Meta side, use the test events tool in Events Manager. Record the failure mode for each flagged event: duplicate fires, missing dedupe keys like transaction ID or event ID, wrong values, or tags installed both hardcoded and in GTM.

  4. Fix one change at a time

    Make each fix in a fresh GTM workspace: add transaction IDs to dedupe purchases, remove double-installed tags, correct counting settings, repair value parameters. Publish one change per version and log it in a change-log tab with the date, what changed, and why — that's what makes any fix reversible.

  5. Validate attribution and primary conversions

    In Google Ads, confirm which conversion actions are primary (used for bidding) versus secondary (observation only), and that Smart Bidding optimizes toward one deduplicated revenue event rather than a mix of overlapping ones. Check GA4-imported versus native-tag conversions so the same purchase isn't counted twice.

  6. Re-reconcile and publish the dictionary

    After a week of clean data, re-run the exports and confirm the platforms now agree within your margin. Finish the event dictionary and put it where anyone building a rule or report will find it. From here, nothing gets automated on an event that isn't in the dictionary.

Cadence: The initial repair takes about two weeks; after that, re-run the export-and-reconcile pass monthly and after any site release or tag change — roughly an hour per cycle.

Integrate it with MCP connections.

The same audit runs as a standing loop: read-scoped API connections feed an agent that reconciles counts daily, traces discrepancies, and stages fixes for your approval. It suits teams whose site changes often enough that tracking breaks between manual audits — and who want the repair to stay repaired.

GA4 — read-only reporting access via the Data API or an MCP server for GA4
Google Ads — read access to conversion actions and stats via the API or an MCP server
Meta — read access to Events Manager and ad account stats via the Marketing API
Google Tag Manager — API access scoped to drafting workspace versions; publishing stays behind human approval
Google Sheets or BigQuery — home for the event dictionary, discrepancy reports, and change log
  1. Grant read access; keep publishing locked

    Connect GA4, the Google Ads API, and the Meta marketing API through MCP servers or direct API credentials, all read-only to start. Add Google Tag Manager API access with permission to create workspace versions but not to publish. Credentials live in your automation platform — n8n, Make, or Claude with MCP servers — never in the spreadsheet.

  2. Let the agent build the live event map

    The agent enumerates every GTM tag and trigger, every Google Ads conversion action, and every GA4 and Meta event, then writes the combined inventory to an event dictionary in Google Sheets or BigQuery. Unlike a manual inventory, this one regenerates on schedule, so the dictionary can't quietly go stale.

  3. Schedule the reconciliation loop

    A daily job pulls conversion counts and values from all three platforms, compares matching events, and flags divergence beyond a threshold you set. Each flag ships as a short discrepancy report with the suspected cause — duplicate tag, missing event ID, value mismatch — and a link to the evidence.

  4. Stage fixes behind an approval gate

    For each confirmed issue, the agent drafts the exact fix as an unpublished GTM workspace version and posts the diff for review. You approve, the agent publishes, and the change log records before and after. Conversion settings inside Google Ads and Meta — counting methods, primary versus secondary, attribution — stay human-only: the agent recommends, you click.

  5. Keep watching for drift

    Once counts agree, the loop keeps running and alerts you the day a release breaks tracking, instead of you finding out from a bad month of Smart Bidding. Alerting is the default action; auto-applied fixes stay off unless you deliberately allow a narrow class of change, and even those remain reversible through GTM version history.

Run it safely.

Google Tag Manager — where most conversion tags live and where every fix is staged and versioned
GA4 — the reporting backbone; its exports anchor the reconciliation
Tag Assistant and GTM preview mode — trace exactly which tags fire on a test conversion
Meta Events Manager — test events and event-ID deduplication on the Meta side
Google Sheets or BigQuery — reconciliation workbook, event dictionary, and change log
n8n, Make, or Claude with MCP servers — runs the scheduled reconciliation loop on the integrated path
  • One change per GTM workspace version, published only after human review — every fix reversible in one click via version history
  • Conversion settings in Google Ads and Meta (counting method, primary/secondary, attribution) are human-only; the agent proposes, never edits
  • Every discrepancy report, staged fix, and publish lands in the change log with before/after values and who approved it
  • The agent never deletes events or tags — deprecated items are paused and documented so history stays intact

Want new build guides as they ship?

Optional — every guide on this site is free either way. Leave your details and we'll email you when new automations join the library, nothing else.

We only email when there's something worth building — every email has a one-click unsubscribe, and you can withdraw consent anytime. Consent requested by Campaign Automation AI, Caledon, Ontario · hello@campaignautomation.ai.

Prefer it built for you?

We stand this automation up as a governed sprint on the stack you already run — scoped, built, and handed over with the guardrails configured. No new platform, no migration.

Start with the Audit → Request proposals →