Skip to main content
Audit7 min read

5 Reasons Your Meta Ads Stopped Working

Were you hitting 5x ROAS and now you're at 2x? The 5 specific patterns we see across 200+ contractor Meta accounts when performance suddenly drops — with the exact diagnostic for each.

J
JadenFounder, Elev8 Operations
200+ contractor accounts managed7 min read · Updated 2026-05-10

Your Meta ads were hitting 5x ROAS for 6 months. Then Tuesday morning, performance falls off a cliff. CPL doubles, close rate drops, account manager has no clear answer. Sound familiar? We've debugged this exact pattern 200+ times across contractor accounts. There are 5 specific causes — fixing the wrong one makes things worse.

Reason 1: Creative Fatigue (Most Common — 40% of Cases)

Same creative running 60+ days. Meta's algorithm rewards creative novelty — same audience seeing the same ad 5+ times stops engaging, CTR drops, CPC rises, ROAS collapses.

Diagnostic

  • Check Frequency in Ads Manager for last 7 days
  • If average frequency is 4.0+: you're in fatigue territory
  • If CTR has dropped 30%+ from your 30-day baseline: confirmed fatigue

Fix

  • Launch 2-3 new creative variations within 7 days
  • Kill the lowest-performing creative in your active set
  • Aim for 2-3 ads in active rotation per ad set, not just 1
  • Schedule creative refreshes every 60-90 days going forward
  • Expected recovery: 14-21 days to baseline ROAS

Reason 2: iOS Attribution Loss (30% of Cases — Often Hidden)

If you don't have Conversion API installed, you're losing 30-50% of conversion signal due to Apple's privacy changes. Meta's algorithm optimizes against what it can see — without CAPI, that's the cheapest impressions (worst audiences). Performance silently degrades over months.

Diagnostic

  • Compare Meta's reported conversions vs your CRM-recorded conversions
  • Delta of 30-50% suggests attribution loss
  • Open Meta Events Manager — check if 'Server' shows as event source
  • If only 'Browser' shows: no CAPI installed

Fix

  • Install Meta's Conversion API via Stape, Trackify, or your CRM's native integration
  • Send ALL events server-side (PageView, Lead, Purchase)
  • Verify 'Server' shows as event source within 24-48 hours
  • Expected recovery: 14-21 days to see 30-50% performance restoration

Reason 3: Audience Saturation (15% of Cases)

Running the same Lookalike Audience for 6+ months may have reached most of your addressable audience already. The algorithm is fighting for the remaining 60%, which is harder to convert.

Diagnostic

  • Check Reach % in Ads Manager — if you've reached 40%+ of target audience size, you're saturating
  • CPL slowly rising over months without creative fatigue signs (Frequency under 4.0)
  • Lookalike Audience based on same seed for 6+ months without rebuild

Fix

  • Expand to 3% Lookalike (broader audience)
  • Layer in 5% Lookalike or interest-based audiences as separate ad sets
  • Refresh Custom Audience with newer customer data (rebuild monthly with last-12-months customers)
  • Add a retargeting layer for warm audiences who didn't convert first time
  • Expected recovery: 7-14 days

Reason 4: Seasonality / Market Shift (10% of Cases)

Most contractor trades have seasonal demand. Roofing peaks in storm season + Q4 push. HVAC has dual peaks. Plumbing spikes Q1 (frozen pipes) + Q4 (holiday clogs). If performance dropped at same time of year you're seeing demand soften, it's seasonality — not the ads.

Diagnostic

  • Compare performance drop date to your trade's seasonal pattern
  • If you're outside peak season (e.g., HVAC May-Oct), expect 20-40% CPL increase as natural drop in demand
  • Check Google Trends for your service in your geo — if interest dropped, demand dropped

