> ## 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.

# Total Spend, StackAdapt

> Total Spend 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

> Gross media spend on StackAdapt, the self-serve programmatic DSP for mid-market advertisers. Sums spend across all campaigns in the window. **StackAdapt is multi-channel** (display, native, CTV, video, audio, in-game, DOOH); this card aggregates regardless of channel. The platform's edge is its AI bidding ("BidCore"); on a properly-fed campaign it typically delivers 20, 40% better CPC than manual bidding within 14 days.

|                            |                                                                                                                                                                                                                                                              |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **What it counts**         | Gross spend in account currency from the StackAdapt API `reports/campaigns` endpoint, summed across all campaigns. Includes the StackAdapt platform fee (typically 15, 25% of working media for mid-market accounts); does not include agency markup.        |
| **Cost basis**             | Mostly **CPM** (cost-per-mille impressions) for display, video, CTV, audio. **CPC** is supported for native and some display. **CPA** target bidding is via BidCore optimisation, not a separate cost basis.                                                 |
| **Currency**               | Account currency, single-currency per StackAdapt account. Multi-region advertisers run separate accounts.                                                                                                                                                    |
| **Conversion attribution** | **Click-through and view-through**. Click default 30 days, view default 1 day. Both configurable per campaign. CTV impressions only support view-through (no click events from a TV).                                                                        |
| **Attribution window**     | 30-day click + 1-day view default. CTV-heavy campaigns benefit from longer view-through (3, 7 days) because TV-driven conversion is not instant.                                                                                                             |
| **Bot / invalid traffic**  | Pre-bid IVT filtering via Integral Ad Science (IAS) and DoubleVerify partnerships. Post-bid IVT credits issued on a 7, 14 day delay; spend reads slightly high until credits post.                                                                           |
| **Time window**            | `T/7D/30D vsP` (default 30D vs prior 30D). Real-time updates with up to 1-hour ingest lag.                                                                                                                                                                   |
| **Alert trigger**          | `spike >2σ vs 30D baseline`. On StackAdapt, sudden spend spikes most often signal (a) BidCore exiting learning phase and ramping, (b) a CTV campaign hitting peak inventory hours (evening prime time), or (c) a manual budget increase that nobody flagged. |
| **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

A US homeware brand running StackAdapt as part of a mid-market omni-channel programmatic strategy. The 30-day window is 02 Apr 26 to 01 May 26.

| Campaign                       | Channel              | Bidding     | Spend (\$)   | Impressions | Clicks     | CPM (\$)   |
| ------------------------------ | -------------------- | ----------- | ------------ | ----------- | ---------- | ---------- |
| Display Prospecting            | Programmatic Display | BidCore CPA | 12,400       | 4.2M        | 6,800      | 2.95       |
| CTV Awareness, "Spring Living" | Connected TV         | CPM fixed   | 18,200       | 1.4M        | n/a (CTV)  | 13.00      |
| Native Article Distribution    | Native               | BidCore CPC | 5,400        | 1.8M        | 7,200      | 3.00       |
| Audio Spotify Sponsorship      | Programmatic Audio   | CPM fixed   | 3,200        | 0.8M        | 320        | 4.00       |
| Retargeting (cross-platform)   | Display + Video      | BidCore CPA | 4,800        | 1.1M        | 3,400      | 4.36       |
| **Total (this card)**          |                      |             | **\$44,000** | **9.3M**    | **17,720** | **\$4.73** |

What's interesting:

1. **CTV is 41% of spend at \$18,200** but contributes zero clicks (no click events on a TV). View-through attribution is doing the heavy lifting; if your CTV view-through window is set too short (default 1 day vs the 3, 7 day reality), you'll under-credit CTV and over-credit display. **Action**: extend CTV view-through to 7 days for honest reads.
2. \*\*CTV CPM at $13.00 is mid-market**; premium publisher CTV (NBC, CBS via direct deals) runs $25, 45 CPM. StackAdapt routes through Magnite, Pubmatic, OpenX, etc., for cheaper CTV inventory at slightly lower premium-publisher quality. The trade-off is appropriate for mid-market budgets.
3. \*\*Display at $2.95 CPM is healthy**; programmatic display floors are $1.50, 2.00 for low-quality remnant; $5+ is brand-safe premium. $2.95 is the BidCore sweet spot, brand-safe inventory with efficient targeting.
4. \*\*The Native CPC of $0.75 (5,400 ÷ 7,200)** is competitive vs Taboola direct ($0.30, 0.40 typical), but StackAdapt's audience targeting allows tighter prospecting that compensates.
5. **The 30-day prior window had spend \$36,500** on the same channel mix; 21% rise this window. BidCore exited learning phase on the Display Prospecting campaign on 11 Apr 26 and drove most of the increase. ROAS held flat, so the rise is healthy scaling, not waste.
6. \*\*Audio at $3,200 is small but worth watching**; podcast/Spotify sponsorship CPM benchmarks are $15, 25 typical, so \$4 CPM here is suspiciously low quality (likely run-of-network audio fill). Check creative placements before scaling.

