At a glance
Pacing check, comparing actual TikTok spend in the period against the configured budget cap, expressed as a percentage. Especially important on TikTok, because Campaign Budget Optimisation (CBO) treats daily budgets as targets rather than hard ceilings and can overshoot 20, 30% on viral creative. The card fires when you’ve burned >90% of the budget before 80% of the period elapsed.
| What it counts | actual_spend ÷ configured_budget over the current period, surfaced both as a percentage progress bar and a remaining-budget number. Configured budget is read from the campaign / adset / account-level budget the merchant has set in Ads Manager. |
| Reporting API level | Account-level by default, configurable to roll up specific campaigns. The /v1.3/campaign/get/ endpoint returns budget and budget_mode (BUDGET_MODE_DAILY, BUDGET_MODE_TOTAL, BUDGET_MODE_INFINITE); spend is summed from the Reporting API. |
| Currency | Account currency (single per account). |
| Daily vs lifetime budget mode | Daily budgets reset every 00:00 in account TZ; the card surfaces today’s daily-budget pacing. Lifetime budgets accumulate; the card shows cumulative pacing against the campaign end date. |
| CBO overshoot | TikTok’s Campaign Budget Optimisation can blow past daily caps by 20, 30% on viral creative. Lifetime budgets are honoured strictly; daily caps are pacing guidance. If you need a hard ceiling, use a lifetime budget on a date-bounded campaign or set a daily account-level cap in Billing > Spending Limit. |
| Account-level Spending Limit | A separate hard cap configured at advertiser-account level in Billing. Hits this and ALL campaigns pause until the limit is raised or reset. Distinct from per-campaign budget. The card flags account-level limit hits as a critical-tier event. |
| Time window | T/30D (today plus rolling 30D pacing). |
| Alert trigger | >90% used before 80% of period. Fires when you’re 9 days into a 10-day period and 95% of budget is gone, the classic early-burn signature. |
| Roles | owner, marketing, finance |
Calculation
Calculated automatically from your TikTok Ads 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 US Gen-Z DTC athleisure brand running a 30-day TikTok push tied to a product-launch flight 02 Apr 26 to 01 May 26. Account currency USD. Configured monthly budget cap (Billing > Spending Limit): 1,300 / day target.| Day | Cumulative spend | Cumulative budget | % used | % of period elapsed | Card status |
|---|---|---|---|---|---|
| Day 1 (02 Apr) | $1,180 | $1,300 | 91% (daily) | 3.3% | Normal (daily) |
| Day 7 (08 Apr) | $9,400 | $9,100 | 103% | 23% | Mild overshoot, still healthy |
| Day 14 (15 Apr) | $19,800 | $18,200 | 109% | 47% | Pacing warning |
| Day 21 (22 Apr) | $34,600 | $27,300 | 127% | 70% | Critical: 86% of monthly cap used at 70% of period |
| Day 23 (24 Apr) | $38,200 | $30,000 | 127% | 77% | Card fires (>90% used before 80% of period) |
- Days 14, 21 saw a creative go viral. Cold-prospect In-Feed creative #4 (a UGC-style “first-impression unboxing”) hit a 4.8% CTR on day 13, up from 1.2% baseline. CBO responded by allocating 70% of daily budget to that single ad. Daily spend ran at 2,200 (vs $1,300 target) for 7 consecutive days.
- By day 23 the alert fires. 40,000 monthly cap = 95.5% used; 23 of 30 days elapsed = 77% of period. Classic >90%-before-80% trigger.
- Three options at this point:
- Pause and replan. Saves $1,800 but kills momentum on a winning creative; CTR will drop when re-launched as the algorithm re-learns. Cost: 7, 14 days of re-learn.
- Raise the monthly cap. Quick decision; the unit economics on this creative are solid (ROAS 4.6x, well above the 2.5x business floor). Going from 50k preserves momentum and captures the rest of the viral window.
- Tighten the per-campaign daily budget. Cap CBO’s overshoot ability. Less responsive to viral signal but predictable.
- Most-common right answer: option 2 (raise the cap). Viral creative on TikTok is rare; budget caps should be elastic when ROAS is well above floor. The monthly-cap discipline matters when ROAS is below floor, not above it.
- Avoid going lifetime budget mode mid-flight. Switching
BUDGET_MODE_DAILYtoBUDGET_MODE_TOTALon a campaign mid-period resets the optimiser’s pacing logic and drops delivery for 24, 48 hours. Don’t reach for this lever in the middle of a winning flight.
- 80% used at 80% of period = on pace, healthy.
- 95% used at 70% of period = aggressive pacing, decide whether to raise cap or throttle.
- 50% used at 80% of period = under-pacing, why? Often a delivery throttle (creative rejected, audience too narrow) rather than a savings.
- 100% used at 50% of period = budget runaway, almost always a CBO overshoot on viral creative. Decide quickly.
- 100% used at 100% of period = perfect pacing, rare in practice on TikTok.
Sibling cards merchants should reference together
| Card | Why pair it with Spend vs Budget | What the combination tells you |
|---|---|---|
| Total Spend | The numerator. | Whether 95% used at 70% of period is 10k (cottage scale) or 1M (enterprise). |
| Spend Trend | Daily series. Reveals whether the overshoot is a single-day spike or a sustained run. | A 5-day overshoot is creative-fatigue or audience saturation; a single-day spike is CBO viral-creative response. Different fixes. |
| Spend Anomaly | Statistical >2σ daily-spend detection. | Distinguish “healthy CBO response to winning creative” (anomaly + ROAS holding) from “auction inflation problem” (anomaly + ROAS dropping). |
| ROAS | Pacing context. Overshoot at 5x ROAS = good problem; overshoot at 1.2x ROAS = pause. | Decide whether to raise the cap or kill the campaign. |
| Budget Utilisation | The companion gauge view. | Snapshot of how much budget is consumed at any point. |
| Overspending Campaigns | Which campaigns ate beyond their daily cap. | Identify the specific CBO-driven culprit before deciding global cap policy. |
| Underspending Campaigns | The opposite tail, campaigns delivering below pace. | Often the explanation for why your account-level pacing looks under: a campaign is throttled (creative rejected, audience too narrow). |
| Meta Ads Spend vs Budget | Peer paid-social pacing. | Compare which platform is pushing pacing pressure (TikTok CBO is structurally more aggressive than Meta CBO). |
Reconciling against the vendor’s own dashboard
Where to look in TikTok Ads Manager: TikTok Ads Manager > Campaign > Budget column + Cost column. Sum the campaign budgets and divide cost. For account-level cap pacing, Billing > Spending Limit shows the configured monthly cap and progress bar. Other Ads Manager views:- Pacing Insights (per-campaign). TikTok’s own per-campaign pacing forecast. Useful for predicting whether the campaign will deliver in full by end-date.
- Delivery > Learning Phase. Adsets in Learning often spend without delivering against budget targets. Different cause, similar pacing read.
| Reason | Direction | Why |
|---|---|---|
| Time zone | Boundary days off | TikTok uses ad-account TZ (immutable). Daily-budget reset times differ from this card’s UTC reset, expect 0, 24h skew on “today’s” pacing for non-UTC accounts. |
| CBO overshoot | Both reflect overshoot identically | TikTok’s UI shows the same overshoot we do; CBO daily caps are guidance, not ceilings. |
| Lifetime budget reflows | Direction depends | Pause + resume on a lifetime-budget campaign reflows the remaining budget across remaining days, this card recalculates accordingly. |
| Ingest lag | Lower for “today” | 2, 6 hour lag on Reporting API. Today’s pacing is slightly under-counted in the most recent few hours. |
| Account-level Spending Limit | None | Both card and UI read the same limit configuration. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
facebook_ads.fac_spend_vs_budget | Independent platform pacing. | Different CBO behaviour. TikTok overshoots more aggressively than Meta on viral creative. |
google_ads.gads_spend_vs_budget | Independent platform pacing. | Google’s Smart Bidding is more conservative on daily-cap respect than either Meta or TikTok. |
Known limitations / merchant FAQs
Why does TikTok overshoot my daily budget? Campaign Budget Optimisation (CBO) treats daily budgets as targets, not hard ceilings. When the algorithm finds a winning creative, it overspends 20, 30% in a single day to capture the auction window. Lifetime budgets are honoured strictly; daily caps are pacing guidance. If you need a hard ceiling, use a lifetime budget on a date-bounded campaign or set a daily account-level cap in Billing > Spending Limit. TikTok says I’m at 95% used at 70% of period; should I pause or raise the cap? Decision tree:- Check ROAS first. ROAS above your business floor (typically 2.5x for DTC after COGS) and well above 1.0x: raise the cap, capture the rest of the viral window.
- ROAS below floor: pause. The overshoot is not earning out, you’re feeding a bad spend curve.
- ROAS at floor: cap and re-plan. Don’t add fuel; don’t kill momentum either.
- Raise the limit in Billing > Spending Limit (instant, but takes 5, 30 minutes for campaigns to resume serving).
- Investigate the overshoot before re-launching. Was it CBO viral response (good problem) or auction inflation (bad)? Check Spend Anomaly and CPC Trend.
- Re-pace going forward. After a budget hit, the algorithm goes back into a mini-Learning Phase as it re-balances. Expect 24, 48 hours of slightly lower delivery efficiency.
- Creative rejected. Some creatives get content-flagged 24, 72h after launch (not on submission). When that happens, delivery drops, pacing falls.
- Audience too narrow. Lookalikes <1% or interest-based audiences with <500k reach often hit a delivery ceiling.
- CPC inflated past the bid cap. If CPC rises past your bid cap, TikTok will scale delivery down rather than overshoot the bid.