ClickCatalyst
Back to AI Max Signal Audit
Authority Layer · 12 metrics · 15 data sources

Inside the AI Max Signal Engine

Every metric in your AI Max Signal audit is derived from a documented formula and a specific BigQuery table. This page explains the exact calculation logic, thresholds, and data sources — so you know precisely what each number means before acting on it.

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 conversions, cost, revenue, and all_conversions per campaign per day

Google Ads API — Search Terms

google_ads_search_terms_historical

Search term match types, cost, conversions for machine vs human trust score calculation

Google Ads API — Ads

google_ads_ads

Ad-level performance with added_by_google_ads flag for creative trust score

Google Ads API — AI Max Combinations

google_ads_ai_max_combinations

Search term + AI-generated headline pairs with impressions and CPA

Google Ads API — AI Max Landing Pages

google_ads_ai_max_landing_pages

Dynamic landing page routing with CPA and ROAS per page

Google Ads API — Ad Groups

google_ads_ad_groups

Target CPA settings and disable_search_term_matching flags

Google Ads API — Ads Conversions

google_ads_ads_conversions

Conversion action names, categories, click vs modeled split per action

Google Ads API — Audience Performance

google_ads_audience_performance

Audience list spend, CPA, and signal quality per segment

Derived Intelligence — Signal Health

signal_health_intelligence_daily

Pre-calculated attribution drift, signal_health_score, and signal_status per campaign

Derived Intelligence — Campaign Maturity

campaign_maturity_daily

Learning stage, readiness score, marginal ROAS, volatility per campaign

Derived Intelligence — Campaign Intelligence

campaign_intelligence_daily

Pacing score, budget forecasts, recommended actions per campaign

Derived Intelligence — Waste Management

waste_management_intelligence_daily

Pre-classified waste categories, subcategories, recovery potential, and priority action list

Derived Intelligence — Search Terms

search_terms_intelligence_daily

Match quality scores and demand type classification for harvesting vs expansion analysis

Derived Intelligence — Geographic

geographic_intelligence_daily

Market classification, location scores, and geographic recommendations

Derived Intelligence — Temporal

temporal_intelligence_daily

Peak hour analysis, hourly consistency, and temporal recommendations

01

Signal Health Score

The single number that tells you if your conversion data is trustworthy

A composite 0–100 score per campaign from the signal_health_intelligence_daily table. It combines attribution drift (how far Ads and GA4 disagree), conversion density (conversions per click), and signal status classification. The account-level KPI averages this across all campaigns weighted equally.

⚠️

Why this matters: Smart Bidding treats every conversion signal as equally reliable. If 40% of your campaigns have corrupted signal, the algorithm makes 40% of its bid decisions on data it shouldn't trust — and the damage spreads to healthy campaigns through shared audience models.

💡

In plain English: We compare what Google Ads reports as conversions against what GA4 independently confirms. The bigger the gap, the lower the score. Below 60 means the algorithm is making decisions on data it shouldn't trust.

80–100Clean signal — Safe for automated bidding
60–79Moderate drift — Audit conversion tags
< 60Unreliable — Fix tracking before changing bids
02

Attribution Drift

The percentage gap between what Google Ads claims and what GA4 confirms

Calculated from signal_health_intelligence_daily by comparing ads_conversions_30d against ga4_conversions_30d at the campaign level. The absolute value of the difference is divided by the larger of the two numbers to normalize across campaign sizes. The signal_status field is pre-classified in the pipeline.

⚠️

Why this matters: A 30% drift means for every 10 conversions Ads claims, GA4 only sees 7. The bidding algorithm uses the Ads number — so it thinks this campaign converts 43% more often than it actually does, and bids accordingly.

💡

In plain English: We take the conversion count from Google Ads and the conversion count from GA4, calculate the percentage difference, and classify each campaign as HEALTHY (under 15%), WARNING (15–40%), or CRITICAL (over 40%).

HEALTHY< 15% — Ads and GA4 agree
WARNING15–40% — Investigate tag setup
CRITICAL> 40% — Algorithm bidding on phantom data
03

Conversion Signal Composition

Breaking total conversions into click, view-through, cross-device, and modeled

Four UNION ALL queries against google_ads_campaign_performance summing conversions, view_through_conversions, cross_device_conversions, and the remainder as Modeled/Other. The click-attributed slice is the only segment the algorithm can directly verify — everything else is an estimate.

⚠️

Why this matters: If view-through and modeled conversions make up 50%+ of your total, your ROAS and CPA numbers are significantly more optimistic than reality. The algorithm optimizes on all conversion types equally — it cannot distinguish hard evidence from statistical inference.

