Your Facebook Ads Stopped Spending. Here's Where to Look.

TroubleshootingMeta Ads · Pakistan
Updated16 October 2026
Read time8 minutes
BySolutionByz, Lahore

Your campaign is on, the budget is set, and nothing is happening. Either Ads Manager says Not delivering, or it says Active and the spend column sits at zero. These are two different problems with two different answers — and in Pakistan the most common cause is not your targeting, your creative, or anything to do with the algorithm. It is your card.

Below are eleven causes in roughly the order they turn out to be the answer, what to check for each, and three things people do in a panic that make it worse.

First, Which Problem Do You Have?

Open Ads Manager, set the date range to Today, and look at the Delivery column and the Amount Spent column together. Three combinations, three different places to look.

Not delivering Meta already knows why The status is a link. Click or hover it and Meta states the reason in plain language — payment, audience, schedule, review. Go to causes 1–5
Active · ₨0 spent It can't win auctions Nothing is technically wrong, so Meta reports it as fine. The bid, the audience size or the budget is the blocker. Go to causes 6–9
Active · underspending It's throttled, not stopped Spending a fraction of the daily budget. Usually a cost or bid cap, a narrow audience, or your own ad sets competing. Go to causes 6, 9, 10

Checking both columns before you change anything saves most of the guesswork.

The Eleven Causes

Your payment method failed

In Pakistan this is the single most common reason ads stop, and it almost never announces itself usefully. Meta tries to charge, the bank declines, delivery halts within hours.

How to checkBilling & Payments. Look for an unpaid balance, a red card warning, or a failed transaction in the payment history.
How to fixSettle the outstanding amount, then confirm the card works for international and online transactions — see the box below.

You hit an ad account spending limit

A cap somebody set months ago on the whole ad account. The moment total spend reaches it, every campaign stops at once — and the account looks perfectly healthy otherwise. If everything died on the same day for no reason, check this before anything else.

How to checkBilling & Payments → Account spending limit. Compare the limit to lifetime spend on the account.
How to fixRaise it or remove it. Delivery normally resumes within an hour, no edits to campaigns needed.

The schedule ran out

An end date that passed, a lifetime budget that finished, or a start date still in the future. The status reads Completed or Scheduled rather than Not delivering, which is easy to skim past.

How to checkAd set level → Budget & Schedule. Also check dayparting, if you set hours.
How to fixExtend or remove the end date. For a finished lifetime budget, duplicate the ad set rather than editing the spent one.

The ad is in review, or was rejected

New ads wait for review, and editing a live ad sends it back into review. Rejections often sit quietly at ad level while the campaign above still says Active.

How to checkSwitch to the Ads tab, not Campaigns. Rejected ads show there with the policy reason attached.
How to fixFix the flagged element and resubmit, or request a review if you think it is wrong. Don't edit repeatedly while waiting.

Something above it is switched off

The hierarchy is campaign → ad set → ad, and an off switch at any level stops everything below it. A live ad inside a paused ad set still shows its own toggle as on.

How to checkRemove all filters, including the default "Active" one, and look at all three levels.
How to fixSwitch on from the top down, campaign first.

Your bid or cost cap is too low to compete

The classic cause of Active-but-zero-spend. With a bid cap or cost cap set below what the auction is actually clearing at, your ad simply never wins — and that is not an error, so nothing is flagged.

How to checkAd set → Optimisation & Delivery. Is there a bid cap, cost cap or ROAS floor set?
How to fixRaise it in steps, or switch to Highest volume for a few days to find out what the real clearing cost is.

The audience is too small

Usually from stacking: a narrow city radius, plus age limits, plus three layers of detailed targeting, plus an exclusion list. Each filter looks reasonable alone. Together they leave almost nobody.

How to checkThe estimated audience size meter at ad set level, and any "Audience too small" notice.
How to fixStrip the detailed targeting back to nothing and widen the geography. Meta's delivery system finds buyers inside a broad audience better than your filters do.

The budget is too small for the event you chose

Optimising for purchases or conversions on a very small daily budget gives the system too few events to work from. It will often spend little rather than spend badly.

How to checkWhat is the ad set optimising for, and what does one of those events currently cost you?
How to fixEither raise the budget, or optimise for an earlier event — landing page views or conversations instead of purchases — until there is enough volume.

Learning limited

Meta needs roughly 50 optimisation events per ad set per week to leave the learning phase. Below that, the ad set stays in Learning limited and delivery is held back.

How to checkThe Delivery column shows Learning limited explicitly.
How to fixConsolidate. Fewer ad sets with bigger budgets beats eight small ones all stuck in learning.

Your own ad sets are bidding against each other

Two or three ad sets aimed at overlapping audiences means you are in your own auction, pushing your own costs up and your own delivery down.

How to checkAre two live ad sets targeting the same city, same age band, similar interests?
How to fixMerge them, or exclude each from the other. One ad set per genuinely distinct audience.

An account, page or asset restriction

Least common, most alarming. The ad account, the Facebook page or the Business Manager itself is restricted, so nothing will deliver regardless of campaign settings.

