Integrity Monitor

Every click you pay for should reach your data. This tells you when they don't — and fixes it.

The Problem: Your Ad Budget Is Leaking Into a Measurement Black Hole

You spend $1,000 on Google Ads. Google reports 500 clicks. GA4 shows 350 sessions. Your conversion data in Google Ads looks different again from what GA4 recorded.

This isn't a rounding error. It means Smart Bidding is optimizing on incomplete data, your reported ROAS is wrong, and every budget decision you make is built on a corrupted foundation.

The leaks are rarely visible. A redirect strips the click ID and attribution silently breaks. A cookie consent tool updates and GA4 stops firing — clicks still register, sessions don't. A website redesign removes the GA4 tag from one landing page and you don't notice for three weeks.

The Integrity Monitor runs a three-layer audit the moment you enter your URL:

Layer 1 — Live Site Scan: Fetches your HTML in real time, checks whether GA4 tags are present on your landing page, and tests whether your click ID survives your redirect chain by appending a test parameter and following it through to the destination.

Layer 2 — Google Ads API Probe: Queries your account directly to verify auto-tagging is enabled and GA4 is properly linked — the two account-level settings that, when broken, make click-to-session attribution fail completely.

Layer 3 — BigQuery Data Analysis: Examines your actual traffic and conversion data to quantify click-to-session loss, flag purchase events recording $0 revenue (which silently corrupts ROAS reporting), and surface mismatches between conversion counts in GA4 and Google Ads.

Every finding connects to a specific fix. Two of the most common are resolved with a single button click.

The Signal Chain Visualizer

Your tracking pipeline has three stages. The Integrity Monitor maps each one and measures what falls between them.

Node A: Traffic Source (Ad Clicks)

Total clicks you paid for, pulled directly from the Google Ads API. This is your budget reality — the number you're billed for.

Link A→B: Click-to-Session Match Rate

The percentage of paid clicks that successfully became GA4 sessions. This is the most diagnostic number in the pipeline.

Formula: (GA4 Sessions from Google Ads / Google Ads Clicks) × 100%

Healthy: above 85%. Warning: 70-85%. Critical: below 70%.

The most common cause of A→B loss is a stripped GCLID — Google's Click ID parameter (e.g., ?gclid=xyz123) that tells GA4 which specific ad click created which session. When it's removed by a redirect, a URL rewriter, or a platform's routing logic, click-to-session attribution breaks entirely and Smart Bidding loses the signal it needs to optimize. The scanner tests GCLID survival directly by injecting a test parameter and following your redirect chain — then delivers platform-specific fix guidance if it doesn't make it through.

Other A→B culprits: GA4 tag missing from the landing page HTML, consent management platform blocking the tag before it fires, or page load slow enough that users leave before the tag executes.

Node B: Destination (GA4 Sessions)

Total sessions attributed to Google Ads traffic in GA4 (source=google, medium=cpc). What your analytics platform actually recorded.

Link B→C: Session-to-Conversion Rate

The percentage of sessions that resulted in a tracked conversion. Unlike A→B, this reflects your actual business performance, not a data integrity problem. Industry benchmarks: 2-5% for e-commerce, 10-20% for high-intent B2B. If this number is the issue, the problem is your landing page or offer — not your tracking.

Node C: Measurement (Conversions Tracked)

Conversions recorded in GA4 and imported into Google Ads. The monitor cross-references both: if GA4 shows 41 but Google Ads shows 35, the import pipeline has a gap — and the Repair Console closes it with one click.

The Repair Console

Every diagnosis card connects to a targeted fix. Two require no code, no developer, and no waiting.

Fix 1: Enable Auto-Tagging (One-Click API Fix)

Triggered when: A→B match rate is below 85%, or the GCLID survival test fails on your redirect chain.

What happens: The system calls the Google Ads API directly and force-enables auto-tagging, ensuring the click ID is appended to every ad URL at the source. This resolves roughly 80% of click-to-session attribution failures instantly. If GCLID is still being stripped after this fix, the issue is downstream in your redirect chain — the scanner will have already identified your platform and provided the specific configuration change needed.

Fix 2: Re-Link GA4 to Google Ads (One-Click API Fix)

Triggered when: Conversions appear in GA4 but not in Google Ads — meaning your measurement exists but isn't reaching the platform making your bidding decisions.