💡

In plain English: We count four types of conversions separately: users who clicked then bought (strongest signal), users who saw your ad but didn't click (weaker), users who clicked on their phone but bought on desktop (modeled), and everything else Google estimates. The bigger your click-attributed slice, the more trustworthy your data.

ClickHardest signal — user clicked your ad
View-ThroughUser saw ad, didn't click, converted later
ModeledAlgorithmically estimated — least reliable
04

Training Data Pollution (Modeled %)

How much of each campaign's data is estimated rather than observed

Per campaign from google_ads_campaign_performance: the share of all_conversions that are not click-attributed. Campaigns exceeding 50% are classified as HIGH POLLUTION — the bidding algorithm is learning from statistical inference rather than observed behavior.

⚠️

Why this matters: When the algorithm trains on polluted data, it learns wrong patterns — bidding aggressively on audiences that appear to convert but only do so in Google's model, not in reality. Each polluted campaign doesn't just waste its own budget; it corrupts shared audience signals across the account.

💡

In plain English: We calculate what percentage of each campaign's conversions are estimated by Google rather than directly observed from a click. Above 50% means the campaign is teaching the algorithm more fiction than fact.

CLEAN≤ 30% modeled — trustworthy signal
MODERATE30–50% — declining reliability
HIGH> 50% — algorithm learning from estimates
05

Algorithm Maturity Stages

Where each campaign sits in the learning lifecycle

From campaign_maturity_daily using the latest calculation_date. Each campaign is classified into CALIBRATION (establishing baselines), EXPLORATION (testing audiences), EXPLOITATION (performing efficiently), or DEGRADATION (declining performance). The spend distribution across stages reveals account-level readiness.

⚠️

Why this matters: Campaigns in EXPLOITATION are ready to scale — budget increases produce predictable returns. Campaigns in EXPLORATION are burning money to learn. Campaigns in DEGRADATION are actively getting worse. Knowing the distribution tells you whether to invest, hold, or restructure.

💡

In plain English: Each campaign is placed into one of four stages based on how much conversion data it has accumulated versus how much it needs. Think of it like a student: Calibration = first week of school, Exploration = studying, Exploitation = acing exams, Degradation = performance slipping.

CALIBRATIONBrand new — learning basic signals
EXPLORATIONActive testing — partially unstable
EXPLOITATIONReady to scale — lowest risk
DEGRADATIONPerformance declining — needs intervention
06

Machine vs Human Trust Score

The definitive CPA comparison between AI expansion and manual control

From google_ads_search_terms_historical, splitting all traffic by search_term_match_type: EXACT/PHRASE = Human Control, BROAD/AUTO/SMART_MATCH = Machine Control. Brand terms are excluded from both buckets using a keyword filter to ensure a fair comparison. CPA is calculated per bucket.

⚠️

Why this matters: This is the clearest answer to 'should I trust the algorithm?'. If machine-controlled CPA is 2x higher than human-controlled, the algorithm is finding volume at a premium that may not be justified. If they're equal or machine wins, the algorithm earns its expansion.

💡

In plain English: We split all your search traffic into two groups: keywords you chose (exact and phrase match) vs keywords Google chose (broad and auto match). We remove brand terms from both groups so neither has an unfair advantage. Then we compare CPA. Higher AI CPA = the algorithm is over-expanding into low-intent queries.

AI CPA < HumanAlgorithm outperforming — trust the expansion
AI CPA = HumanNeutral — algorithm adds volume at same cost
AI CPA > HumanOver-expanding — tighten match types
07

Creative Trust Score (AI vs Manual Copy)

Should you leave Automatically Created Assets turned on?

From google_ads_ads, splitting by added_by_google_ads flag: TRUE = Machine Generated Copy, FALSE = Human Written Copy. Compares ROAS, CPA, CTR, and CVR between the two groups. This directly answers whether Google's auto-created headlines and descriptions outperform yours.

⚠️

Why this matters: Google enables Automatically Created Assets by default in many campaign types. If your manual copy outperforms AI copy, leaving ACA on actively degrades performance — the algorithm serves worse ads because it has the option to.

💡

In plain English: We separate ads Google wrote automatically from ads you wrote manually, then compare conversion rates and ROAS. If your manual ads win, you should turn off auto-created assets and control your own messaging.

Manual > AIYour copy wins — disable ACA
AI > ManualAI copy wins — let it run
08

Waste Exposure by Category

Classifying the AI's failures into actionable buckets

