The short version

An ad that is active and getting no impressions is failing at one of five points. Check them in this order, because they get progressively more expensive to investigate:

  1. It is not actually eligible — schedule, review status, or a parent object is paused.
  2. Billing or account status is blocking delivery.
  3. The audience is too small or too constrained to serve.
  4. The bid or budget cannot win the auction.
  5. It is competing against your own other ads.

1. Check eligibility first

This catches more cases than people expect.

  • Is the campaign or ad set paused while the ad itself is active? Delivery requires every level to be on.
  • Is the schedule set to a window that has not started, or has ended?
  • Is the ad still in review, or was it rejected without anyone noticing?
  • Is the start date in the future?

These cost seconds to check and explain a meaningful share of "not delivering" reports.

2. Check billing and account status

A declined payment method, a hit spending limit, or an account-level restriction stops delivery without changing the ad's status to anything alarming.

Account spending limits are a common silent cause: the limit is reached, everything stops, and the ads still look active.

3. Check audience size and constraints

An audience can be too small to serve, but more often it is over-constrained rather than genuinely tiny — several narrow conditions stacked together.

Common compounding constraints:

  • A narrow geography combined with a narrow age range.
  • Multiple interest conditions applied as AND rather than OR.
  • Exclusions that overlap most of the included audience.
  • A placement selection so restrictive that little inventory qualifies.

Remove constraints one at a time rather than rebuilding, so you learn which one was binding.

4. Check whether you can win the auction

If everything above is fine, you may simply not be competitive.

  • A manual bid set below the going rate wins nothing. This is the intended behavior of a bid cap, not a fault.
  • A cost cap or target that is unrealistic for the audience produces the same outcome: the system would rather serve nothing than exceed the constraint.
  • A very small budget in an expensive auction may not clear the minimum needed to serve meaningfully.

The test is to loosen the constraint temporarily. If delivery starts immediately, the constraint was binding.

5. Check whether you are competing with yourself

Multiple campaigns targeting the same people means your own ads suppress each other. The symptom is one campaign delivering well while a near-identical one gets nothing.

Consolidation fixes this. Adding budget to the starved campaign usually does not.

What not to do

  • Do not immediately raise the bid. It is the fourth thing to check, not the first, and raising it hides cheaper problems.
  • Do not duplicate the ad set hoping the copy delivers. You now have two objects competing and one more thing to diagnose.
  • Do not judge delivery in the first hours. Ramp-up is normal.

Practical rule

Work upward from the cheapest check. Eligibility and billing account for most cases, and they take a minute to rule out. Bidding is the last thing to touch, not the first.

Related reading

Automate marketing in less than 2 minutes