ClickCatalyst
Back to Placement Leakage Audit
Authority Layer · 7 metrics · 4 data sources

Inside the Placement Leakage Engine

Every metric in your Placement Leakage audit traces back to three distinct placement data sources. This page documents the aggregation logic, cost estimation methodology, network segmentation breakdown, and exclusion candidate thresholds.

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 — PMax Placements

google_ads_pmax_placement_performance

Placement URLs, types, display names, impressions, and ad_network_type for PMax campaigns

Google Ads API — Standard Placements

google_ads_standard_placement_performance

Placement URLs, types, display names, impressions for Standard Display campaigns

Google Ads API — Video Placements

google_ads_video_placement_detail

YouTube placement URLs, impressions, video_views, cost for engagement analysis

Google Ads API — Campaign Performance

google_ads_campaign_performance

Account-level cost and impressions for CPM proxy calculation

01

Mobile App Impression Percentage

The single number that quantifies junk placement exposure

Aggregated from three separate placement tables — PMax, Standard, and Video — using UNION ALL to prevent double-counting. Each table contributes impressions with placement_type classification. The mobile app percentage is the ratio of MOBILE_APPLICATION impressions to total impressions across all three sources.

⚠️

Why this matters: Mobile app placements in Google's Display network are dominated by games, idle apps, and utility apps where clicks are accidental and purchase intent is zero. Above 50% means the majority of your Display/Video inventory is junk — the algorithm routes there because CPMs are cheap, not because users convert.

💡

In plain English: We count every impression your ads received, then calculate what percentage appeared inside mobile apps. The higher this number, the more of your ad budget goes to places where nobody is shopping — they're playing games or tapping accidentally.

< 30%Manageable — individual exclusions sufficient
30–60%Significant — review app categories
> 60%Critical — category-level app exclusions needed
02

Source Split (PMax vs Standard vs Video)

Which campaign type is driving junk placements?

Three separate SUM(impressions) queries — one per source table — presented as a comparison. PMax impressions come from pmax_placement_performance, Standard from standard_placement_performance, Video from video_placement_detail. This reveals whether junk placements originate from PMax (no manual control) or Standard campaigns (where you can set placement targeting).

⚠️

Why this matters: If PMax drives 80% of junk placements, your only option is account-level exclusions — campaign-level placement controls don't work for PMax. If Standard campaigns also leak, the fix is different: switch to managed placements (opt-in only) in those campaigns.

💡

In plain English: We show how many impressions came from PMax, how many from Standard Display, and how many from Video campaigns. This tells you which campaign type is responsible for junk placements — and whether you have control over the fix or need account-level changes.

PMax > 70%No campaign-level control — account exclusions only
Standard significantFixable — switch to managed placements
03

Exclusion Candidate Detection

How we identify placements to block

All placements from PMax and Standard sources with impressions above 500, aggregated by placement URL. Every entry in the exclusion list had zero conversions in the reporting period. The display_name is derived from COALESCE(display_name, placement) to show human-readable names where available.

⚠️

Why this matters: The 500-impression threshold prevents noise — a placement with 50 impressions isn't worth the exclusion effort. Above 500, the placement has received meaningful visibility and still produced zero conversion signal. The exclusion list is the operational output of the entire audit.

💡

In plain English: We find every app, website, and YouTube channel where your ads appeared more than 500 times with zero conversions. These are the specific placements to copy into your Google Ads exclusion list — each one you add immediately stops waste.

> 5,000 impHigh-volume junk — exclude immediately
500–5,000Moderate — exclude in batch
04

Network Segmentation

Breaking down placements by Google's ad network type

From pmax_placement_performance using the ad_network_type field (Google's new network segmentation reporting). Each placement row is classified by which Google network served it: DISPLAY, YOUTUBE_WATCH, CONTENT, or SEARCH. Crossed with placement_type to reveal which network-type combinations drive the most junk.

⚠️

Why this matters: DISPLAY network + Mobile App is the highest-risk combination across all Google Ads accounts. YouTube Watch + YouTube Channel generates brand impressions without conversion signal. Knowing the network lets you apply the right type of exclusion — app category exclusions for Display, topic exclusions for YouTube.

💡

In plain English: Google now tells us WHICH network each placement was on — Display, YouTube, Content, or Search. We cross this with the placement type (mobile app, website, YouTube channel) to show exactly which network-type combinations generate the most junk inventory.

DISPLAY + AppHighest junk concentration
YOUTUBE_WATCHBrand exposure without conversion
CONTENTWebsite placements — quality varies
05

Placement Cost Estimation (CPM Proxy)

Turning junk impressions into a dollar figure

PMax placement tables don't report cost per placement. We estimate cost using the account's average CPM (cost per thousand impressions from campaign_performance) multiplied by each placement's impression count. For Video placements that DO report actual cost and view data, we use real figures and calculate view_rate as an engagement quality signal.

⚠️

Why this matters: Without a dollar figure, placement waste feels abstract — '50,000 junk impressions' doesn't motivate action. Translating to '$150 estimated cost' makes the waste tangible and creates urgency for exclusion.

💡

In plain English: PMax doesn't tell you how much each individual placement cost. So we calculate your average cost per 1,000 impressions across the account, then multiply by each placement's impression count. For YouTube, we have actual cost data and can also show what percentage of people actually watched the ad.

LOW ENGAGEMENT< 20% view rate — impressions ignored by users
MODERATE20–40% — monitor engagement quality
OK> 40% — users engaging with ad
06

App vs Other Placement Trend

Is the algorithm routing more budget to apps over time?

Daily PMax app impressions vs non-app impressions from pmax_placement_performance, split by placement_type = MOBILE_APPLICATION. A widening gap means the algorithm is progressively choosing app inventory because CPMs are lower — it interprets cheap impressions as efficient spending.

⚠️

Why this matters: Without exclusions, this trend only accelerates. The algorithm learns that app inventory is cheap and accessible, routes more budget there, gets more cheap impressions, and the cycle deepens. The trend line shows whether the problem is stable or actively growing.

💡

In plain English: We plot two lines over time: impressions on mobile apps vs impressions on everything else. If the app line is growing faster, the algorithm is choosing more junk inventory each day — the problem is getting worse, not better.

Widening gapAlgorithm accelerating into junk — exclude now
StableConsistent ratio — manageable
NarrowingExclusions working — maintaining
07

Placement Health Score

The structural verdict on your placement hygiene

All placements from PMax and Standard sources classified into three buckets based on placement_type: EXCLUDE (Mobile Apps — consistently junk), REVIEW (YouTube Channels/Videos — may have value), OK (Websites — generally acceptable). The distribution across buckets reveals whether the fix is surgical (a few bad apps) or structural (category-level changes needed).

⚠️

Why this matters: If EXCLUDE exceeds one-third of all placements, individual exclusions can't keep pace with the volume. You need category-level mobile app exclusions, topic exclusions, and potentially a rethink of which campaign types serve on Display network.

💡

In plain English: We classify every placement into three groups: definitely exclude (mobile apps), maybe exclude (YouTube — depends on the channel), and probably fine (websites). The proportion tells you whether this is a quick cleanup or a structural overhaul.

EXCLUDE < 20%Clean — surgical exclusions sufficient
EXCLUDE 20–33%Moderate — batch exclusions needed
EXCLUDE > 33%Structural — category-level changes required

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.

Placement Leakage Methodology — How ClickCatalyst Detects Junk Placements, App Waste & Network Segmentation