From waste_management_intelligence_daily using the latest calculation_date. Waste is pre-classified into categories (QUERY, EXPLORATION, CREATIVE, TEMPORAL, GEOGRAPHIC) and subcategories. Each category requires a completely different fix — query waste needs negative keywords, exploration waste needs tighter targeting, creative waste needs asset refresh.

⚠️

Why this matters: Knowing the total waste is useless without knowing the type. A $10,000 waste figure could be 80% query waste (fixable in 10 minutes with negatives) or 80% exploration waste (requires structural campaign changes over weeks). The category determines the fix path and timeline.

💡

In plain English: We group all wasted spend into categories based on WHY it was wasted: bad search terms, algorithm exploration that didn't pay off, weak creative assets, wrong time of day, or wrong geography. Each category has a different fix — this tells you which fix to start with.

QUERYBad search terms — fix with negatives
EXPLORATIONAlgorithm learning — tighten targeting
CREATIVEWeak assets — refresh creatives
09

Override Action Checklist

The highest-ROI feature — sorted hit-list of immediate fixes

From waste_management_intelligence_daily filtered to action_priority ≤ 3 (Priority 1, 2, and 3 = immediate action required). Each row is a specific entity (search term, campaign, ad) with the entity_type, waste_subcategory as the issue, exact wasted_spend amount, and the recommended_action to take.

⚠️

Why this matters: This is not a chart or a score — it's an operational task list. Each row is something you can do right now in Google Ads to recover specific dollars. Working top-down through this list is the single highest-ROI activity available in the audit.

💡

In plain English: We rank every wasteful search term, campaign, and ad by how much money it's losing, and give you the exact action to take for each one. Start from the top — each fix takes 2–5 minutes, and the cumulative savings add up fast.

Priority 1Do today — highest dollar impact
Priority 2Do this week — significant waste
Priority 3Do this month — moderate waste
10

Demand Harvesting vs Expansion

Is the AI finding new customers or capturing existing demand?

From search_terms_intelligence_daily, splitting by match_type and match_quality_score. EXACT match with 100% quality = Core/Brand Harvesting (user searched for exactly what you targeted). BROAD/AUTO = Generic/New Demand Expansion. PHRASE = Mixed.

⚠️

Why this matters: An account that's 90% harvesting looks efficient (low CPA, high ROAS) but isn't growing. The algorithm captures people who already know your brand. True growth comes from the expansion slice — finding users who didn't know you yet.

💡

In plain English: We classify your conversions into two buckets: people who were already looking for you (harvesting) and people the algorithm found who weren't (expansion). If harvesting dominates, your account is efficient but not growing — you're paying Google to intercept traffic you already own.

Harvesting > 80%Not finding new customers — growth problem
Expansion > 30%Healthy discovery — real growth happening
11

Campaign Readiness Scores

Which campaigns are safe to scale and which need protection

From campaign_maturity_daily: readiness_score (0–100) based on accumulated conversions vs the MVS (Minimum Viable Spend) target. Campaigns in EXPLOITATION with high readiness are green-lit for scaling. Early-stage campaigns with low readiness need budget protection — cutting them wastes the learning investment.

⚠️

Why this matters: Scaling a campaign that hasn't accumulated enough data is like stepping on the gas before the engine warms up. You'll spend more but the algorithm can't optimize efficiently. Readiness score tells you exactly when it's safe to push budget.

💡

In plain English: Each campaign gets a score based on how many conversions it has accumulated versus how many it statistically needs to bid confidently. High score = safe to give more budget. Low score = let it learn, don't cut it yet.

READYSafe to scale — enough data for reliable bidding
NEAR READYAlmost there — hold budget steady
EARLYStill learning — do not cut budget
12

Pacing & Volatility Matrix

Is the algorithm spending smoothly or in erratic bursts?

Joins campaign_intelligence_daily (pacing data) with campaign_maturity_daily (volatility metric). Pacing score measures whether the campaign is on track for its monthly budget. Volatility measures how erratically daily spend oscillates. High volatility + overpacing = the algorithm is burning through budget in unpredictable bursts.

⚠️

Why this matters: Erratic pacing makes performance unpredictable and planning impossible. The algorithm alternates between aggressive bidding and pulling back, which means your daily CPA swings wildly. Stable pacing is a prerequisite for reliable scaling.

💡

In plain English: We check whether each campaign is spending its budget smoothly throughout the month (good pacing) or burning through it in unpredictable bursts (bad volatility). High volatility means you can't trust yesterday's CPA to predict tomorrow's.

Low volatilityStable daily spend — predictable
High volatilityErratic spend bursts — unpredictable

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.

AI Max Signal Methodology — How ClickCatalyst Calculates Signal Health, Trust Scores & Overrides