ClickCatalyst
Back to Conversion Quality Audit
Authority Layer · 8 metrics · 7 data sources

Inside the Conversion Quality Engine

Every metric in your Conversion Quality audit is sourced from documented BigQuery queries. This page explains how we calculate modeled conversion percentages, attribution drift, deduplication risk ratios, and signal health scores — with exact thresholds for every status label.

Data Sources

read-only OAuth · no campaign changes ever

All data is read via Google Ads API and GA4. Derived intelligence tables are pre-computed in our pipeline before your audit runs.

Google Ads API — Campaign Performance

google_ads_campaign_performance

Click, view-through, cross-device, all_conversions per campaign per day

Google Ads API — Ads Conversions

google_ads_ads_conversions

Conversion action names, categories, click vs all split, external source

Google Ads API — Keywords Conversions

google_ads_keywords_conversions

Conversion lag buckets per keyword for lag distribution analysis

Google Ads API — Hourly Pacing

google_ads_campaign_pacing_hourly

Device-level conversion quality (CVR, CPA by device)

Google Ads API — Search Terms

google_ads_search_terms_historical

Top converting terms with click-attributed conversions and CPA

GA4 — Ecommerce Funnel

ga4_ecommerce_funnel

Sessions, product views, cart adds, checkouts, purchases for funnel comparison

Derived Intelligence — Signal Health

signal_health_intelligence_daily

Pre-calculated drift, signal score, and signal status per campaign

01

Modeled Conversion Percentage

How much of your reported data is estimated, not observed

The share of all_conversions that are NOT click-attributed, sourced from google_ads_campaign_performance. This includes view-through, cross-device, and statistically modeled conversions. The algorithm treats every type equally when making bid decisions — it cannot distinguish hard evidence from Google's statistical estimates.

⚠️

Why this matters: A 40% modeled rate means nearly half the data the algorithm learns from is guesswork. Your ROAS and CPA numbers are inflated by these estimates. If you're making bid changes based on modeled data, you're optimizing a mirage.

💡

In plain English: We count conversions the user actually clicked for (real) and conversions Google estimated using models (estimated). The percentage tells you how much of your data is real vs guessed. Below 30% = trustworthy. Above 40% = the numbers are unreliable.

≤ 30%Clean — mostly click-attributed data
30–40%Declining — modeled data is significant
> 40%Unreliable — algorithm training on estimates
02

Attribution Drift Scatter Plot

Visual proof of where Ads and GA4 disagree

From signal_health_intelligence_daily: each campaign plotted with GA4 conversions (X-axis) vs Ads conversions (Y-axis). Points on the diagonal are perfectly aligned. Points above over-report in Ads. The scatter uses signal_status for color coding and campaign_name for labels.

⚠️

Why this matters: A table of drift percentages is abstract. The scatter plot makes the problem visceral — you can see which campaigns are outliers at a glance. The further a point is from the diagonal, the more the algorithm is bidding on phantom conversions for that campaign.

💡

In plain English: Each dot is one campaign. If the dot sits on the diagonal line, Ads and GA4 agree. If it's above the line, Ads is over-counting. The further from the line, the worse the tracking problem. Color tells you the severity: green = fine, amber = investigate, red = critical.

On diagonalPerfect alignment between platforms
Above lineAds over-reporting — phantom conversions
Below lineGA4 over-reporting — less dangerous
03

Conversion Type Stacked Bar

Click vs view-through vs modeled per campaign

From google_ads_campaign_performance: three layers per campaign bar — click_conversions (blue), view_through (amber), modeled_conversions (red). The stack visually reveals which campaigns are inflated by soft attribution. Campaigns with large non-blue segments are optimized on impression exposure rather than purchase actions.

⚠️

Why this matters: Display and Video campaigns naturally generate more view-through volume than Search. If a Search campaign has 30%+ view-through, something is wrong with tag configuration. The stacked bar catches this immediately because the colors tell the story.

💡