Quick sanity tests:

* Spend up + impressions up + CPM stable = healthy volume scaling, BidCore working.
* Spend up + CPM up = bidding into more expensive inventory; check if it's BidCore exploring premium publishers.
* Spend up + CPM down + clicks down = inventory degrading; auto-bid won the auction race-to-the-bottom; raise CPM floor.
* Spend flat + CTV CPM rising = peak hours pressure (Q4 / sports finals / awards season).
* Spend down sharply + impressions down sharply = BidCore is failing to find inventory at your bid; raise CPM or expand audience.

## Sibling cards merchants should reference together

| Card                                                                                 | Why pair it with Total Spend                                                                                                    |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
| [StackAdapt Total Revenue](/nerve-centre/kpi-cards/stackadapt/total-revenue)         | The numerator pair for ROAS. Spend rising while revenue stays flat = BidCore is finding clicks/impressions but not conversions. |
| [StackAdapt ROAS](/nerve-centre/kpi-cards/stackadapt/roas)                           | Efficiency check. DSP ROAS reads lower than Search but should be comparable to Meta.                                            |
| [StackAdapt Spend by Campaign](/nerve-centre/kpi-cards/stackadapt/spend-by-campaign) | Channel breakdown. CTV vs display vs native pacing tells you where to expand or trim.                                           |
| [StackAdapt Spend vs Budget](/nerve-centre/kpi-cards/stackadapt/spend-vs-budget)     | Pacing check; BidCore can outrun monthly plan.                                                                                  |
| [StackAdapt CPC Trend](/nerve-centre/kpi-cards/stackadapt/cpc-trend)                 | If CPC is rising, BidCore is bidding into more expensive inventory; spend rise may not be bringing more reach.                  |
| [The Trade Desk Total Spend](/nerve-centre/kpi-cards/the-trade-desk/total-spend)     | The enterprise DSP peer. If you run both, total programmatic spend is the honest cross-platform number.                         |
| [GA4 Sessions by Source](/nerve-centre/google_analytics/ga_sessions_by_source)       | Independent reach check. StackAdapt clicks should show as `utm_source=stackadapt` sessions in GA4.                              |
| [Shopify Total Revenue](/nerve-centre/kpi-cards/shopify/total-revenue)               | The truth side. DSP attribution often over-claims; commerce-platform truth is the honest contribution check.                    |

## Reconciling against the vendor's own dashboard

**Where to look in StackAdapt:**

