Meta ads not delivering fixes

Meta Ads Not Delivering? 12 Common Issues and How to Fix Them

Meta Ads Not Delivering? 12 Common Issues and How to Fix Them

Meta ads can feel like a black box: spend goes out, results don’t come back, and the platform’s explanations are vague. This guide covers the twelve causes we see most often in account audits — and the fix for each.

1. Stuck in the Learning Phase

Meta needs ~50 optimization events per ad set per week to exit learning. If you’re under that:

  • Consolidate. Fewer ad sets with bigger budgets beat ten tiny ad sets. One ad set at $100/day learns; ten at $10/day never do.
  • Simplify events. Optimize for a higher-funnel event (AddToCart, InitiateCheckout) temporarily if Purchase volume is too low — then move back down-funnel when volume allows.
  • Stop editing. Significant edits — budget changes, targeting, bid strategy, optimization event, creative swaps, or pausing 7+ days — can restart learning. Many media buyers use >20% budget change as a practical rule of thumb, though Meta publishes no fixed percentage. Make changes in batches, then wait about a week before judging results — Meta’s official guidance is to wait a week after edits.

“Learning Limited” isn’t a death sentence, but it means the algorithm can’t do its job — fix the structure first.

2. Audience Too Narrow (or Overlapping)

  • Stacking five interest audiences of 50k people each with $200/day budgets = audience fragmentation. Broaden: use larger audiences or Advantage+ audience and let the system find buyers.
  • Audience overlap: multiple ad sets targeting the same people bid against each other. Check for overlapping audiences and consolidate.

3. Budget Too Low for the Objective

Your budget has to buy enough optimization events. A common agency rule of thumb: budget ~7–10x your target CPA per day while testing. A $50 CPA target on $30/day will never stabilize.

4. Creative Fatigue

If performance decayed over weeks while nothing else changed, your audience has seen the same ads too long. Practitioners commonly watch for frequency creeping above ~3 alongside falling CTR and rising CPM — Meta doesn’t publish an official fatigue threshold.

  • As a best practice, many advertisers refresh creative every 2–4 weeks on warm/broad audiences.
  • Test new hooks first — the first 3 seconds (video) or headline (image) matter more than anything else.
  • In our experience, UGC-style creative consistently outperforms polished brand assets on Meta in most niches we manage.

5. The Pixel/CAPI Isn’t Sending Good Data

Meta optimizes on the events it receives. If your Pixel is misfiring or you have no CAPI:

  • Verify events in Events Manager → Test Events.
  • Implement the Conversions API with proper event_id deduplication.
  • Raise Event Match Quality by sending more customer parameters (email, phone, name).

Bad data in = bad optimization out. This is the root cause behind a huge share of “Meta stopped working” complaints.

6. Attribution Settings Mislead You

Meta defaults to 7-day click + 1-day view. If you compare against a last-click analytics tool, the numbers will never match — and neither is “wrong,” they just measure differently. Also note: iOS 14.5+ opted-out traffic has limited attribution windows regardless. Judge performance on blended business metrics (total revenue vs. total spend), not platform ROAS alone.

7. Domain Not Verified / iOS Data Gaps

If you get meaningful traffic from iOS devices, verify your domain (Business Settings → Brand safety and suitability → Domains) and make sure your Pixel + Conversions API send a clean, deduped event set. (Note: Meta removed the old 8-event Aggregated Events ranking in 2025 — AEM now runs automatically, so there’s no event list to prioritize; keep Pixel/CAPI data clean instead.)

8. Advantage+ vs. Manual: Wrong Tool for the Job

  • Advantage+ sales campaigns work brilliantly with good creative volume and conversion history — and terribly with one ad and no data.
  • Manual sales campaigns give control for testing new angles, audiences, and offers.
  • Don’t run both targeting the same audience simultaneously without exclusions — they’ll cannibalize each other.

9. Landing Page Disconnect

Meta traffic is interruption traffic — people weren’t searching for you. Your landing page needs to convert cold visitors fast:

  • Headline matches the ad’s promise exactly.
  • Loads in under 3 seconds on mobile.
  • One clear CTA above the fold.
  • Social proof visible immediately.

We see accounts “fix Meta” by fixing the page more often than you’d expect.

10. Account Restrictions or Policy Flags

Check Account Quality (business.facebook.com → Account Quality) regularly. Rejected ads, restricted ad accounts, or domain flags silently throttle delivery. Common triggers: before/after images, personal attributes in copy (“Are you a struggling mom?”), and misleading claims. Fix or appeal — don’t just duplicate the ad and hope.

