Skip to main content
Card class: HeroCategory: Ad Platform

At a glance

Gross media cost billed by Meta across every campaign in the selected ad account, summed over the period. The denominator of every Meta efficiency metric (ROAS, CPA, CPM, CPC).
What it countsSUM(spend) from the Meta Marketing API Insights endpoint, aggregated at account level. Includes every campaign objective (Sales, Leads, Traffic, Awareness, Engagement, App Promotion) and every placement (Facebook Feed, Instagram Feed, Reels, Stories, Audience Network, Messenger).
Insights API levelAccount-level (act_<id>/insights). Per-campaign / per-adset / per-ad totals always sum back to this card to within sub-penny rounding.
What “spend” meansGross media cost in account currency, before any agency markup, MAP rebate, or Meta credit. This is the figure on your Meta billing invoice.
CurrencyAccount currency, set when the ad account was created. Cannot be changed. Multi-currency advertisers run separate ad accounts per currency, this card is per-account.
iOS 14.5+ ATT impactSpend is unaffected by the iOS 14.5 Apple Tracking Transparency change. Meta still gets billed for every impression / click. The downstream impact is on conversion_value (the numerator of ROAS), not on spend. So you can trust this number even if your ROAS card looks wrong.
CAPI vs PixelNo effect on this card. Conversions API rollout matters for revenue and conversion attribution, not for spend.
Frequency cap relevanceIf you have a frequency cap configured at adset level, Meta will pace delivery (and therefore spend) to stay under it. Hitting the cap typically slows spend in the second half of a flight.
Refunds / creditsMeta credits (e.g. for over-delivery or platform issues) appear as negative spend lines in billing but do not net out of spend in Insights. This card matches Insights, not billing.
Time windowT/7D/30D vsP (default 30D vs the prior 30D). Today’s value updates with 1, 4 hour ingest lag.
Alert triggerspike >2σ vs 30D baseline. A daily spend reading more than two standard deviations above the trailing 30-day mean fires the card.
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 running Meta Ads across Facebook and Instagram. The 30-day window covers 02 Apr 26 to 01 May 26. The brand has Conversions API live for web, Pixel-only for mobile.
Campaign objectiveSpend (£)ImpressionsiOS shareNotes
Sales (Advantage+ Shopping)14,2004.1M62%Opaque optimiser, runs across all placements
Sales (Manual broad audience)5,8001.7M58%Cold prospecting
Sales (Retargeting, 90D site visitors)2,4000.6M71%Warm audience
Engagement (Reels boost)1,2002.2M64%Awareness-tier, low spend
Total (this card)£23,6008.6M63%
Meta-attributed conversion value for the same window: £71,800. Shopify-attributed revenue for orders tagged “Meta source” (UTM-based): £29,400. The two numbers should be the same if attribution were perfect; they aren’t.
  1. iOS-traffic conversions are structurally undercounted on Pixel-only campaigns. The mobile-app Sales campaign reads 4.6× ROAS in Meta but the Shopify UTM-tagged figure says about 2.1×. The 60% iOS share is invisible to Pixel after ATT consent rejection. CAPI catches a further 35, 50% of the iOS conversions but doesn’t fully close the gap. The “true” ROAS is between Meta’s claim and Shopify’s claim, weighted toward Shopify.
  2. Modeled conversions inflate the headline. Meta auto-fills attribution gaps with statistically-modeled conversions; for this account that’s roughly 12% of conversion_value. You can’t switch them off (this is by design since iOS 14.5). The modeled figure can over- or under-state, depending on Meta’s view of your audience.
  3. Advantage+ Shopping is intentionally opaque. £14,200 spent, no breakdown by audience, placement, or creative beyond what Meta’s Advantage+ overview shows. You see total ROAS, you don’t see why it’s that ROAS. Same trade-off as Google Performance Max.
  4. Spend held flat vs the prior 30D (£23,800), ROAS dropped from 3.3× to 3.0×. A flat-spend / declining-ROAS pattern is the creative-fatigue signature, the audience has seen the ads ~4-5 times each (frequency 4.2 in Meta’s reporting). Plan a new creative drop within the next 7-10 days.
  5. Reels engagement spend looks wasteful (£1,200, no attributed sales). That’s expected, the objective was Engagement, not Sales. Don’t compare ROAS across objectives. Use Spend by Campaign split by objective for honest reads.