What happens: The system calls the Google Ads AccountLinkService API and re-establishes the data sharing connection. Conversion data begins flowing again without touching any code on your site.

Fix 3: Manual Pipeline Verification

Triggered when: The automated diagnosis is inconclusive, or you want to confirm a fix worked end-to-end.

What it does: Opens a sequential checklist — click registered → GCLID present in URL → GA4 session created → conversion event fired → conversion imported to Google Ads. Each stage is verified in order, isolating the precise point where the signal drops.

Fix 4: Verify Tag Installation

Triggered when: A→B match rate is below 70%, suggesting the GA4 tag may not be executing on your landing page at all.

What it does: Opens Google Tag Assistant to confirm the tag is present, firing on the correct events, and transmitting data correctly.

Common Leak Patterns & What the Scanner Finds

Pattern 1: High Clicks, Low Sessions (A→B Leak)

Symptoms: 1,000 clicks, 600 sessions, 60% match rate — Critical.

Business impact: Smart Bidding is seeing 40% fewer conversion signals than your campaigns are actually generating. Your Target CPA or Target ROAS is being calculated on corrupted data.

What the scan checks: GCLID survival through your full redirect chain (the cause in 70% of cases — one-click fix available). GA4 tag presence in your landing page HTML. Consent management platform detection — Cookiebot and OneTrust are identified automatically, with Consent Mode v2 guidance issued if found but not correctly implemented.

Pattern 2: Sessions Match Clicks, But Conversions Are Missing (B→C Leak)

Symptoms: 900 sessions, 0 or near-zero conversions tracked.

Business impact: Google Ads has no conversion signal. Smart Bidding reverts to maximizing clicks with no quality signal — effectively running blind.

What the scan checks: BigQuery analysis of whether any conversion events are firing. Purchase events recording $0 value — a common failure point on WooCommerce and Shopify that silently breaks ROAS reporting, with platform-specific fixes for each. Event name case-sensitivity mismatches between GA4 and Google Ads conversion actions.

Pattern 3: GA4 Shows Conversions, Google Ads Doesn't (Import Leak)

Symptoms: 50 conversions in GA4, 0 in Google Ads.

Business impact: Your campaigns are driving real results that your bidding algorithm cannot see or learn from. Every day this persists, you're training Smart Bidding on silence.

API probe checks: Is GA4 linked to Google Ads? (80% of cases — one-click fix available.) Has the conversion action been deleted in Ads? Permissions revoked?

Pattern 4: Match Rate Was Healthy, Then Suddenly Dropped

Symptoms: 88% last week, 62% this week, no campaign changes made.

A sudden double-digit drop always means something changed on your site or in your account — never gradual ad blocker growth. Most common causes: a website update removed or broke the GA4 tag, a new redirect was added that strips the click ID, or a cookie consent tool update began blocking GA4 before it fires. Run the scan — the three-layer audit identifies which layer changed and surfaces the fix.

Structural Loss vs. Fixable Leaks: Knowing the Difference

Industry-standard click-to-session match rates run 85-95%. The monitor's job is to tell you whether you're within that range, below it due to fixable configuration issues, or losing signal to permanent structural factors that cannot be recovered.

Structural loss — accept it, account for it:

5-10% of users run ad blockers that prevent GA4 from loading. 3-5% bounce in under one second — the click registers in Google Ads but the GA4 tag never executes. 2-3% of mobile users lose connection mid-load. These losses are permanent and universal. The right response is ensuring the other 85-90% of your signal is captured with complete accuracy.

Click-to-Session Match Rate (A→B) — what the benchmarks mean:

85-95%: Clean pipeline. Structural loss only.

75-85%: Within acceptable range, but worth a scan to confirm there's no fixable leak hiding in the noise.

Below 75%: A configuration issue is almost certainly compounding your structural loss. Investigate GCLID stripping or tag presence first.

Conversion Import Match (GA4 vs. Ads):

95-100%: Clean sync.

90-95%: Minor import delay. Conversions take 24-48 hours to flow from GA4 to Ads — this is expected behavior.

Below 90%: The import pipeline is broken. Use the one-click Re-Link fix.

The monitor's 7-day trend view is what makes this distinction actionable. A stable 83% is your baseline — don't chase it. A drop from 88% to 71% overnight means something broke — find it.

When to Act vs. When to Accept

Act immediately if:

Match rate drops more than 10 percentage points in one week — a break occurred, not natural drift

