Skip to main content
Card class: HeroCategory: Ad Platform

At a glance

Pacing check. Period-to-date Meta spend as a percentage of the configured period budget. Fires the alert when spend hits 90% before 80% of the period has elapsed (i.e. you’re burning budget faster than the calendar).
What it counts(spend_to_date ÷ period_budget) × 100, expressed as a percentage. Spend is summed from the Meta Marketing API Insights endpoint at account level for the period start through “now”. The budget is the merchant-configured period budget (set in Vortex IQ, NOT pulled from Meta, since Meta’s budget is per-campaign / per-adset, not per-account).
Insights API levelAccount-level for the spend numerator. Per-campaign budgets in Meta (CBO, ABO) sum to a notional account-level budget but Meta does not expose a single “account budget” field; this card uses the merchant-configured target.
CurrencyAccount currency for spend; merchant-configured budget must be in the same currency. Mismatch breaks the percentage (no FX conversion is applied).
Attribution modelNot relevant. Pacing is on spend (denominator of ROAS), not on revenue or conversions.
iOS 14.5+ ATT impactNone. Spend is unaffected by ATT; this card is iOS-stable even on accounts with bad attribution.
CAPI vs Pixel-onlyNone. Pacing is measurement-method-independent.
Frequency cap relevanceIndirect. A frequency cap throttles delivery, which slows spend; pacing reads under-budget. Hitting 70% spend at 90% of period elapsed often indicates a cap that’s biting.
Time windowT/30D (period-to-date through today, with 30D as the reference window).
Alert trigger>90% used before 80% of period. Catches early-month overspend. The reverse direction (under-pacing, e.g. <60% used at 80% of period) typically fires a separate alert via Underspending.
Rolesowner, marketing, finance

Calculation

Calculated automatically from your Meta Ads (Facebook) data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A UK fashion brand. Configured Meta budget for Apr 26: £24,000. Today is 21 Apr 26 (day 21 of 30, so 70% of the period elapsed).
DatePeriod-to-date spend (£)Spend % of budgetPeriod % elapsedPacing read
07 Apr 26 (day 7)6,20025.8%23.3%On pace
14 Apr 26 (day 14)12,80053.3%46.7%Mildly hot (+6.6pp)
18 Apr 26 (day 18)18,40076.7%60.0%Hot (+16.7pp)
21 Apr 26 (today, day 21)22,10092.1%70.0%Alert fired (>90% used at <80% elapsed)
What happened, on the data:
  1. A creative refresh on day 14 (Manuela’s “Spring Looks” batch) lifted CTR from 0.9% to 1.8%. Meta’s optimiser responded by increasing delivery, the Advantage+ Shopping campaign cleared its daily cap on day 15-19. ROAS held at 3.6×, so the lift was real, not just inflation. The spend shape is healthy in isolation; the issue is calendar.
  2. At today’s pace, the £24k budget will be exhausted by day 23 (24 Apr 26). That leaves 7 days of the month with no Meta spend, unless someone tops up the budget. Two options: top up by ~£8k (run to 30 Apr at current pace) OR throttle daily caps from £1,200 to £400 to spread the remaining £1,900 over 9 days.
  3. Underlying reason this fired: the merchant didn’t update the budget after lifting daily caps on the cold Advantage+ campaign on day 13. The configured period budget in Vortex IQ is a soft target; Meta’s actual delivery follows daily/lifetime budgets configured in Ads Manager. The two need to stay in sync.
  4. The cleanest action: top up Vortex IQ budget to £32k, accept the higher spend pace, monitor ROAS for the rest of the month. If ROAS holds, you’ve found your scaling ceiling. If ROAS drops more than 10%, you’ve over-shot the efficient frontier and should pull back via campaign-level caps next month.
  5. Day 30 reading expectation: spend lands around £31, 33k against £24k configured budget = 130% pacing. The budget alert will keep firing daily until the budget config is updated. Update the budget config in Vortex IQ to match the new spend plan, otherwise daily noise drowns the actual issue.
Reverse direction (under-pacing): if at day 21 you’d spent only £8,400 (35% of budget at 70% elapsed), the Underspending card would fire instead. Common causes: frequency cap biting, learning-phase exit failure, audience saturation, or paused campaigns no-one re-enabled.

Sibling cards merchants should reference together

CardWhy pair it with Spend vs BudgetWhat the combination tells you
Total SpendThe numerator of this card. Pacing is meaningless without knowing the absolute spend level.Whether the burn rate is normal or spiked.
Spend TrendDaily series. Pacing alerts often track back to a single high-spend day mid-period.The day-by-day shape that produced the pacing breach.
Budget UtilisationPeriod-end view: did spend land within budget by month close?This card shows the in-period read; that card shows the post-period read.
OverspendingThe directional card for “spend > budget”.Specific over-burn detection per campaign.
UnderspendingThe reverse direction.If spend is pacing low, the issue is delivery / learning-phase / cap, not budget.
ROASThe efficiency check during the burn.Pacing-hot AND ROAS-up = good problem (top up budget). Pacing-hot AND ROAS-down = bad (throttle, don’t top up).
FrequencyHigh frequency on a small audience drives premature pacing.If freq >5 in 7d AND pacing hot, audience is too narrow. Expand or refresh creative.
Google Ads Spend vs BudgetCross-platform pacing peer.Multi-platform marketers should align pacing checks across Meta + Google.

