All controls

Account Structure

30 controls, 2 of them critical.

G05criticalGoogle Ads~10 min to fix

Brand vs Non-Brand separation

Pass
Brand and non-brand in separate campaigns
Fail
Mixed in same campaign
M13criticalMeta Ads

Learning phase status

Pass
<30% of ad sets in "Learning Limited"
Warning
30-50% Learning Limited
Fail
>50% ad sets "Learning Limited"
G03highGoogle Ads

Single theme ad groups

Pass
Each ad group targets 1 keyword theme (≤10 keywords with impressions)
Warning
11-20 keywords with consistent theme
Fail
20+ unrelated keywords (theme drift)
G04highGoogle Ads

Campaign count per objective

Pass
≤5 campaigns per funnel stage/objective (strip geos before counting)
Warning
6-8
Fail
>8 (fragmented)
G07highGoogle Ads

Search + PMax overlap

Pass
Brand exclusions configured in PMax when Search brand campaign exists
Warning
Partial brand exclusions
Fail
No brand exclusions
G08highGoogle Ads

Budget allocation matches priority

Pass
Top performers not budget-limited
Warning
Minor budget constraints
Fail
Severely budget-limited
G11highGoogle Ads~2 min to fix

Geographic targeting accuracy

Pass
"People in" (not "Presence or Interest") for local
Fail
"Presence or Interest" for local business
G12highGoogle Ads~2 min to fix

Network settings

Pass
Search Partners ON; Display Network OFF for Search
Warning
Search Partners OFF
Fail
Display Network ON for Search
M-ST1highMeta Ads

Budget adequacy

Pass
Daily budget ≥5× target CPA per ad set
Warning
Budget 2-5× CPA
Fail
Budget <2× target CPA
M11highMeta Ads

Campaign count

Pass
1-3 campaigns total recommended. Jon Loomer: "One campaign per goal. Rarely need multiple ad sets for targeting"
Warning
4-5 campaigns
Fail
>5 campaigns (over-fragmented)
M12highMeta Ads

CBO vs ABO appropriateness

Pass
CBO for >$500/day; ABO for testing <$100/day
Warning
Mismatched but functional
Fail
CBO on <$100/day OR ABO on >$500/day
M14highMeta Ads

Learning phase resets

Pass
No unnecessary edits during learning phase
Warning
1-2 minor resets
Fail
Frequent resets from edits during learning
M16highMeta Ads

Ad set consolidation

Pass
No overlapping ad sets targeting same audience
Warning
Minor overlap (<20%)
Fail
Significant audience overlap (>30%)
M17highMeta Ads

Budget distribution

Pass
All ad sets getting ≥$10/day
Warning
Some ad sets $5-$10/day
Fail
Ad sets getting <$5/day
M18highMeta Ads

Campaign objective alignment

Pass
Objective matches actual business goal
Fail
Objective mismatched (e.g., Traffic for Sales)
M35highMeta Ads~2 min to fix

Attribution setting

Pass
Attribution windows verified post-Jan 2026 changes (7-day and 28-day view-through windows REMOVED January 2026). 7-day click / 1-day view configured where available
Warning
1-day click only
Fail
Attribution not configured or still expecting removed view-through windows
M36highMeta Ads

Bid strategy appropriateness

Pass
Cost Cap for margin protection; Lowest Cost for volume
Fail
Bid Cap set below historical CPA
M37highMeta Ads

Frequency cap monitoring (campaign)

Pass
Campaign-level prospecting frequency <4.0 (7-day)
Warning
Frequency 4.0-6.0
Fail
Frequency >6.0
G01mediumGoogle Ads

Campaign naming convention

Pass
Consistent pattern (e.g., [Brand]_[Type]_[Geo]_[Target])
Warning
Partially consistent
Fail
No naming convention
G02mediumGoogle Ads

Ad group naming convention

Pass
Matches campaign naming pattern
Warning
Partially consistent
Fail
No naming convention
G06mediumGoogle Ads

PMax present for eligible accounts

Pass
PMax active for accounts with conversion history
Warning
PMax tested but paused
Fail
No PMax tested despite eligibility
G09mediumGoogle Ads

Campaign daily budget vs spend

Pass
No campaigns hitting budget cap before 6PM
Warning
1-2 capped early
Fail
Multiple capped before noon
M-ST2mediumMeta Ads

Budget utilization

Pass
>80% of daily budget being utilized
Warning
60-80% utilization
Fail
<60% utilization
M15mediumMeta Ads

Advantage+ Sales campaign

Pass
Advantage+ Sales (renamed from ASC early 2025) active for e-commerce with catalog. Existing customer budget cap eliminated Feb 2025. Research: 22% higher ROAS, 11.7% CPA improvement
Warning
Advantage+ Sales tested but paused
Fail
Not tested despite eligible catalog
M33mediumMeta Ads

Advantage+ Placements

Pass
Advantage+ Placements enabled (unless exclusion needed)
Warning
Manual placements (justified)
Fail
Manual placements limiting delivery without reason
M34mediumMeta Ads

Placement performance review

Pass
Breakdown reviewed monthly; underperformers excluded
Warning
Reviewed quarterly
Fail
Never reviewed
M38mediumMeta Ads

Breakdown reporting

Pass
Age, gender, placement, platform reviewed monthly
Warning
Reviewed quarterly
Fail
Never reviewed
M39mediumMeta Ads~5 min to fix

UTM parameters

Pass
UTM parameters on all ad URLs for GA4 attribution
Warning
UTMs on some ads
Fail
No UTM parameters
M40mediumMeta Ads

A/B testing active

Pass
At least 1 active A/B test (Experiments)
Warning
Test planned
Fail
No testing infrastructure
G10lowGoogle Ads

Ad schedule configured

Pass
Schedule set if business has operating hours
Fail
No schedule despite clear hours