Fix

  • Switch creative to seasonally-relevant offers (HVAC: spring tune-up specials in March; furnace pre-buy in October)
  • Reduce ad spend 20-30% during deepest seasonal lulls (don't fight the demand wave)
  • Layer in evergreen services that don't have the same seasonal pattern (maintenance plans, financing offers)
  • Pre-position creative 4-6 weeks BEFORE seasonal demand spikes

Reason 5: Account-Level Issue (5% of Cases — Catastrophic When It Hits)

Sometimes Meta flags your account for review (ad-policy violations like 'free' language, financing claims, weight-loss adjacent content). Account flags suppress ALL your delivery until resolved.

Diagnostic

  • Check Account Quality in Business Manager
  • Look for 'Restrictions' section
  • If account quality score is 'Poor' or specific ads are flagged: you've got an account-level problem

Fix

  • Review the Account Quality dashboard for specific restrictions
  • Submit appeal if restrictions exist (most are reversible if you remove the policy-violating element)
  • Audit recent ads for policy issues: 'free' claims, before/after weight-loss imagery, financing without proper disclaimers
  • Replace any flagged creative with policy-compliant variations
  • Recovery time: 7-30 days after appeal resolution

The 5-Minute Diagnostic Flowchart

  • Step 1: Check creative ages. Any over 60 days? → Reason 1 (creative fatigue)
  • Step 2: Is Conversion API installed? → No: Reason 2 (iOS attribution)
  • Step 3: Check audience reach %. Over 40%? → Reason 3 (saturation)
  • Step 4: Is performance drop seasonal? → Reason 4 (seasonality)
  • Step 5: Check Account Quality. Any restrictions? → Reason 5 (account flag)

Most performance drops are Reason 1 (creative fatigue) or Reason 2 (iOS attribution loss without CAPI installed). Together they cover ~70% of cases. If you're stumped, fix those two first.

Share
7 min read · Updated 2026-05-10

Frequent Questions. Short Answers.

Most common causes ranked: (1) creative fatigue at 60+ days of same creative — 40% of cases; (2) iOS attribution loss without Conversion API installed — 30% of cases; (3) audience saturation after 6+ months on same Lookalike — 15% of cases; (4) seasonality / natural demand drop — 10% of cases; (5) account-level policy issue or flag — 5% of cases. Run the 5-minute diagnostic to identify yours before changing anything.

Depends on the cause. Creative fatigue: 14-21 days after launching fresh creative. iOS attribution: 14-21 days after CAPI installation. Audience saturation: 7-14 days after expanding to wider audiences. Seasonality: until next peak season. Account-level issues: 7-30 days after appeal resolution. If you've made the right fix and 30+ days have passed without recovery, your diagnosis was wrong — re-run the 5-minute diagnostic.

Almost never. Pausing then restarting triggers a learning reset which makes things worse (CPL spikes 30-50% during the 7-14 day relearning phase). Better: leave campaigns running while you diagnose + fix. The exception: if you've identified a major creative or landing page problem, pausing for 24-48 hours to fix is fine. Avoid 7+ day pauses — they require Meta to relearn your audience from scratch.

Creative fatigue: same audience seeing same ad too many times (high frequency, dropping CTR). Fix: launch new creative. Audience saturation: you've reached most of your addressable audience already. Fix: expand to wider Lookalike % or new audiences. Diagnostic: if Frequency is 4.0+ AND CTR is dropping, it's fatigue. If Reach % is 40%+ AND CPL is rising slowly without CTR drop, it's saturation. They often happen together — if both are present, fix creative first (it's faster + cheaper).

Three signals: (1) open Meta Events Manager — your conversion events should show 'Server' or 'Both' as event source (not just 'Browser'); (2) compare Meta-reported conversions vs CRM-recorded conversions — delta should be under 15% (was 30-50% before CAPI); (3) check Event Match Quality score in Events Manager — should be 6.0+ with CAPI properly configured. If any of these are wrong, CAPI is installed but mis-configured — common issues: missing required parameters (email/phone hashed, IP address, user agent), wrong event names, deduplication failures.

Want Us to Do It For You?

Apply in 60 seconds. We'll apply everything in this guide to your business, for free.

Apply Now — It's Free