> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Spend vs Budget, StackAdapt

> Spend vs Budget for StackAdapt stores. Tracked live in Vortex IQ Nerve Centre. How to read it, why it matters, and how to act on it.

**Metrics type:** [Key Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Ad Platform](/nerve-centre/connectors#connectors-by-type)

## At a glance

> Pacing check on StackAdapt budgets vs period elapsed. **BidCore (StackAdapt's AI bidder) is aggressive at exiting learning phase**; once it does, daily spend can double overnight. CTV campaigns also pace unevenly because TV inventory peaks in evening prime hours and during major events (sports finals, awards). This card is the early warning that auto-bid or peak-hour CTV is outrunning plan.

|                            |                                                                                                                                                                                                                                                                  |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**         | `spent_to_date ÷ budget_for_period`, expressed as percentage. Budget is taken from campaign-level monthly caps in StackAdapt; spend is real-time `spend` from `reports/campaigns`. The card also tracks % of period elapsed for pacing comparison.               |
| **Cost basis**             | Mostly CPM (display, video, CTV, audio); CPC for native and some display. Pacing math is unit-agnostic.                                                                                                                                                          |
| **Currency**               | Account currency.                                                                                                                                                                                                                                                |
| **Conversion attribution** | Not applicable (budget pacing).                                                                                                                                                                                                                                  |
| **Attribution window**     | Not applicable.                                                                                                                                                                                                                                                  |
| **Bot / invalid traffic**  | IVT-credited spend reduces spent figure on 7, 14 day correction cadence; pacing reads slightly high until credits post.                                                                                                                                          |
| **Time window**            | `T/30D`. Today's snapshot plus 30-day rolling pacing shape.                                                                                                                                                                                                      |
| **Alert trigger**          | `>90% used before 80% of period`. On StackAdapt, sudden overpacing most often signals (a) BidCore exited learning phase and ramped, (b) CTV hitting peak inventory hours, (c) a manual budget change, or (d) audio campaign exhausting fixed-CPM inventory deal. |
| **Roles**                  | owner, marketing, finance                                                                                                                                                                                                                                        |

## Calculation

Calculated automatically from your StackAdapt data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

## Worked example

The same US homeware brand. Period 01 Apr 26 to 30 Apr 26 (30-day month). Today is 18 Apr 26 (60% of period elapsed).

| Campaign                          | Channel         | Monthly budget (\$) | Spent (\$)   | % budget | Pacing status       |
| --------------------------------- | --------------- | ------------------- | ------------ | -------- | ------------------- |
| Display Prospecting               | Display         | 18,000              | 12,400       | 69%      | On pace (mild over) |
| **CTV Awareness "Spring Living"** | CTV             | 22,000              | **18,200**   | **83%**  | **OVERPACED**       |
| Native Article Distribution       | Native          | 8,000               | 5,400        | 68%      | On pace             |
| Audio Spotify Sponsorship         | Audio           | 5,000               | 3,200        | 64%      | On pace             |
| Retargeting                       | Display + Video | 7,000               | 4,800        | 69%      | On pace (mild over) |
| **Account total (this card)**     |                 | **\$60,000**        | **\$44,000** | **73%**  | **OVERPACED 13pp**  |

What's interesting:

1. **CTV is the overpacing source.** $18,200 of $22,000 budget used at 60% elapsed = 83% pacing, 23pp ahead. The likely cause: NBA playoffs started 11 Apr 26 and CTV inventory pricing spiked 30, 50% across the network. BidCore is paying more per CTV impression to maintain delivery; it's not winning more impressions, it's paying more for each one.
2. **Action options for CTV**: (a) **Lower the CTV CPM ceiling** to force BidCore to wait for non-peak inventory, sacrificing some impressions; (b) **Pause the CTV campaign through the playoffs** (8, 12 days remaining) and reactivate post-event when CPM normalises; (c) **Raise the budget cap** if the campaign ROAS justifies the seasonal premium (it usually doesn't on cold-audience CTV).
3. **At current run-rate the account hits the \$60k cap on 23 Apr 26, 7 days early.** That means 7 days of dark spend in late April unless action taken now.
4. **Display, Native, Audio are all healthy.** Account-level alert is driven entirely by CTV; per-channel budget caps would have isolated the issue without flagging the whole account.
5. **The 30D prior had pacing 62% at 60% elapsed**, near-perfect. This window's 73% pacing is the alert. The prior month had no CTV campaigns running (they launched 28 Mar 26), so the comparison is structural, not a pacing-discipline regression.

Quick sanity tests:

* Pacing ≈ time-elapsed ± 5pp = healthy.
* Pacing > time-elapsed by 10, 20pp = mild overpacing; usually BidCore ramping post-learning.
* Pacing > time-elapsed by 30+pp = something accelerated sharply (CTV peak hours, audio inventory deal kicking in, manual change).
* Pacing \< time-elapsed by 10, 20pp = underspending; BidCore failing to find inventory at your bid; raise CPM or expand audience.
* Pacing flat for 3, 5 days = campaign hit cap or auto-paused.

## Sibling cards merchants should reference together

| Card                                                                                             | Why pair it with Spend vs Budget                                                                                          |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| [StackAdapt Total Spend](/nerve-centre/kpi-cards/stackadapt/total-spend)                         | The numerator. The spend trend tells you whether overpacing is structural (BidCore ramping) or seasonal (CTV peak hours). |
| [StackAdapt Spend by Campaign](/nerve-centre/kpi-cards/stackadapt/spend-by-campaign)             | Where the overpacing came from. Almost always one channel (commonly CTV).                                                 |
| [StackAdapt Overspending Campaigns](/nerve-centre/kpi-cards/stackadapt/overspending-campaigns)   | Campaign-level pacing breakdown.                                                                                          |
| [StackAdapt Underspending Campaigns](/nerve-centre/kpi-cards/stackadapt/underspending-campaigns) | The reallocation candidates if account is over-paced but some campaigns are under.                                        |
| [StackAdapt CPC Trend](/nerve-centre/kpi-cards/stackadapt/cpc-trend)                             | Pacing rises with rising CPC even at constant volume; this card distinguishes price vs volume drivers.                    |
| [StackAdapt ROAS](/nerve-centre/kpi-cards/stackadapt/roas)                                       | If overpacing comes with high ROAS, raise cap; if with falling ROAS, throttle.                                            |
| [The Trade Desk Spend vs Budget](/nerve-centre/kpi-cards/the-trade-desk/spend-vs-budget)         | Peer DSP pacing. If both overpacing simultaneously, suspect cross-DSP CTV inventory pressure (sports finals etc.).        |

## Reconciling against the vendor's own dashboard

**Where to look in StackAdapt:**

[StackAdapt → Campaigns](https://app.stackadapt.com/) and check the per-campaign budget and pacing indicator. The account-level total in this card sums per-campaign budgets and per-campaign spend. StackAdapt does not surface a single "account-level pacing %" in the UI; this card derives it.

**Why our number may legitimately differ from StackAdapt UI's pacing indicator:**

| Reason                        | Direction                                     | Why                                                                                                                      |
| ----------------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Time zone**                 | Pacing % off by ±5pp on day-1/day-30          | Account TZ vs UTC. Marginal mid-period.                                                                                  |
| **Real-time spent lag**       | Card pacing slightly low for "today"          | 30, 60 minute ingest lag on billable spend.                                                                              |
| **Budget hierarchy**          | Card uses configured budgets only             | Some accounts set a portfolio-level budget on top of campaign budgets; this card aggregates campaign-level budgets only. |
| **IVT credits**               | Card pacing slightly high before credits post | IVT refunds post on 7, 14 day delay.                                                                                     |
| **Mid-period budget changes** | Direction depends                             | Card uses current budget value; pacing % retroactively reflows.                                                          |

**Cross-connector reconciliation:**

| Card                                                                                           | Expected relationship                                                                                                                          | What causes legitimate divergence                                                    |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| [`the_trade_desk.the_spend_vs_budget`](/nerve-centre/kpi-cards/the-trade-desk/spend-vs-budget) | Independent. If both DSPs overpace simultaneously, suspect cross-DSP inventory pressure (CTV during sports finals, display during Q4 holiday). | Different inventory pools and budget cycles.                                         |
| [`google_ads.gads_spend_vs_budget`](/nerve-centre/kpi-cards/google-ads/spend-vs-budget)        | Independent; benchmark only. Search and DSP have different pacing patterns.                                                                    | Search rarely sees the same kind of peak-hour CPM spikes; pacing should be smoother. |
| [`shopify.total_revenue`](/nerve-centre/kpi-cards/shopify/total-revenue)                       | No mathematical relationship; context only.                                                                                                    | Pacing is input-side; revenue is outcome-side.                                       |

## Known limitations / merchant FAQs

**Why is my StackAdapt pacing 90% with 60% of the month elapsed?**
The most common cause is BidCore exiting learning phase on a campaign; it ramps from cautious delivery to aggressive volume-maximisation in 24, 48 hours. Other common causes: (1) CTV hitting peak inventory hours (evening prime, sports finals, awards season); (2) audio inventory deal kicking in; (3) seasonal CPM spike across the network; (4) a manual budget change that nobody flagged.

**My CTV pacing is 30pp ahead of plan, what should I do?**
Three options: (a) **Lower the CTV CPM ceiling** to force BidCore to wait for non-peak inventory; cheap but shrinks reach. (b) **Pause CTV through the peak event** (sports finals, awards) and reactivate post-event when CPM normalises; cleanest if the event is short (7, 10 days). (c) **Raise the budget cap** if the campaign is mission-critical and ROAS justifies the seasonal premium; rarely the right call on cold-audience CTV.

**Should I rely on StackAdapt's per-campaign daily caps?**
Yes, set both daily and monthly caps. Daily caps prevent BidCore from front-loading the month and leaving you dark. The standard formula: daily cap = monthly cap ÷ days remaining × 1.3 (a 30% safety factor for legitimate efficiency days). Without daily caps, a single CTV spike can exhaust 3, 5 days of budget in one evening.

**Why does StackAdapt not auto-enforce monthly pacing?**
StackAdapt's budget enforcement is hard at the cap level (it stops spending when cap is reached) but soft on pacing (no automatic throttling). The platform prefers to let BidCore run efficiency-maximising; pacing discipline is the advertiser's job. **The fix**: set tighter daily caps to enforce pacing in shorter intervals.

**My pacing dropped sharply, what happened?**
Common causes: (1) a campaign auto-paused (StackAdapt pauses campaigns that hit a daily cap, fall below CPM floor, or trip a brand-safety rule); (2) creative was disapproved and lost serving capacity; (3) competitor outbid you across the inventory you were winning; (4) seasonal CPM shift pushed your bids below the auction floor.

**How does this card handle Q4 / Black Friday seasonal spikes?**
It doesn't auto-adjust. Q4 CPM rises 30, 80% across programmatic; if your budgets are flat, pacing will look catastrophic in late November. **The fix**: increase budgets seasonally, or flag the seasonal context manually so this card's "OVERPACED" alert is interpreted in context.

**Why does pacing differ from impressions delivered?**
Pacing is spend-based; impressions delivered is volume-based. Rising CPM means you spend the budget faster than you deliver impressions. Pacing at 90% with impressions at 70% = you're overpaying for inventory; throttle or lower CPM ceiling.

**Should I set per-channel budgets or one account-level budget?**
Per-channel. CTV, display, native, audio have very different pacing patterns; a single account-level budget gets dominated by whichever channel ramps fastest (usually CTV). Per-channel caps protect the long-tail channels (display retargeting often delivers the best ROAS) from being starved by CTV's seasonal spikes.

**Can I trust pacing on day 1 of the month?**
Less than later. Day-1 pacing is built from incomplete data; the % can swing dramatically. By day 5, pacing is the actionable read. Days 1, 3 are mostly noise.

***

### Tracked live in Vortex IQ Nerve Centre

*Spend vs Budget* is one of hundreds of KPI pulses Vortex IQ tracks across StackAdapt 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](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