Sibling cards merchants should reference together

Total Spend on its own only tells you how much you’ve burned. Pair it with these to know whether the burn was worth it:
CardWhy pair it with Total SpendWhat the combination tells you
Total RevenueThe numerator of ROAS sits next to the denominator.Spend up + revenue up at the same rate = healthy scaling. Spend up + revenue flat = scaling beyond efficient frontier.
ROASThe efficiency ratio. Spend without ROAS is just a bill.Spend rising while ROAS holds = expand the budget. Spend rising while ROAS falls = cap the budget.
Spend TrendDaily series. Total Spend can hide a mid-period spike that’s already burned out.A flat-30D total can mask a 2-day spike followed by 28 days at half-pace. The trend card reveals the shape.
Spend by CampaignPer-campaign split. The headline number is meaningless without knowing which campaigns ate the budget.If Advantage+ ate 60% of spend at 4× ROAS while Reels ate 5% at 0.2× ROAS, the answer is to cut Reels and keep scaling Advantage+.
Spend vs BudgetPacing check. Spend running 110% by day 20 of a 30-day window means an early-month overshoot.Use this to catch budget breaches before the credit card maxes out.
FrequencySpend rising on the same audience pushes frequency up.Frequency above ~4-5 within a 7-day window is creative fatigue territory. New creative needed.
GA4 Paid Social SessionsIndependent measurement of the traffic the spend bought.If Meta says you sent 50k clicks but GA4 only saw 35k Paid Social sessions, you have an iOS / consent / link-tracking problem.
Shopify Total RevenueThe truth side. Real Meta-driven revenue is a subset of Shopify total revenue.If Meta-attributed revenue exceeds 80% of Shopify total revenue, your attribution model is double-counting. Reset expectations.

Reconciling against the vendor’s own dashboard

Where to look in Meta Ads Manager: Meta Ads Manager → Campaigns → Amount Spent column. Set the date range to match this card’s window. The headline footer total should match this card to within sub-percent rounding. Other views that look like the same number but aren’t:
  • Billing → Transactions. This is invoiced spend, which lags Insights by 24, 72 hours and is netted of credits. Use it for accounts payable, not for performance reads.
  • Account Overview → Total Spent (lifetime). Cumulative since account creation, not period-bound.
  • Reach & Frequency campaigns. Reach & Frequency reservations are pre-paid and may report differently in Insights vs Billing for the first 24 hours.
Why our number may legitimately differ from Meta:
ReasonDirectionWhy
Time zoneBoundary days offMeta uses the ad account time zone (set at account creation, cannot be changed). This card uses UTC for period boundaries. For a 30-day window the difference averages out; for “today” or “yesterday” it can shift the number meaningfully, especially for accounts on US Pacific time.
Attribution window changesNone on spendAttribution windows changed from 28-day click + 1-day view to 7-day click + 1-day view as the default after iOS 14.5. This affects conversion_value, NOT spend. Spend is unaffected.
Modeled conversionsNone on spendMeta auto-fills attribution gaps with modeled conversions; modeled spend does not exist.
Ingest lagLower for “today”Insights ingestion lags by 1, 4 hours typically. Spend for the most recent 4 hours may not be in yet. Yesterday and earlier are caught up.
Advantage+ opacityNone on the headlineAdvantage+ Shopping breaks down within itself opaquely (you can’t see audience splits) but the total Advantage+ spend is fully visible and reconciles.
Cross-connector reconciliation: This card is Meta-Ads-only. The closest reconciliations are:
CardExpected relationshipWhat causes legitimate divergence
google_ads.gads_spendIndependent ad-platform spend, sums to Total Marketing Spend.Different platforms, no overlap. Don’t compare directly.
google_analytics.ga_paid_social_sessionsGA4 should attribute roughly (Meta CTR × Meta clicks) Paid Social sessions to Facebook / Instagram.iOS ATT, ad blockers, and consent rejection mean GA4 typically sees 60, 80% of Meta-reported clicks.
shopify.total_revenueNo direct relationship to spend. Use to compute true business ROAS = (Shopify revenue × Meta channel share) ÷ Meta spend.Channel share has to come from UTM tags or commerce-platform attribution; both are imperfect.