[StackAdapt → Reports → Campaigns → "Spend" column](https://app.stackadapt.com/) at the account level for the same date range. The footer total should match this card to within sub-percent rounding once ingest catches up (allow 1, 2 hours for "today").

Other StackAdapt views that look similar but are not the same number:

* **Reports → Channels**: spend per channel (display, native, CTV, etc.). Sum across channels matches account spend.
* **Reports → Creative**: spend per creative. Same total, different cut.
* **Working Media**: gross spend minus the StackAdapt platform fee. **NOT** what this card uses; this card uses gross.

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

| Reason                   | Direction                                 | Why                                                                                                                                                                                     |
| ------------------------ | ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Time zone**            | Boundary days off                         | StackAdapt uses account time zone (set at account creation). This card uses UTC. For 30D windows the gap averages out.                                                                  |
| **Real-time ingest lag** | Card slightly low for "today"             | StackAdapt updates billable spend every 30, 60 minutes; intra-day reads catch up by the next sync.                                                                                      |
| **IVT post-correction**  | Card ≤ StackAdapt initial report by 0, 5% | IVT credits post on a 7, 14 day delay. Both views eventually reflect the correction.                                                                                                    |
| **Fee inclusion**        | Both gross                                | This card uses gross spend (incl. platform fee), matching StackAdapt's default "Spend" column. If you've toggled to "Working Media" view, the difference is the platform fee (15, 25%). |
| **Currency conversion**  | None at single-account level              | Multi-account aggregation requires FX at the report layer; this card is per-account.                                                                                                    |

**Cross-connector reconciliation:**

| Card                                                                                             | Expected relationship                                                                       | What causes legitimate divergence                                                                        |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| [`the_trade_desk.the_total_spend`](/nerve-centre/kpi-cards/the-trade-desk/total-spend)           | Independent. Many enterprise advertisers run both DSPs; aggregate programmatic spend = sum. | Different inventory pools (StackAdapt is mid-market focus; TTD has more premium inventory deals).        |
| [`google_ads.gads_total_spend`](/nerve-centre/kpi-cards/google-ads/total-spend)                  | Different ecosystem; benchmark only.                                                        | Search captures intent; programmatic seeds it. Compare spend mix to channel purpose.                     |
| [`google_analytics.ga_sessions_by_source`](/nerve-centre/google_analytics/ga_sessions_by_source) | Sessions tagged `utm_source=stackadapt` ÷ StackAdapt clicks ≈ 0.85, 0.95                    | Ad-blocker leakage, bounces before GA4 fire. CTV sessions have no GA4 equivalent (no click).             |
| [`shopify.total_revenue`](/nerve-centre/kpi-cards/shopify/total-revenue)                         | StackAdapt-driven Shopify revenue is a subset; structurally hard to attribute precisely.    | DSP attribution is multi-touch by nature; commerce-platform UTM truth captures only the last paid click. |

## Known limitations / merchant FAQs

**My StackAdapt spend just spiked, what happened?**
The most common cause is BidCore (StackAdapt's AI bidding) exiting the learning phase. BidCore typically holds delivery low for the first 50, 100 conversions; once it has signal, it ramps to maximise volume at the target CPA. Check [Spend by Campaign](/nerve-centre/kpi-cards/stackadapt/spend-by-campaign) for a single-campaign jump. Other causes (in order): (1) CTV inventory hitting peak hours (evening prime); (2) seasonal CPM rise in Q4 / sports finals / awards season; (3) a manual budget increase that nobody flagged.

**StackAdapt vs The Trade Desk, when do I pick which?**
StackAdapt is **mid-market self-serve** ($5k, 50k/month sweet spot), with stronger native and audio integrations and easier UI for in-house teams. The Trade Desk is **enterprise** ($50k, 500k+/month sweet spot), used by large agencies and direct enterprise teams, with deeper CTV inventory deals and more sophisticated audience tooling. **Run StackAdapt if your team manages programmatic in-house and budgets are mid-market**; run TTD if you have agency support and need premium CTV inventory or a global footprint.

**Why is CTV CPM so much higher than display CPM?**
CTV is premium inventory. A 30-second video on a logged-in TV in someone's living room captures attention in a way a banner ad never does, and the inventory is scarce (a TV plays one ad at a time). Premium CTV runs $25, 45 CPM; mid-market via DSPs like StackAdapt runs $10, 20 CPM. **The CPM premium is real, the attention is real; the attribution is the problem** (no click events, view-through only).

**My CTV campaign reports zero clicks, is something broken?**
No. CTV impressions cannot generate clicks; you cannot tap a TV. CTV is measured purely on view-through conversions. Make sure your view-through window is 3, 7 days (not the default 1 day) for CTV-heavy campaigns; 1 day under-credits CTV by 60, 80%.

**What does "BidCore" actually do?**
BidCore is StackAdapt's machine-learning bidder. It evaluates each impression in real time across multiple signals (user, context, time-of-day, recency, audience match) and bids accordingly. Compared to manual CPM bidding, BidCore typically delivers 20, 40% better CPC after a 14-day learning period. **The catch**: it needs sufficient conversion volume to learn. Campaigns with \<30 conversions/week struggle on BidCore; manual bidding is more reliable below that volume.

**Why does my GA4 show fewer StackAdapt sessions than StackAdapt reports clicks?**
Three structural reasons: (1) ad-blocker leakage (5, 10%); (2) bounces before GA4 fire (3, 7%); (3) CTV impressions that the user later searched/typed for the URL (now Direct in GA4, not StackAdapt). Expect 85, 95% reconciliation between StackAdapt clicks and GA4 stackadapt-source sessions. Below 80% suggests broken UTM tagging on the click-out URLs.

**Can I trust the "today" spend figure?**
Less than rolling 7-day. Today's spend reads from incomplete intra-day ingest; allow until tomorrow's first sync for the stable figure.

**What's the platform fee structure on StackAdapt?**
StackAdapt charges a percentage of working media, typically 15, 25% for mid-market accounts (lower for high-volume direct accounts). The fee is included in the gross spend this card reports. Working Media (gross minus fee) is available as a separate StackAdapt UI toggle but not the default view.

**My ROAS is fine but my reach is low, what should I do?**
Increase the CPM ceiling on BidCore. The algorithm caps bids at the configured ceiling; if it's too tight, you win the inventory you can afford but miss the broader reach. Alternatively, expand audience targeting (broader geos, broader interest segments) to give BidCore more inventory to choose from.

***

### Tracked live in Vortex IQ Nerve Centre

*Total Spend* 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.
