At a glance
Pacing check, actual_spend ÷ budget for the current month, with an alert when >90% of the budget is consumed before 80% of the period has elapsed (front-loaded burn). Amazon Advertising budgets sit at three levels: account-level (rare), campaign-level (most common), and portfolio-level (the optional grouping). This card aggregates campaign-level budgets to a synthetic account total and tracks burn rate against month-elapsed.
| The formula | total_spend_in_period ÷ total_budget_for_period. Period is the current calendar month (Amazon’s standard budget cycle). Budget is the sum of campaign-level daily budgets × days-in-month, plus any portfolio caps where set. |
| Reports API endpoint | Spend from POST /reporting/reports. Budget from GET /sp/campaigns (and equivalents for SB / SD), the dailyBudget field on each active campaign. The card multiplies daily budget × days-in-month to estimate the period budget. |
| What “budget” means | The sum of active campaigns’ daily budgets multiplied by days-in-month. It does NOT mean “what the merchant intends to spend”; it’s the theoretical maximum if every campaign hit its cap every day. Most accounts spend 60-85% of theoretical max. |
| ACOS vs ROAS framing | This card is purely a pacing check; ACOS / ROAS are not part of the calculation. Pair with ROAS to interpret: 90%-burn at 50%-elapsed AND ROAS-stable = scaling intentionally. 90%-burn AND ROAS-falling = front-loaded waste. |
| Attribution model | N/A. Pacing is about cost timing, not conversion attribution. |
| Brand vs non-brand keyword scope | Tracked together. Branded campaigns are usually the smallest budget allocation but the most consistent burn rate. |
| Sponsored Products vs Brands vs Display vs DSP | All Sponsored types are aggregated. DSP excluded, DSP uses fixed committed-spend agreements rather than daily budgets, so pacing works differently. |
| Currency | Account currency only. |
| Amazon-only attribution gap | Not relevant for spend pacing. |
| Time window | T/30D. Today’s pace + 30-day rolling. |
| Alert trigger | >90% used before 80% of period. Calendar-month based; the alert recalibrates on the 1st of each month. |
| Roles | owner, marketing, finance |
Calculation
Calculated automatically from your Amazon 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 home-goods seller, mid-month read on 12 Apr 26 (day 12 of a 30-day month, 40% of period elapsed).| Campaign group | Daily budget | Theoretical 30D budget | Spend MTD (12 days) | % consumed | Pacing |
|---|---|---|---|---|---|
| SP, Branded Search | $120/day | $3,600 | $1,160 | 32.2% | On pace (40% elapsed = 40% expected) |
| SP, Non-branded | $620/day | $18,600 | $9,300 | 50.0% | Hot (50% consumed at 40% elapsed) |
| SP, Auto Targeting | $140/day | $4,200 | $1,510 | 35.9% | On pace |
| SB, Brand Awareness | $200/day | $6,000 | $2,180 | 36.3% | On pace |
| SD, Remarketing | $70/day | $2,100 | $720 | 34.3% | On pace |
| Total (this card) | $1,150/day | $34,500 | $14,870 | 43.1% | On pace (43% consumed at 40% elapsed) |
- Account-level pacing is healthy at 43% consumed vs 40% elapsed, slightly hot but well within the alert threshold. The non-branded SP campaign is the hot one (50% consumed at 40% elapsed) and would, on its own, exhaust budget around day 24 if the burn rate continued. Worth watching.
- The 90%/80% alert hasn’t fired because total consumption (43%) is below the 90% trigger. The alert would fire if total spend hit ~$31,000 before day 24, suggesting front-loaded waste rather than steady scale.
- Pair with ROAS: if ROAS is holding while non-branded burns hot, the team is intentionally scaling into a high-converting period. If ROAS is dropping, the burn is unintentional and likely auto-campaign drift.
- Theoretical max vs intended spend: the 28,000. At current pacing (37,000 projected for the month), they will exceed intended spend by 30%.
- Front-loaded burn is the danger pattern. >90% consumed at <80% elapsed = the team will run out of budget mid-month and lose impressions. The fix is usually to lower daily caps, not raise total budget, the burn rate is the symptom of auto-campaign drift.
- 40% elapsed + 35-50% consumed = on pace. Healthy.
- 40% elapsed + 50-70% consumed = hot. Watch Total Spend and CPC Trend.
- 40% elapsed + >70% consumed = alert. Likely cause: a daily-budget cap got raised, or auto-campaign is matching new traffic.
- 80% elapsed + <60% consumed = cold. Either the team set caps too high or there isn’t enough demand for the bid.
- Pace flat + ROAS falling = scaling beyond efficient frontier despite normal pacing.
Sibling cards merchants should reference together
| Card | Why pair it with Spend vs Budget |
|---|---|
| Amazon Ads Total Spend | The numerator. The absolute spend figure for context. |
| Amazon Ads ROAS | Pacing alone isn’t actionable, ROAS qualifies whether the burn is healthy. |
| Amazon Ads Spend by Campaign | Drill-down: which campaigns are causing the front-loaded burn? |
| Amazon Ads Overspending Campaigns | Companion view: campaigns hitting daily caps repeatedly. |
| Amazon Ads Underspending Campaigns | The opposite, campaigns not hitting their daily cap (cold). |
| Amazon Ads Spend Anomaly | The 2σ anomaly detector. Spike-detection complement to pacing. |
| Amazon Ads Budget Utilisation | The deeper pacing-by-campaign view. |
| Google Ads Budget Pacing | Cross-platform parallel. |
Reconciling against the vendor’s own dashboard
Where to look in Amazon Ads Console: Amazon Ads Console > Campaign Manager, the Daily Budget column shows each campaign’s cap; the Spend column shows MTD usage. Sum manually for the account total. Amazon Ads Console > Portfolios, if portfolios are configured, the portfolio-level monthly cap is the more authoritative budget figure. This card uses portfolio caps where set, falling back to daily-cap × days-in-month otherwise. Amazon Ads Console > Recommendations. Amazon often suggests “out-of-budget” warnings on campaigns hitting their daily cap consistently. Why our number may legitimately differ from a manual sum in Amazon Ads Console:| Reason | Direction of divergence | Why it happens |
|---|---|---|
| Timezone. Both use PT (Pacific). Daily budget resets at midnight PT. | None. | Amazon’s reporting backend is in Seattle. |
| Report-generation latency (1-3 hours). | Today’s pacing is provisional for ~24h. | Amazon batches report builds. |
| Theoretical-max vs portfolio-cap. If the account uses portfolio-level caps, this card uses the portfolio cap; if not, it uses daily-cap × days-in-month. | Theoretical-max overstates “budget” when caps are aspirational. | Most accounts set daily caps higher than they intend to spend. |
| API rate limits. Large accounts may have stale partial campaign-list refreshes. | Stale by up to 1 refresh cycle (~4h). | The pull is paginated. |
| Mid-month budget changes. If the merchant raises a cap mid-month, the ”% consumed” recalculates to the new total, which can mask the front-loaded burn. | Looks better than reality. | This is the single most common reason a manual sum disagrees with the card. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
amazon_sp.amzn_sp_total_sales | No direct relationship; pacing isn’t a sales metric. | N/A. |
google_ads.gads_budget_pacing | Cross-platform pacing comparison. Useful for cross-channel budget planning. | Independent platforms. |
shopify.total_revenue | No relationship. | N/A. |
Known limitations / merchant FAQs
What does “budget” mean in this card? Theoretical-max budget = sum of campaign daily caps × days-in-month, or portfolio-level monthly caps where configured. It is NOT the same as “what the merchant intends to spend”, daily caps are usually set above intended spend to avoid impression loss on high-demand days. Most accounts spend 70-85% of theoretical max. My pacing alert fires every month, but I always end the month at 85% of budget. Should I worry? The alert is structured around front-loading: 90% consumed before 80% elapsed. If you’re consistently hitting 90% by day 24 (80% of 30) but ending the month at 85%, that means days 25-30 are slow. Two diagnoses: (a) Lightning Deal or Prime Day in the first half of the month creates artificial early burn; this is normal and not actionable. (b) A specific high-spending campaign exhausts mid-month; check Overspending Campaigns to confirm. Why doesn’t DSP show in pacing? DSP uses fixed committed-spend agreements with Amazon ($35K+ minimums for managed-service), not daily budget caps. Pacing for DSP is governed by the contract and the campaign flight dates, not by daily budget consumption. This card excludes DSP; manage DSP pacing separately. The 90%/80% alert seems too sensitive, every month I get flagged. Tune the alert in your Vortex IQ settings. The default 90/80 is a strict pacing rule for accounts that need tight cost discipline; for scaling accounts, 95/85 or 100/90 may be more appropriate. The alert structure isconsumption% > X AND elapsed% < Y.
My team raises daily caps mid-month and the card looks healthy again. Is this gaming?
A bit. Raising the cap increases the denominator of ”% consumed”, which makes the pace look slower. It does not actually slow the burn. Pair with Total Spend: if the absolute spend has continued to rise, you’re scaling, not pacing. If absolute spend has plateaued because you hit the new cap too, you’ve solved nothing.
Why does my pacing differ from what Amazon Ads Console shows?
The Console shows per-campaign daily-cap consumption (not month-level pacing). To see month-level pacing in the Console, you’d manually compute MTD-spend ÷ (daily-cap × days-elapsed). This card does that aggregation for you across the account.
Multi-marketplace, can I see global pacing?
Not in a single card. Each Amazon Advertising account is single-currency single-marketplace; pacing is per-account.
What’s the right action when pacing alerts?
Three options in order of preference: (1) Lower daily caps on the offending campaigns (find them via Overspending Campaigns). This is usually the right answer. (2) Pause the offending campaigns and redeploy budget to higher-ROAS lines. (3) Raise the total budget if the burn is on profitable inventory and you can fund it. Most accounts default to (3) and shouldn’t.
My calendar month is a strange one (28 / 31 days), how does the alert handle that?
The “elapsed%” is calendar-aware: day 14 of February is 50% elapsed; day 14 of March is ~45% elapsed. The card adjusts automatically.