Reconciling against the vendor’s own dashboard

Where to look in Meta Ads Manager: Meta does NOT have a single “account budget vs spend” view. The closest views are: Why this card differs from any Meta-side view:
ReasonDirectionWhy
Time zoneBoundary days offMeta’s account-level spend totals use the ad-account time zone (immutable). This card uses UTC for period boundaries. For a “today is day 21 of 30” pacing read, a 5-hour TZ offset can shift the percent-elapsed calc by ~1pp.
Attribution window changesNone on spendPacing is on spend, not on conversions. Attribution-window changes don’t affect this card.
Modeled conversions inclusionNone on spendSpend is real money billed; modeling doesn’t apply.
Ingest lagLower for “today”1, 4 hour ingest lag. The spend percentage today reads slightly low compared to Meta’s UI which may be 1-2 hours fresher.
Advantage+ opacityNone on this cardPacing aggregates across all campaigns regardless of objective. Advantage+ campaigns sum into the headline cleanly.
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
google_ads.gads_spend_vs_budgetIndependent ad-platform pacing.Different platforms, run separate pacing checks.
shopify.total_revenueNo direct relationship.Pacing is about cost discipline, not revenue.

Known limitations / merchant FAQs

Why doesn’t this card use Meta’s own budget setting? Meta budgets are per-campaign or per-adset (CBO / ABO), not per-account. There is no single “account budget” field in the Meta Marketing API. Vortex IQ asks you to configure a planning-level period budget separately. Keep them in sync: when you raise daily caps in Ads Manager, also bump the Vortex IQ budget; otherwise pacing alerts misfire. Does iOS 14.5 affect this card? No. This card is on spend, not on conversions or revenue. ATT, modeled conversions, CAPI, none of them touch spend pacing. Pacing is the most reliable card on Meta: it tells you exactly what’s being billed, regardless of attribution noise. Why did this card fire on a day my campaigns “felt normal”? Three common causes:
  1. A daily cap was raised earlier in the period and forgotten. Meta’s optimiser respects the cap; if you raised one campaign from £200/day to £600/day on day 7, the pacing breach is invisible until you check the cumulative number.
  2. Advantage+ Shopping cleared its daily cap because of a CTR lift. When CTR rises, Meta raises delivery to capture the demand. If your daily cap was the binding constraint, spend jumps.
  3. A new campaign was launched mid-period and adds to the burn. You configured the period budget for 5 campaigns; a 6th was launched on day 12; the budget config didn’t get updated.
Action: open Ads Manager → Campaigns → sort by “Amount Spent (last 7 days)” descending. The campaign at the top is the one driving the breach. Should I top up the budget or throttle? Look at ROAS during the burn window. If ROAS is holding or rising, the lift is healthy and the right answer is to top up budget. If ROAS is dropping while spend rises, you’re scaling beyond the efficient frontier; throttle daily caps. Rule of thumb: ROAS > prior 30-day average = top up. ROAS < prior 30-day average = throttle. Why is my pacing showing low when my campaigns feel busy? Two structural causes:
  1. Frequency cap biting. If you’ve set a per-user frequency cap, Meta pauses delivery to high-frequency users. Spend pacing reads under-budget while CPM and impressions look normal on the rest of the audience. Solution: raise or remove the cap, or expand audience.
  2. Learning phase exit failure. Adsets that fail to exit the learning phase (under 50 conversions in 7 days) get throttled by Meta. Pacing reads under-budget. Solution: consolidate adsets or raise daily cap.
Does this card know about Meta’s account spend limit? No. The Account Spend Limit (Billing → Limits) is a hard cap that pauses delivery; this card uses a Vortex-IQ-configured planning budget. If you have an Account Spend Limit set in Meta lower than your Vortex IQ budget, this card will read under-pacing and you’ll wonder why; check the spend limit in Meta first. Multi-account / multi-currency, how does this card work? This card is per-ad-account. Each account has its own configured budget in account currency. To roll up across accounts, sum manually in a downstream report. A simple sum of percentages across accounts is wrong; weight by absolute budget. Can I change the alert threshold? Yes, in the card config. The default >90% used before 80% of period catches early breaches but ignores 80, 90% pacing which may also matter. Some merchants raise it to >85% used before 75% for tighter discipline; others lower to >95% used before 85% for looser flow. Why does pacing alert on day 28 of 30 when I’m already winding down? The 80%-elapsed threshold is hit on day 24. Day 28 is 93% elapsed, well past the alert window. If the alert is firing on day 28, today’s spend is breaching 100% of budget with 2 days still to go. Action: pause campaigns or top up budget.

Tracked live in Vortex IQ Nerve Centre

Spend vs Budget is one of hundreds of KPI pulses Vortex IQ tracks across Meta Ads (Facebook) and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.