How to checkAccount Quality in Business Manager. It lists restrictions on every asset and the reason.
How to fixAppeal from that screen. Do not create a second ad account to get around it — that tends to get both restricted.
The Pakistan payment problem

Meta bills in USD, so every charge on a Pakistani card is an international transaction. That is where most of these failures come from, and none of them are a problem with your campaign:

  • International transactions are switched off on the card by default at several banks — you enable it in the banking app, often with a validity window that expires.
  • Online or e-commerce use is disabled separately from international use. Both have to be on.
  • 3D-Secure OTP not completing, usually because the registered mobile number is out of date.
  • A per-transaction or monthly international limit that is lower than Meta's charge.
  • Insufficient balance at the moment Meta retried — the charge comes when a billing threshold is reached, not on a fixed date, so it can land on an awkward day.

If ads stop at roughly the same point every month, it is almost certainly this rather than anything you changed.

Three Things That Make It Worse

✕

Deleting and rebuilding

You throw away everything the ad set had learned and restart the learning phase from zero. Almost never the right first move.

✕

Editing again and again

Significant edits push the ad back into review and can reset learning. Change one thing, then wait — give it 24 hours before touching it again.

✕

Tripling the budget

A large sudden budget increase destabilises delivery on an ad set that is already struggling. If you must raise it, go up in steps of roughly 20%.

What to Do, In Order

First 2 min
Read the Delivery status properlyNot the campaign toggle — the Delivery column, at ad level, with filters cleared. If it says Not delivering, click it. Meta usually tells you the answer outright.
Next 5 min
Open Billing & PaymentsUnpaid balance, failed charge, or account spending limit reached. Causes 1 and 2 account for most sudden stops in Pakistan.
Next 10 min
Check schedule, review status and the on switchesEnd dates, rejected ads on the Ads tab, and whether the campaign or ad set above is paused.
If still ₨0
Look at bid caps and audience sizeRemove any bid or cost cap, strip detailed targeting, widen the geography. Change one of these, not all three.
Then wait
Give it 24 hours before the next changeDelivery decisions are not instant. Changing something every two hours guarantees you never find out which change worked.
After 24h
Check Account QualityIf nothing above explains it and spend is still zero, look for an asset-level restriction on the ad account, page or Business Manager.
A related trap worth ruling out

Ads delivering normally but no enquiries arriving is a different fault entirely, and it is the one we see most often in audits — leads sitting in Meta's Leads Centre with nobody collecting them, or a WhatsApp number nobody checks. If spend looks healthy and the phone is quiet, start with the seven places leads get lost instead.

Campaigns run from your own ad account
Reporting on enquiries, not reach
Published PKR pricing
Based in Johar Town, Lahore

Still Showing Zero After All That?

Send us a screenshot of your Ads Manager with the Delivery and Amount Spent columns visible. We'll tell you which of the eleven it is — and if it's a five-minute billing fix, we'll just say so.

💬 Send a screenshot on WhatsApp Book a free account review

No obligation · No pitch if nothing is wrong · Replies in Pakistan working hours

Frequently Asked Questions

Why do my Facebook ads say "Not delivering"?

"Not delivering" means Meta has identified a specific blocker, and the status itself is clickable — it states the reason. The most common are a failed payment or unpaid balance, an ad account spending limit that has been reached, a schedule that has ended, an ad still in review or rejected, or an audience that is too small to deliver to.

Why are my Facebook ads active but not spending any money?

If the status is Active and spend is zero, nothing is technically broken — your ad just isn't winning auctions. The usual causes are a bid cap or cost cap set below the real clearing price, an audience narrowed by too many layered filters, a daily budget too small for the optimisation event you chose, or an ad set stuck in Learning limited.

Why do Facebook ads stop running in Pakistan specifically?

Because Meta bills in USD, every charge on a Pakistani card is an international transaction. Cards commonly have international or online transactions disabled, a per-transaction limit below Meta's charge, or an expired mobile number blocking the 3D-Secure OTP. If your ads stop at roughly the same point each month, the payment method is the first place to look.

How long does it take for ads to start delivering after I fix the problem?

Usually within a few hours for a billing or spending-limit fix. An ad resubmitted for review typically clears within 24 hours. After any significant edit, allow a full day before judging the result or changing anything else.

Should I delete the campaign and start again?

No, not as a first step. Deleting discards everything the ad set has learned and restarts the learning phase from zero. Almost every cause on this list is fixed without rebuilding — work through billing, spending limit, schedule and review status first.

What does Learning limited mean?

Meta needs roughly 50 optimisation events per ad set per week to exit the learning phase. Below that threshold the ad set stays in Learning limited and delivery is held back. The fix is consolidation: fewer ad sets with larger budgets, rather than many small ones all short of the threshold.

Related Reading

If the ads are delivering but the enquiries aren't arriving: the seven places your leads get lost. If you're setting campaigns up from scratch: how to run Facebook ads that actually sell and what a lead actually costs in Pakistan.

Changes coming to ad accounts this month: the 28 and 30 October Meta updates. On working with an agency: what Meta Ads management costs and the Meta Ads service.