Known limitations / merchant FAQs

Why is my Meta spend higher than my Shopify Meta-attributed revenue × my “expected” ROAS? Two things to check. First, your Shopify-side attribution probably uses UTM tags, which only catch Meta clicks where the user clicked through with tracking intact. iOS ATT-rejected users land on your site without UTMs (the click goes through but Meta can’t tag the destination), so they show up as Direct or Organic in Shopify. That makes Meta-attributed Shopify revenue look smaller than it really is. Second, Meta’s conversion_value includes modeled conversions; even if you back out the modeling, it’s typically 1.4, 2.5× higher than what UTM-tracked Shopify will see for the same period. The truth is somewhere in between. Don’t reconcile to within 5%, expect 30, 60% gaps. What’s the iOS 14.5 ATT impact on my spend? Zero on spend. Meta still gets paid for impressions and clicks regardless of whether the user opted into tracking. The ATT impact is on the measurement side: conversions and revenue attributed to those impressions. So your spend numbers are reliable; your ROAS numbers are not. Treat spend as a hard fact, treat ROAS as a directional read (especially for iOS-heavy audiences). Should I roll out Conversions API (CAPI)? Yes, immediately if you haven’t. CAPI sends conversions server-to-server, bypassing the browser-Pixel chain that ATT broke. Typical lift after a clean CAPI rollout: 15, 35% more attributed conversions, especially on iOS. Implementation is 1, 3 days for Shopify (use the official Meta channel app), 1, 2 weeks for custom platforms. The order of priority: web purchase, web add-to-cart, web view-content. Don’t bother CAPI-fying lead-form events until purchase is solid. My spend is rising 5% week-on-week, is that healthy? Healthy IF: ROAS is holding flat or rising, frequency is below ~4 in a 7-day window, and you’re not breaching the budget pacer. Unhealthy IF: ROAS is dropping more than 5% per week alongside the spend rise, or frequency is above 5 (creative fatigue), or CPM is rising faster than CTR (audience saturation). Why is my Advantage+ Shopping campaign so opaque? By design. Advantage+ is Meta’s response to Google’s Performance Max, the optimiser handles audience, placement, and creative selection automatically. You see headline ROAS and headline spend; you don’t see which audience or creative was responsible. The trade-off is performance: well-tuned Advantage+ campaigns typically out-perform manual setups by 20, 40% on cold-prospecting objectives. If you need granular visibility, run a manual broad-audience campaign in parallel, smaller budget, manual targeting. How do I aggregate spend across multiple Meta ad accounts? The Meta Marketing API enforces per-ad-account scoping; there is no single “all my accounts” Insights call. Vortex IQ Nerve Centre renders one card per connected ad account. To roll up, either (a) use the Business Manager → Account Quality view (which shows headline spend per account in one screen, no API needed), or (b) export each account’s spend to a sheet and sum. Holding-company merchants typically run a custom DataDog or BigQuery roll-up. Why does my “today” spend look low at midday? Insights ingest lag is typically 1, 4 hours. The Meta-billed spend for the past 4 hours probably isn’t in the API yet. Wait until tomorrow morning for a clean read of yesterday. For real-time pacing, use the Ads Manager UI (which has a faster internal feed) rather than the API. Are spend credits and over-delivery refunds netted from this card? No. Insights reports gross media spend. Meta credits (issued for billing errors, over-delivery beyond the daily budget cap, or platform incidents) appear as billing adjustments, not as Insights line items. If your billing total is meaningfully lower than this card’s total, log into Billing → Transactions to see the credit lines. Typical credit volume is <1% of spend; large gaps indicate an investigation is needed. Frequency cap and spend, are they related? Yes. If you’ve set a frequency cap on an adset (e.g. “no more than 3 impressions per user in 7 days”), Meta will throttle delivery once high-frequency users are saturated. The visible effect is spend pacing slower than the daily budget, especially in the second half of a flight on a small or warm audience. Remove or raise the cap to unblock spend.

Tracked live in Vortex IQ Nerve Centre

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