You launched a Performance Max campaign, checked back two days later, and the spend column reads $0.00. Impressions: zero. Clicks: zero. It feels broken — but in most cases, it is not broken. It is blocked, misconfigured, or simply still learning.
Before you delete the campaign and start over, run this checklist in order — from the most common causes to the rarest — so you find the problem fast instead of guessing.
First: Respect the 48-Hour Rule
Performance Max campaigns go through a learning period after launch and after major changes. During the first 24 to 48 hours, little or no spend is completely normal while Google gathers initial signals.
Do not start this checklist until at least 48 hours have passed since launch or your last significant edit — changing budgets, targets, or asset groups in the first two days only restarts learning.
Step 1: Check Your Account and Billing Status
This sounds obvious, but billing issues are one of the most common reasons a campaign goes dark. Run through these in order:
- Billing: Go to Tools and settings → Billing → Transactions and confirm your payment method is valid. A single declined charge pauses all serving.
- Account status: Go to Tools and settings → Troubleshooting → Policy manager and confirm the account is not suspended — a policy violation can halt delivery silently.
- Campaign status and dates: Go to Campaigns, select the campaign, and confirm it shows Enabled. Then open Settings and check Start and end dates — an end date in the past is a classic cause of zero spend.
- Change history: Go to Campaigns → Change history to see if anyone (or an automated rule or script) paused the campaign, shrank the budget, or edited the dates.
If everything here looks fine, move on. The problem is deeper.
Step 2: Verify Your Conversion Tracking Is Healthy
Performance Max is a conversion-driven campaign type. If it cannot see conversions, Smart Bidding has nothing to optimize toward, and delivery can stall completely — especially if you set a target CPA or target ROAS.
Check each of these:
- Conversion actions exist and are recording: Go to Tools and settings → Measurement → Conversions. Your key conversion actions should show a status of Recording with recent conversion activity. If the status is No recent conversions or Tag inactive, you found a strong suspect.
- The tag actually fires: Use Google Tag Assistant or your analytics debug view to complete a test purchase or form and confirm the event fires. Tags break silently during redesigns, plugin updates, or consent banner changes — our GA4 debugging guide shows how to confirm events are recording correctly.
- Primary vs. secondary: In the Conversions table, check the Include in “Conversions” column. Only actions marked Primary feed Smart Bidding. If your purchase event is set to Secondary (or “Observation”), the algorithm is effectively blind.
- No recent tracking changes: Changing the conversion action, counting method, or attribution model can restart learning and temporarily stall delivery.
The fix when you genuinely have no conversion volume yet: a brand-new business with zero historical conversions and an aggressive target CPA is asking the system to hit a target it has never seen. Consider starting with Maximize Conversions (no target) or Maximize Conversion Value (no target ROAS) until you accumulate enough conversion data, then add targets gradually.
Step 3: Check Budget Against Your Targets (The Feasibility Test)
This is the step most advertisers skip — and it causes more “not spending” cases than anything except tracking issues.
Smart Bidding needs enough daily budget to generate a meaningful number of conversions. As a commonly cited rule of thumb, your daily budget should be at least 10 to 15 times your target CPA. Here is the math:
Suppose your target CPA is $50 and your daily budget is $20. At best, that budget buys 0.4 conversions per day. The system would need weeks to gather enough data for even basic learning — so it barely serves at all.
Work through this checklist:
- Apply the feasibility formula: Daily budget ÷ target CPA = expected conversions per day. If the answer is well under 1, your budget and target are incompatible.
- Loosen the target or raise the budget. Increase the daily budget, or raise target CPA / lower target ROAS to something the budget can achieve. With limited data, start generous and tighten later.
- Check shared budgets: If the campaign uses a shared budget (Tools and settings → Shared library → Shared budgets), another campaign may be consuming all of it. Give the Performance Max campaign its own budget while troubleshooting.
- Watch for extreme targets: A target ROAS of 800% on a campaign with no history tells the system to chase only near-certain conversions — which may be none. Targets should reflect reality, not wishes.
Step 4: Inspect Asset Groups, Final URLs, and Inventory
If the account, tracking, and budget math all check out, the problem may be that the campaign has nothing viable to serve.
Final URL and landing page:
- In the campaign, go to Asset groups and check the Final URL. Visit it yourself: does it load, return a proper page (not a 404), and work on mobile?
- If URL expansion is on, Google may serve other pages on your site — make sure those pages are not broken or blocked.
- The final URL should match what the ads promise. A mismatch does not just hurt conversions; it can suppress delivery.
Assets:
- In each asset group, check you have a healthy mix: multiple headlines and descriptions, images in 1:1, 1.91:1, and 4:5 ratios, and logos. If Ad strength reads Poor or Average, add more quality assets.
- For ecommerce, check Listing groups: the campaign can only serve products in the group. Go to Merchant Center → Products → Diagnostics and fix disapproved products and feed errors — a Shopping-heavy PMax campaign with a broken feed has no inventory to show.
Audience signals guide the system but do not restrict it. Still, a signal built from a tiny customer list plus one narrow custom segment gives the system a poor starting point — broaden the signals or let it explore with minimal guidance.
For a deeper dive into building strong asset groups from the start, see our Performance Max optimization guide.
Step 5: Hunt Down Exclusions That Block Everything
Exclusions meant to protect the campaign can accidentally block all delivery:
- Brand exclusions: In campaign Settings, check Brand exclusions. A brand list applied too broadly — or one that accidentally includes your own domain or common misspellings — can wipe out the search inventory the campaign was counting on.
- Account-level negative keywords: Go to Tools and settings → Shared library → Negative keyword lists. Performance Max honors account-level negative keyword lists. If someone added broad negatives like “free,” “jobs,” or “cheap” at the account level, they may be killing viable intent.
- Location targeting: In campaign Settings → Locations, check that your targeting is not a one-mile radius around a single address, and that excluded locations do not overlap your included ones. Also verify the Presence setting (people in or regularly in your targeted locations) matches your intent.
- Ad schedule: Check that the ad schedule is not pausing the campaign for most of the day.
- Content suitability: Go to Tools and settings → Content suitability. If inventory filters are set to the strictest level, YouTube and Display reach shrink dramatically. Unless brand safety demands it, the default settings are usually fine.
How to Read the Status Column: “Limited by Budget” vs. “Limited by Bid Strategy”
While troubleshooting, the Status column is your best friend. Here is how to read the two labels that matter most:
- Limited by budget: The campaign could get more results with more budget. Fix: raise the daily budget, or lower targets so the current budget goes further.
- Limited by bid strategy: Your current target CPA or target ROAS is throttling volume. The system is deliberately holding back because your target is too aggressive for the available auctions. The fix is to loosen the target (raise target CPA, lower target ROAS) or remove it temporarily.
- Eligible (Learning): The campaign is serving and learning. Leave it alone.
To see these labels, hover over the Status column in Campaigns, and add competitive metrics via Columns → Modify columns for impression share data.
The Quick-Fix Diagnostic Table
Use this table to jump straight to the most likely cause based on what you are seeing:
| Symptom | Most likely cause | Exact fix (click-path) |
|---|---|---|
| $0 spend after 72+ hours, status shows Eligible | Billing failure or broken conversion tracking | Tools → Billing → Transactions; Tools → Measurement → Conversions — confirm recording |
| Spend stopped right after a target change | Target too aggressive | Raise target CPA / lower target ROAS toward the previous working value |
| Impressions only on brand search terms, nothing else | Weak assets + URL expansion doing all the work | Campaign → Asset groups — add headlines, images, and logos; review final URL quality |
| Shopping-based PMax with zero impressions | Merchant Center disapprovals or feed errors | Merchant Center → Products → Diagnostics — fix disapprovals and re-upload the feed |
| Spend collapsed overnight with no changes by you | Ad schedule, exhausted shared budget, or policy disapproval | Campaigns → Change history; Tools → Troubleshooting → Policy manager |
| New campaign, tiny budget, aggressive target | Budget/target mismatch | Apply the 10–15× rule: raise budget or loosen the target |
| Status reads “Limited by bid strategy” | Target CPA/ROAS too strict | Loosen the target or remove it until volume returns |
| Zero spend with a one-mile location radius | Location targeting too narrow | Campaign → Settings → Locations — expand the radius |
If your search campaigns are spending but converting poorly, the issue may be query quality rather than delivery — our search term mining guide shows how to find and fix that.
When Zero Spend Is Actually Normal
Not every quiet campaign is broken. Do not “fix” these situations:
- The first 48 hours after launch. Near-zero early spend during learning is expected.
- Very small budgets in expensive verticals (legal, insurance, finance) — the campaign may simply need more budget to compete.
- Hyper-niche targeting — a tiny location plus narrow signals means few eligible auctions exist.
- Seasonality. A Halloween costume store will not spend much in March, no matter how perfect the setup.
The key question is always: is there a structural reason for no delivery, or is the market just thin? If every step above checks out, the answer is usually budget, targeting scope, or timing.
Conclusion: Your Next Steps
Work the checklist in order — billing, tracking, budget feasibility, assets and inventory, then exclusions — and you will usually find the blocker before the end. Resist changing three things at once: fix the most likely cause first, wait 48 hours, then reassess.
Once the campaign is spending again, the work shifts to optimization: tightening targets gradually and improving asset quality. Our Performance Max optimization guide picks up where this checklist leaves off, and our GA4 ecommerce KPI dashboard guide shows which metrics prove it is working.
Review the campaign seven days after your fix. If spend has returned and conversions are tracking, you are done troubleshooting — now let the system learn.
Transparency note: this site is reader-supported and may earn a commission from some of the tools we mention. See our affiliate disclosure at /affiliate-disclosure.
Further reading: if this checklist has you wanting a stronger grounding in Google Ads fundamentals, the Ultimate Guide to Google Ads is a practical reference that explains the core mechanics behind the settings this guide walks through. As an Amazon Associate, we earn from qualifying purchases.