11. Bidding Against Yourself Across Campaigns

Multiple campaigns optimizing for Purchase to overlapping broad audiences = internal auction competition, driving up your own CPMs. Structure accounts so campaigns have distinct roles (prospecting vs. retargeting) with proper exclusions.

12. Seasonality, Competition & Auction Pressure

CPMs rise during Q4, major sales events, and election cycles. If performance dropped suddenly across the board with no account changes, check whether auction prices moved. Sometimes the answer is creative that converts better at higher CPMs — or shifting budget to less competitive periods.

The 30-Minute Meta Audit

  1. Delivery column: any ad sets “Learning Limited”? → consolidate.
  2. Events Manager: Test Events firing correctly? Match Quality at our 7+ benchmark?
  3. Breakdown by age/gender/placement: any segment eating spend with zero conversions? → exclude or adjust.
  4. Frequency over 3 with decaying CTR? → refresh creative.
  5. Account Quality: any flags?
  6. Compare Meta-reported vs. backend revenue for the last 14 days — is the gap stable or growing?

FAQ

Why are my Meta ads not spending?

Usually: too-narrow audience, bid cap/budget too low, ad rejections, or account restrictions. Check delivery status and Account Quality first.

How long does the Meta learning phase take?

Until the ad set gets ~50 optimization events in 7 days. With sufficient budget and a consolidated structure, this typically happens within about a week.

Should I use Advantage+ audience or manual targeting?

With good creative and conversion history, Advantage+ usually wins. For testing new angles or niche B2B, manual interest/behavior targeting still has a place. Test both, keep the winner.

Why did my Meta ads suddenly stop working?

Check in order: account restrictions, creative fatigue (frequency/CTR trends), tracking breakage (did the Pixel/CAPI stop sending?), and external auction pressure (seasonality).

Is the Meta Pixel dead?

No — but the Pixel alone is incomplete. Pair it with the Conversions API for the data completeness Meta’s algorithm needs.


Meta Ads troubleshooting is what we do daily. Israr Ads manages Meta and Google Ads for e-commerce and lead-gen brands, with tracking infrastructure built to survive iOS updates and ad blockers.

Meta Conversions API setup guide

Meta Conversions API Setup: The Complete Guide for 2026

Meta Conversions API Setup: The Complete Guide for 2026

The Meta Pixel alone no longer captures the full picture. Between iOS restrictions, ad blockers, and browser cookie limits, agencies and vendors typically report that browser-only tracking misses 20–30% of conversions (Meta has never published an official loss rate) — treat this as an estimate, not a Meta stat — and Meta’s algorithm optimizes on whatever incomplete data it gets.

The Meta Conversions API (CAPI) fixes this by sending events from your server directly to Meta. Here’s how to set it up properly.

What the Conversions API Is (and Isn’t)

CAPI is a server-to-server connection between your infrastructure and Meta. When someone purchases on your site, your server tells Meta directly — no browser involved.

It is not a replacement for the Pixel. Meta’s official recommendation, and ours, is to run both:

  • The Pixel captures browser-side context and works instantly.
  • CAPI captures what the browser misses (ad blockers, iOS restrictions, script failures).

Meta deduplicates the two streams so you don’t double-count — but only if you set it up correctly (more on that below).

Why CAPI Matters More Every Year

  • iOS 14.5+: opted-out users generate limited browser data; CAPI recovers server-observed events.
  • Ad blockers: the Pixel never fires for these users; your server still sees the purchase.
  • Event Match Quality: Meta scores how well your events match to user profiles. Higher scores = better attribution = better optimization. CAPI with good customer data dramatically lifts this score.
  • iOS measurement: with iOS traffic, browser data is limited — CAPI helps you make each event count. (Note: Meta’s Aggregated Event Measurement now processes eligible web events automatically — no manual configuration needed.)

What You Need Before You Start

  1. A Meta Pixel installed and firing (CAPI builds on it, doesn’t replace it).
  2. A verified domain in Business Settings (no longer required for event configuration — Meta removed the AEM event-configuration requirement — but still recommended for link ownership, brand-safety controls, and other features).
  3. Access to your server or a server-side tagging setup (GTM server container, or a partner integration).
  4. Customer data you can legally share — email, phone, name, address, all hashed with SHA-256 before sending. Never send plain-text PII.

Setup Method 1: Partner Integration (Easiest)

