Skip to main content
Audit9 min read

Why Your Facebook Ads Stopped Working

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

J
JadenFounder, Elev8 Operations
200+ contractor accounts managed9 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 rates drop. Your account manager doesn't have a clear answer. Sound familiar?

We've debugged this exact pattern 200+ times across contractor accounts. There are 8 specific causes. The fix depends entirely on which cause you're hitting — running the wrong fix for the wrong cause makes things worse. Below is the diagnostic.

Pattern 1: Creative fatigue (most common cause)

If you're running the same creative for 60+ days, this is almost certainly your problem. 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. If average frequency over the last 7 days is 4.0+, you're in fatigue territory.

Fix for creative fatigue

  • 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, not reactively

Pattern 2: Audience saturation

If you've been running to a 1% Lookalike Audience for 6+ months, you may have reached most of your addressable audience already. Diagnostic: check Reach % in Ads Manager. If you've reached 40%+ of your target audience size, you're saturating. The algorithm is fighting for the remaining 60%, which is harder to convert (the obvious customers were already won).

Fix for audience saturation

  • Expand to 3% Lookalike (broader audience, slightly less precise)
  • Layer in 5% Lookalike or interest-based audiences as separate ad sets
  • Refresh your Custom Audience with newer customer data (rebuild monthly with last-12-months customers)
  • Add a retargeting layer to recapture warm audiences who didn't convert first time

Pattern 3: iOS 14.5+ attribution loss

If you don't have Conversion API installed, you're missing 30-50% of conversion signals due to Apple's privacy changes (iOS 14.5+, ATT prompt). Meta's algorithm optimizes against what it can SEE — and it can't see iOS users who opted out of tracking. Result: Meta delivers leads to the cheapest impressions (worst quality audiences) because it doesn't know your real conversions.

Fix for iOS attribution loss

  • Install Meta's Conversion API (CAPI) — server-side event tracking that bypasses iOS restrictions
  • Use a tool like Stape, Trackify, or Conversions API Gateway to simplify CAPI setup
  • Send all events server-side (PageView, Lead, Purchase) not just client-side via Pixel
  • Verify CAPI is firing correctly using Meta's Events Manager — look for 'Server' as the event source on conversion events

Pattern 4: Seasonality / market shift

Most contractor trades have seasonal demand patterns. Roofing peaks in storm season + Q4 push. HVAC peaks in temperature transitions. Plumbing has Q1 frozen-pipe spikes + Q4 holiday clog spikes. If your performance dropped at the same time of year you're seeing demand soften, the fix isn't 'fix the ads' — it's 'shift creative + offers to match seasonal demand.'

Fix for seasonality

  • 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 to capture early buyers

Pattern 5: Account learning reset

If you made significant changes to your account (new ad set, new audience, big budget increase, paused + restarted), Meta resets the campaign learning phase. CPL spikes 30-50% for 7-14 days while the algorithm re-learns. Most contractors panic and revert changes — making things worse. Diagnostic: did you make any major changes 7-14 days before performance dropped?

Fix for learning reset

  • Hold steady for 14 days — don't make ANY more changes during the relearn phase
  • Watch CPL trend daily; expect it to drop 30-40% from initial spike by day 14
  • If still elevated at day 21, the issue isn't learning reset — diagnose other patterns
  • Going forward: avoid making more than 1 major change per 14-day period

Pattern 6: Account-level issue (rare but devastating)

Sometimes Meta flags your account for review (often for ad-policy violations like 'free' language, financing claims, weight-loss adjacent claims). Account flags suppress ALL your delivery until resolved. Diagnostic: check Account Quality in Business Manager. Look for 'Restrictions' section.

Fix for account-level issues

  • Review Account Quality dashboard for any 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, miracle-cure language
  • Replace any flagged creative with policy-compliant variations

Pattern 7: Landing page or website issue

If your landing page broke, slowed down, or stopped tracking conversions, Meta still serves ads but conversion data dries up. Without conversion signal, Meta delivers to the cheapest impressions (worst audiences) and ROAS collapses. Diagnostic: check landing page load speed at PageSpeed Insights + verify Meta Pixel is firing correctly.

Fix for landing page issues

  • Check page load speed — should be under 2.5 seconds; if 4+ seconds, conversion drops 50-60%
  • Verify Meta Pixel is firing on the landing page using Facebook Pixel Helper extension
  • Test the form submission end-to-end (are leads actually arriving in your CRM?)
  • Check that mobile experience works (60-80% of contractor Meta traffic is mobile)

