Your Google Ads Stopped Showing: A Diagnostic Order of Operations
Work the failure from the outside in: account status, then budget and bid, then targeting, then the auction itself. Skip no step.
The short version
- Diagnose from the outside in: account and billing, then campaign eligibility, then ad and keyword status, then the auction. Stop at the first real break.
- An account suspension or failed payment stops all serving while every status column still reads normal, so never trust 'Eligible' as proof of serving.
- Ad schedule and location targeting fail silently when you check from inside their own bounds; confirm them explicitly.
- Use Change history filtered to the drop date before touching bids; most sudden blackouts trace to a specific recent edit.
- If everything is eligible, read Search lost IS (rank) versus (budget) to tell an auction loss from a throttle, and test a 15 to 20 percent bid bump only when rank is the cause.
When your ads stop showing, check failures in order of blast radius: account and billing status first, then campaign-level eligibility (budget, schedule, policy), then ad and keyword status, then whether you are actually losing the auction. The reason for the order is that an upstream block makes every downstream check lie to you, so diagnosing bid or Quality Score while your account is suspended just wastes an afternoon. Start at the top and stop at the first thing that is actually broken.
Start at the account, because a suspension masks everything below it
The single fastest way to burn an hour is to open the keyword table while the real problem is a declined card. If billing fails or the account is suspended, Google stops serving every campaign at once, but the campaigns themselves still display their normal status, their bids, and their keywords as if nothing is wrong. The reporting layer and the serving layer are not the same system. Status columns describe configuration; serving describes whether money and policy let that configuration run.
Check three things before anything else. Go to Billing > Summary and confirm there is no failed payment or past-due balance. Check the account-level notification bar at the top of the UI for a suspension or policy banner. Then look at whether impressions went to zero across all campaigns on the same day or dropped only in one. An account-wide cliff on a single date points upstream (billing, suspension, a payment method change). A gradual decline or a single-campaign drop points downstream and tells you to keep going.
The failure mode here: people see 'Eligible' next to their ads and assume serving is fine. Eligible means the ad passed review and could show. It says nothing about whether the account is allowed to spend today.
Campaign eligibility: budget exhausted, schedule, and targeting
Once the account is clear, move to the campaign. Budget is the most common culprit and the most misread. A campaign that is 'Limited by budget' is still serving, just not all the time; a campaign whose daily budget is set to zero or whose shared budget is exhausted early will go dark for the rest of the day. Check Campaigns > the Budget column and the Status column together. 'Eligible (Limited)' is throttling. A campaign that stopped entirely usually has a paused state, an ended date, or an ad schedule that excludes the current hour.
Ad schedule and location targeting are the quiet killers. If someone narrowed the schedule to business hours or tightened the location radius, your ads are genuinely ineligible outside those bounds, and everything will look healthy when you check during your own working hours from your own office IP. Confirm the schedule under the campaign's Schedule settings and the geo under Locations. Also check the campaign start and end dates, which are easy to set during a seasonal push and forget.
One more campaign-level block: bid strategy. If you switched to a Target CPA or Target ROAS that is far below what the auction clears at, Smart Bidding will simply stop entering auctions it predicts it cannot win profitably. That looks exactly like 'no impressions' but it is the bid strategy doing its job. Loosen the target or check the bid strategy status for a 'learning' or 'limited' note.
Ad and keyword status: disapprovals and the negative keyword trap
Now go granular. Open the ad group and look at the ad status. A disapproved ad does not serve, and if every ad in a group is disapproved, that group is dark even though the keywords look fine. Hover the status to read the specific policy. Under a responsive search ad, a single disapproved asset will not stop the ad, but a missing-headlines or all-assets-disapproved state will.
Then check the keywords. A keyword marked 'Low search volume' is inactive until volume returns; nothing you do fixes it short of waiting or choosing a broader term. A keyword with no recent impressions may simply be outranked, which is an auction problem, not a status problem. But the trap that catches experienced managers is the negative keyword that quietly blocks a term you want. Negatives apply at the ad group, campaign, and shared-list level, and a broad-match negative like 'free' will block any query containing that token. A single overbroad negative added months ago can suppress a whole theme of traffic.
To find it, run the term you expect to trigger on through the Ad Preview and Diagnosis tool (Tools > Planning > Ad Preview and Diagnosis). It tells you precisely why an ad is not showing for that query, including when a negative keyword is the reason. This is also where tooling like QueryCut earns its place: it reviews your search terms in bulk and flags both the junk you should add as negatives and the negatives that are over-blocking, which is the harder half to catch by eye.
The auction: you are eligible but losing
If you reach this point and everything reads 'Eligible,' the answer is usually that you are entering auctions and losing them. Ad Rank is your bid multiplied by Quality Score components and expected impact of assets, measured against a rank threshold that moves with the query, the competition, and the user context. Your ad can be perfectly configured and still fall below the threshold, which means zero impressions with zero errors anywhere in the UI.
Read this from the auction insights and the impression share metrics. Add 'Search impression share,' 'Search lost IS (budget),' and 'Search lost IS (rank)' as columns. Lost IS to rank tells you the market has moved: either competitors raised bids or your Quality Score slipped. The decision rule: if lost IS to rank climbed while your bids held steady, your relative position eroded, so test a bid increase of 15 to 20 percent on the affected keywords and watch impression share over the next few days. If a bump of that size moves nothing, the gap is probably Quality Score or a threshold you cannot buy past, and you are better off improving ad relevance and landing page experience than bidding harder.
Honest limit: Google does not expose the actual rank threshold, your competitors' bids, or the real-time inputs to each auction. You are inferring from lagged, aggregated metrics. Impression share figures can also read oddly on very low-volume keywords, where a handful of auctions swings the percentage. Below roughly 100 impressions in the window, treat the number as a hint, not a verdict.
When the obvious fix is the wrong one
The reflex when ads go dark is to raise the budget or the bid. That is correct only after you have ruled out everything above it. Raising the budget on a campaign that is actually blocked by an ad schedule does nothing but set you up to overspend the moment the schedule opens. Raising bids on a campaign that lost impressions to a disapproval spends more on the wrong keywords while the real problem sits untouched.
The second common mistake is treating a recent change as innocent because 'nothing changed.' Something almost always changed. Check Tools > Change history, filter to the dates your impressions dropped, and read every edit. A bid strategy swap, a budget edit, a new shared negative list, or a location narrowing will all appear here with a timestamp and the user who made it. In shared accounts this is frequently where the whole mystery resolves in thirty seconds.
Questions people also ask
My ads show for me but not in reality. What is happening?
Searching your own keywords in a live browser inflates competitor impressions, can trigger your own geo or schedule, and never reflects the full auction. Use Ad Preview and Diagnosis instead, which simulates a query without charging you and reports exactly why an ad is or is not eligible to show for that term.
How long should I wait after a bid or budget change before concluding ads still are not showing?
Give most changes a few hours to propagate and a full day to show meaningful impression data. Smart Bidding changes can take longer because the strategy re-enters a short learning state. If impressions are still zero after 24 to 48 hours, the change did not address the real block and you should go back up the diagnostic order.
A keyword says 'Eligible' but gets no impressions. Why?
Eligible means it passed review, not that it is winning auctions. The usual causes are low search volume, a negative keyword blocking the matching queries, or losing to rank. Check search volume, run the expected query through Ad Preview and Diagnosis, and look at Search lost IS (rank) to separate the three.
Can a negative keyword block more traffic than I intended?
Yes, and it is one of the most overlooked causes of lost volume. A broad-match negative blocks any query containing that token, and negatives on shared lists apply across many campaigns at once. A single term like 'cheap' added to a shared list can suppress a whole theme of searches, so audit your negatives and shared lists when traffic drops without a status error.