top of page
Typographic Black and Blue.png

Why Is Meta Showing Spend but Zero Impressions for the First 6 Hours of a Campaign

You launched a campaign at 11 AM. By 5 PM, the dashboard shows ₹240 spent. Impressions: 0. Reach: 0. Clicks: 0. Either something is broken, or Meta is spending money it isn't delivering against.


Neither, actually. This is a reporting gap, not a delivery problem. Meta's billing system and impression reporting system don't synchronize in real time. Here's what's happening underneath the dashboard and when to worry.


First: Confirm Both Numbers Are Real


  • Hit the refresh button on the dashboard, not browser refresh. Meta has its own cache layer.

  • Wait 10 minutes between refreshes. Hammering doesn't update faster.

  • Check both the campaign-level and ad-set-level numbers. Sometimes one updates before the other.

  • Pull the same data through the Meta Ads Reporting API if available — sometimes the UI lags behind data warehouse.


Why the Spend Shows Before Impressions


  1. Billing precommit. Meta reserves ad spend at the moment a campaign starts winning auctions, but the auction-win-to-impression-served pipeline can lag 1-6 hours.

  2. Impression delivery delay. Impressions are counted when the ad is rendered on the user's device. Users may load Feed minutes after Meta won the auction.

  3. Aggregation cycle. Meta's reporting system aggregates impressions in 15-30 minute windows. Spend updates more frequently.

  4. iOS aggregation. iOS impressions are aggregated through SKAdNetwork in batches that arrive every 1-6 hours, not in real time.


When the Gap Closes Naturally


In healthy campaigns, the impression count typically catches up to spend within these windows:


  • Hours 0-2: Spend may show, impressions near zero. Normal.

  • Hours 2-6: Impressions should rise to match spend trajectory. By hour 6, the ratio should look reasonable.

  • Hours 6-12: Reporting fully aligned. If impressions still show zero against significant spend, that's not normal.


When It's a Real Problem


Past 6-8 hours with zero impressions and meaningful spend, investigate.


Cause 1: Billing Hold


Meta sometimes preauthorizes spend against a card while the actual charge fails. The dashboard shows spend reservation but no impressions because no impressions were actually served.


Check: Billing > Payment method. Look for 'declined', 'authorization pending', or 'reauthorization needed' states.


Cause 2: All Ads Disapproved


If every ad in the campaign is pending review or rejected, the campaign technically 'started' (clocking spend allocation) but cannot serve. This is most common in new accounts.


Check: Filter ads by Delivery Status. If all show 'In Review' or 'Rejected', that's your answer.


Cause 3: Audience Eligibility Failure


If the audience is technically too small or has all eligibility filters failing, the campaign reserves budget but cannot find eligible users. See [audience too small](https://www.wittelsbach.ai/post/meta-audience-too-small-5-lakh-lookalike-real-eligibility-reasons-d2c).


Cause 4: Account Spend Cap


Account-level daily spend caps can show 'reserved' against a campaign while preventing delivery. New accounts often have ₹2,500-5,000/day caps.


Check: Billing > Spend Limit. Compare today's account spend to the cap.


Cause 5: Pixel Misconfiguration


For conversion campaigns, a broken pixel can prevent Meta from finding 'optimization-eligible' impressions. The campaign technically launches but doesn't deliver.


Check: Events Manager > Pixel. Status should be 'Active' with recent events.


The 10-Minute Diagnostic


  1. Wait 30 minutes after launch before any investigation.

  2. If still showing spend with zero impressions after 30 mins, refresh dashboard.

  3. After 1 hour, check Delivery Status on every ad.

  4. After 2 hours, check Billing for payment authorization issues.

  5. After 6 hours, escalate — this isn't normal delay anymore.

  6. Run the 8-throttling-reasons diagnostic: see [why ad sets stop spending](https://www.wittelsbach.ai/post/meta-best-ad-set-stopped-spending-8-reasons-throttles-delivery-d2c).


Should You Pause and Restart?


Almost always: no. Pausing during this window triggers a new learning phase and loses any momentum the campaign was building. Wait the full 6-12 hours. If genuinely zero delivery beyond 12 hours, then pause, fix the underlying issue, and relaunch.


How to Launch So This Doesn't Happen


  • Launch in the morning (8-10 AM IST) so Meta has all-day delivery time to ramp up.

  • Don't launch on weekends — APAC review centers are thinner, and impression aggregation cycles can lag.

  • Verify pixel and CAPI are firing live before launching the campaign.

  • Pre-approve all creatives in the account before scheduling the launch.

  • Check Account Quality the day before — clean signals help campaigns deliver fast.


How Wittelsbach AI Catches Launch Failures Fast


Bach AI monitors every campaign launch in real time, distinguishes normal reporting lag from actual delivery failure, and surfaces the root cause within an hour of the issue arising. Run a free Meta Ads audit at [app.wittelsbach.ai](https://app.wittelsbach.ai).


Frequently Asked Questions


How long should I wait before assuming a Meta campaign launch has failed?


Wait 6-12 hours of zero impressions before treating it as a failure. The first 2-3 hours are normal reporting lag. Hours 3-6 should show impression ramp-up. Hours 6-12 should have full reporting parity with spend. Past 12 hours with zero impressions almost certainly means there's a real delivery block — usually billing, ad approval, or audience eligibility. Don't act on early signals during business hours either; Meta delivery accelerates in the evening (7-11 PM IST) for most Indian audiences.


Will Meta refund the spend if no impressions were delivered?


Yes, automatically. If Meta charges your account but doesn't serve impressions (rare, but happens during billing system issues), the discrepancy is reversed within 24-72 hours. You'll see negative adjustments on your billing summary. You don't need to file a support ticket for these — they auto-resolve. The exception: if you cancel a campaign before any impressions, Meta still holds any pre-authorized amount for 7-10 days as a reserve before refunding.


Does Meta deliver more impressions in the evening for Indian users?


Yes, significantly. Indian Meta user activity peaks 7-11 PM IST, when 40-55% of daily impressions are served. Morning campaign launches show slow impression accumulation until evening, when delivery accelerates 3-4x. This is why a campaign launched at 9 AM may look 'broken' at 11 AM but be perfectly fine — the algorithm is waiting for prime delivery time. Plan launches with this curve in mind.


Should I split a launch across multiple days to avoid the 0-impression window?


Not necessary. The 0-impression window is a reporting artifact, not a delivery problem. Splitting launches creates other issues — different cohorts in different learning phases, attribution complications, and harder performance comparison. The cleaner play: launch on Day 1, hold steady, and evaluate from Day 10 onward. If you want phased rollouts, stagger by ad set within the same campaign, not by campaign.


Does the campaign objective affect how fast impressions show up?


Yes. Awareness and Reach objectives deliver fastest — Meta needs only to find any users, so impressions accumulate within 30-60 minutes. Conversion objectives are slowest — Meta needs to find high-conversion-likelihood users, which requires more auction iterations and shows fewer early impressions. Lead gen sits in between. For a conversion campaign, expect 1-3 hours of low impression count even on a healthy launch; for awareness, expect impressions within 15-30 minutes.

Comments


bottom of page