If you run Shopify, WooCommerce, or similar, Meta offers native integrations:

  • Shopify: Facebook & Instagram app → Settings → Data sharing settings → enable Conversions API (choose “Maximum” data sharing).
  • WooCommerce: install the Meta for WooCommerce plugin and connect it to Meta via the onboarding flow — Conversions API is enabled automatically on connection (no separate toggle), and deduplication is handled via a unique event ID.

This takes minutes and handles deduplication automatically. The trade-off: less control over exactly which events and parameters get sent.

Setup Method 2: GTM Server-Side (Most Control)

For custom sites or agencies managing multiple clients, a GTM server container is the professional route:

  1. Provision a server container and connect a first-party subdomain (see our server-side tracking guide).
  2. Add the Meta Conversions API tag (use the official Meta tag template from the community gallery).
  3. Configure it with your Pixel ID and access token (generate the token in Events Manager → Settings).
  4. Map your data layer events (PageView, ViewContent, AddToCart, InitiateCheckout, Purchase) to CAPI events.
  5. Include user data parameters: email, phone, first/last name, city, country, zip — hashed automatically by the tag template.
  6. Set the same event_id in both your web Pixel events and server CAPI events. This is the deduplication key — skip it and you’ll double-count everything.

Setup Method 3: Direct API Integration

For engineering teams: POST events directly to graph.facebook.com/v<version>/<pixel_id>/events with your access token. Full control, but you’re responsible for hashing, deduplication, error handling, and keeping up with API version changes. Most businesses don’t need this.

Deduplication: The Critical Detail

When the same Purchase arrives via Pixel and CAPI, Meta needs to recognize it as one event. The mechanism:

  • Send an identical event_id (a unique string per event occurrence, e.g. the order ID + event name) in both the browser and server payloads.
  • Send the same event_name in both.

Meta deduplicates when the same event_id + event_name pair is received within 48 hours of the first event with that event_id — so it’s not just minor timing differences; CAPI events arriving hours later still dedupe. Verify in Events Manager: if your Purchase count roughly doubles after enabling CAPI, deduplication is broken.

Testing Your Implementation

  1. Meta Test Events tool (Events Manager → Test Events): trigger events on your site and watch them arrive — it shows whether each came from browser, server, or both, and flags missing parameters.
  2. GTM server preview mode: inspect exactly what your server container sends before it reaches Meta.
  3. Event Match Quality score: found in Events Manager per event. Meta publishes no official target, but our benchmark is 7+/10 on Purchase. It improves as you send more (and better) customer data parameters.
  4. Compare counts: server + browser deduplicated Purchase count should roughly match your backend order count.

Troubleshooting Common CAPI Problems

  • Event Match Quality stuck low: you’re not sending enough customer data. Add phone numbers, names, and addresses — not just email.
  • Double-counted conversions: event_id mismatch between Pixel and CAPI. Audit both payloads.
  • Events not arriving: expired access token (they don’t last forever — regenerate and update), wrong Pixel ID, or server container errors.
  • “No recent activity” in Events Manager: check that your server container is actually receiving web events first — the problem is usually upstream of Meta.
  • iOS purchases still underreported: verify your domain and make sure Pixel + CAPI send a clean, deduped event set. (Meta removed the old 8-event Aggregated Events ranking in 2025 — AEM now runs automatically.) CAPI helps but doesn’t override Apple’s limits.

FAQ

Is the Conversions API free?

Yes — Meta doesn’t charge for CAPI itself. Your costs are hosting (for server-side setups) and implementation time.

Do I still need the Meta Pixel if I use CAPI?

Yes. Run both. The Pixel provides browser context and redundancy; CAPI provides reliability. Meta designed them to work together.

What is a good Event Match Quality score?

Meta scores events out of 10 but publishes no official target. Our benchmark: aim for 7+ on your key events (especially Purchase); below 5 usually means you’re sending too little customer data.

How long do CAPI access tokens last?

They don’t expire on a fixed schedule, but they can be invalidated. If events suddenly stop, regenerating the token is a standard first troubleshooting step.

Can CAPI track iOS 14.5+ users who opted out?

It recovers server-observed events for opted-out users within Apple’s limits, but attribution is still constrained (limited windows). It’s a major improvement, not a full restoration.


Setting up CAPI correctly — deduplication, match quality, testing — is exactly what we do. Israr Ads implements Meta Conversions API and full server-side tracking for brands that need their data to be right. right.