The live GCLID survival test fails — click-to-session attribution is broken at the redirect level

GA4 shows conversions but Google Ads shows zero — Smart Bidding has no signal, every day of delay compounds the damage

BigQuery flags purchase events with $0 revenue — your ROAS data is corrupted

Manual Pipeline Verification fails at any stage

Accept as baseline if:

Match rate is 85-90% and stable week-over-week — that's ad blockers and natural bounces, not a fixable leak

Mobile match rate runs 5-10% lower than desktop — expected behavior across the industry

Display campaigns match lower than Search — more accidental clicks and bot traffic is inherent to the format

The decision framework:

Open the Integrity Monitor and check your 7-day trend

Stable around 83%? The scan will confirm no active leaks — that's your baseline, accept it

Overnight drop to 71%? Run the scan. The three-layer audit will tell you which layer broke

Gradual decline over weeks from 90% to 80%? Your landing page performance is degrading — optimize page speed and re-scan to confirm

Technical FAQ

Q: Why is my click-to-session match rate only 80%?

80% sits at the lower edge of acceptable. A 5-10% loss from ad blockers and fast bounces is structural and permanent — but 20% total loss almost always means a fixable configuration issue is compounding that baseline. Run the Integrity Monitor scan: the GCLID survival test will tell you immediately whether your click ID is being stripped by your redirect chain. If it is, auto-tagging can be enabled with one click. If the GA4 tag is missing from your landing page HTML, the scan flags it with platform-specific installation guidance.

Q: GA4 shows 50 conversions but Google Ads shows 45. Is tracking broken?

Not necessarily — conversions take 24-48 hours to flow from GA4 to Ads, so a small gap on a recent date range is expected. If the discrepancy persists beyond 3 days, run a scan. The API probe checks your GA4-to-Ads link status directly. If it's broken, the Repair Console restores it with one click.

Q: What's GCLID and why does it matter?

GCLID (Google Click ID) is the parameter Google appends to your ad URLs — e.g., ?gclid=xyz123 — that tells GA4 exactly which ad click created which session. Without it, click-to-session attribution fails entirely: Google Ads thinks the traffic is organic, Smart Bidding loses the conversion signal it needs to optimize, and your reported performance becomes unreliable. The Integrity Monitor tests GCLID survival by injecting a test parameter and following your full redirect chain — then delivers platform-specific guidance if it doesn't make it through.

Q: My session-to-conversion rate is 0.8%. Is my tracking broken?

That's your actual conversion rate, not a measurement failure. For Display campaigns, 0.5-2% is typical. For Search campaigns targeting high-intent keywords, below 2% points to a landing page or offer problem. The distinction matters: the Integrity Monitor's BigQuery layer separately flags whether conversion events are firing at all. If they are and the rate is just low, that's a performance problem — not a tracking one.

Q: Can I fix ad blocker data loss?

No — 10-15% of users actively block Google Analytics, and that signal is permanently unrecoverable. The right strategy is ensuring the other 85-90% is captured with complete accuracy: GCLID passing through every redirect, GA4 tag firing correctly, auto-tagging enabled, and your GA4-to-Ads link intact. The Integrity Monitor verifies all of these in a single scan.

Q: Why did my match rate suddenly drop from 90% to 60%?

A drop that sharp is always a break, not drift. The three most common causes: a website update removed or broke the GA4 tag, a new redirect was added that strips the GCLID, or a cookie consent tool update began blocking GA4 before it fires. Run the scan — the three-layer audit identifies which layer changed and surfaces the exact fix. Double-digit drops don't self-resolve.

Q: How often should I check the Integrity Monitor?

Weekly for stable accounts — silent degradation compounds quietly and a weekly scan catches it before it damages Smart Bidding performance. Daily after any website update, landing page change, or new campaign launch. The system auto-alerts if your match rate drops more than 10 percentage points within 24 hours, so acute breaks are caught automatically.

Q: What's the Manual Pipeline Verification feature?

A sequential diagnostic checklist that walks through every stage of your tracking chain: click registered in Google Ads → GCLID present in the landing page URL → GA4 session created → conversion event fired → conversion imported to Google Ads. You verify each stage in order, which isolates the exact point where the signal drops. Use it when the automated diagnosis cards are inconclusive, or to confirm end-to-end that a fix actually worked.

Integrity Monitor | ClickCatalyst