Pattern 8: Competitor entry / bid pressure

If a major competitor entered your market or significantly increased their Meta budget, auction prices rise. Your CPM goes up; CPL follows. Diagnostic: check the Meta Ad Library for new competitor ads in your trade + zip codes. If a major brand or new competitor launched in the past 30 days, that's likely your cause.

Fix for competitor pressure

  • Differentiate creative — if competitors run generic 'free quote,' you run owner-on-camera + before/afters
  • Lead with proof competitors can't fake (your specific Google rating + review count + years in business)
  • Expand audience to less-saturated segments (older homeowners, different zip codes within service area)
  • Sometimes accept higher CPL — if cost per booked job is still under your target, competitor pressure is fine to absorb

The 5-minute diagnostic flowchart

  • Step 1: Check creative ages. Any over 60 days? → Pattern 1 (creative fatigue)
  • Step 2: Check audience reach %. Over 40%? → Pattern 2 (saturation)
  • Step 3: Is Conversion API installed? → No: Pattern 3 (iOS attribution)
  • Step 4: Is performance drop seasonal? → Pattern 4 (seasonality)
  • Step 5: Did you make major account changes 7-14 days ago? → Pattern 5 (learning reset)
  • Step 6: Check Account Quality. Any restrictions? → Pattern 6 (account flag)
  • Step 7: Test landing page speed + Pixel. Issues? → Pattern 7 (landing page)
  • Step 8: Check Ad Library for new competitors in your zip codes → Pattern 8 (competition)

Most performance drops are Pattern 1 (creative fatigue) or Pattern 3 (iOS attribution loss without Conversion API installed). If you're stumped, fix those two first — they cover ~60% of cases. The other 6 patterns each cover smaller specific situations.

Share
9 min read · Updated 2026-05-10

Frequent Questions. Short Answers.

Most common: creative fatigue (running same creative 60+ days) or iOS attribution loss (Conversion API not installed). Both cause Meta's algorithm to lose conversion signal and deliver to cheap-but-bad impressions. Quick fixes: launch 2-3 new creatives + install Conversion API. Together they fix ~60% of 'sudden drop' cases. The other 6 patterns are more specific (seasonality, audience saturation, account flags, learning reset, landing page issues, competitor pressure).

Depends on the cause. Creative fatigue: 7-14 days after launching fresh creative. iOS attribution: 14-21 days after Conversion API setup. Account-level issue: 7-30 days after appeal resolution. Learning reset: 14 days of patience. Seasonality: until next peak season. Most fixes show clear improvement within 14-21 days; if performance hasn't recovered by day 30, you're either misdiagnosing the cause or stacking multiple problems.

Almost never. Pausing then restarting triggers a learning reset (Pattern 5) which makes things worse. 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.

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 = fatigue. If Reach % is 40%+ AND CPL is rising = saturation. They often happen together.

Three signals: (1) you don't have Conversion API installed; (2) Meta's reported conversions are lower than your CRM-recorded conversions (delta of 30-50% suggests attribution loss); (3) your campaigns optimize toward broad/cheap audiences instead of your real customers. Fix: install Conversion API (CAPI) via Stape, Trackify, or your CRM's native integration. Most contractors see 30-50% performance recovery within 14-21 days of CAPI activation.

Three likely causes: (1) creative fatigue hit a tipping point (was rising slowly, suddenly spiked); (2) major account change triggered learning reset; (3) competitor entered market and bid up auction prices. Diagnose by: checking creative ages, recent account changes, and Meta Ad Library for new competitors in your zip codes. Most overnight CPL doubles are creative-fatigue tipping points — your Frequency was already high, one more day pushed CTR below the algorithm's threshold.

Diagnose first. If performance dropped due to fixable patterns (creative fatigue, iOS attribution, learning reset), fix it — Meta is still profitable for replacement-funnel contractors at 4-6x ROAS. If performance dropped because your trade isn't a fit for Meta (emergency-only services, sub-$500 tickets), then yes, reallocate to Google + LSA. Don't reallocate based on 30 days of bad performance — diagnose the cause first.

Want Us to Do It For You?

Book a free 30-minute strategy call. We'll apply everything in this guide to your business, for free.

Book My Free Strategy Call