In plain English: Each bar is one campaign, split into three colors: blue (user clicked then bought), amber (user saw ad but didn't click), red (Google estimated). The more blue, the better. If amber or red dominate, that campaign's numbers are inflated.

Click > 70%Strong direct attribution
VT > 30%Optimizing on impressions, not clicks
Modeled > 50%Majority estimated — unreliable
04

View-Through Inflation Risk

Campaigns where impression exposure is counted as performance

Campaigns where view_through_conversions exceed 30% of all_conversions. VT conversions credit a campaign when a user saw (but didn't click) an ad before converting through another channel. Display and Video campaigns naturally generate more VT — Search campaigns should not.

⚠️

Why this matters: PMax and Display campaigns serve across YouTube, Gmail, and mobile apps — generating massive impression volume with low click rates. If VT conversions feed bidding strategy, the algorithm optimizes for cheap impressions rather than purchase intent.

💡

In plain English: We flag campaigns where more than 30% of conversions came from users who saw your ad but never clicked. The algorithm counts these equally with clicks — but the user never chose to interact with your ad. That's a very different signal quality.

VT < 10%Minimal inflation — mostly click-driven
VT 10–30%Some inflation — monitor
VT > 30%Impression-optimized — review bidding strategy
05

Deduplication Risk (Inflation Ratio)

Is the same conversion counted multiple times?

Per conversion action from google_ads_ads_conversions: all_conversions divided by click_conversions. A ratio of 1.0 means every conversion is unique. A ratio above 2.0 means each real conversion is counted at least twice — typically from duplicate tags firing in both GTM and hard-coded snippets.

⚠️

Why this matters: Duplicate conversions double the signal the algorithm uses to bid. If a purchase fires twice, the algorithm thinks the campaign converts 2x better than it does — and bids 2x more aggressively. This is the most expensive tracking bug possible.

💡

In plain English: We divide total conversions by click conversions for each tracking action. If the ratio is 2.0, each real conversion is being counted twice. Usually this means the same tag fires from two places (Google Tag Manager AND a hard-coded snippet on the page).

≤ 1.3Normal — expected VT/XD margin
1.3–2.0Suspicious — audit tag containers
> 2.0Likely duplicate tags — urgent fix
06

Conversion Lag Distribution

How long after a click does a conversion happen?

From google_ads_keywords_conversions grouped by conversion_lag_bucket. Shows how conversions distribute across time windows: same day, 1 day, 2–3 days, up to 30+ days. Long-tail lag means some 'waste' terms may convert later — the attribution window may be too short for your product's consideration cycle.

⚠️

Why this matters: If your attribution window is 7 days but 20% of conversions arrive after day 7, you're systematically under-counting. This makes waste calculations pessimistic and good keywords look worse than they are. High-consideration products (B2B, luxury) almost always have longer lag.

💡

In plain English: We show how long users take to buy after clicking your ad. If most buy the same day, your data is reliable. If significant purchases happen 7+ days later, any analysis using a short time window is missing conversions — and may flag good keywords as waste.

Same day > 80%Short cycle — short attribution windows are fine
7+ days > 20%Long consideration — extend attribution window to 30d
07

GA4 Funnel vs Ads Conversions

Where exactly does the tracking gap open?

Six funnel steps from GA4 ecommerce data (ga4_ecommerce_funnel) compared against Ads conversions: Sessions → Product Views → Add to Cart → Checkout → GA4 Purchases → Ads Conversions. If Ads Conversions exceeds GA4 Purchases, the algorithm credits conversions your analytics can't verify.

⚠️

Why this matters: This is the most intuitive visualization in the audit. A non-technical founder can see at a glance: 'My analytics says 200 purchases, but Google Ads claims 300 conversions — where did the extra 100 come from?' The answer is modeled attribution.

💡

In plain English: We build an ecommerce funnel: visitors → product views → add to cart → checkout → GA4 purchases → Ads conversions. If the Ads number is bigger than the GA4 purchases number, Google is claiming credit for conversions your own analytics doesn't see.

Ads ≤ GA4Aligned — Ads claims less than GA4 confirms
Ads > GA4Phantom gap — Ads over-claims vs analytics
08

Signal Health Recommendations

Prioritized fix list per campaign

Each non-HEALTHY campaign from signal_health_intelligence_daily receives a specific recommendation based on its signal_status. CRITICAL_BLIND campaigns get 'URGENT: Fix conversion tracking'. WARNING_DRIFT gets 'Audit GA4 ↔ Ads tag alignment'. LOW_VOLUME gets 'Increase conversion volume or consolidate'.

⚠️

Why this matters: Generic advice like 'fix your tracking' isn't actionable. This table gives campaign-specific recommendations ranked by severity — a prioritized task list that tells the operator exactly what to do for each campaign, in what order.

💡

In plain English: We look at every campaign that has a tracking problem and give it a specific fix instruction. The worst problems are listed first. Work top-down — each fix makes the algorithm smarter for every campaign, not just the one you fixed.

URGENTFix before any other optimization work
AUDITInvestigate tag alignment this week
CONSOLIDATEMerge low-volume into higher-volume campaigns

Proprietary notice: The methodology, scoring models, waste classification logic, and recovery projections are proprietary to ClickCatalyst Digital and provided for informational purposes only. Results are subject to standard market volatility. Recovery projections are estimates, not guarantees. Contact us within 14 days if any metric appears inaccurate.

Conversion Quality Methodology — How ClickCatalyst Measures Modeled vs Real Conversions