Skip to main content
Metrics type: Key MetricsCategory: 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).

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

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: Cross-connector reconciliation: This card is Meta-Ads-only. The closest reconciliations are:

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.