At a glance
Revenue Meta attributes to its ads, summed across every campaign in the ad account. The Insights field ispurchase_roas[].value × spendresolved asaction_values[type='purchase'], returning revenue tagged to ad-attributed purchases within the configured attribution window.
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 beauty DTC merchant. iOS skews high in this category. The 30-day window is 02 Apr 26 to 01 May 26. Spend was £18,400, Pixel-only on web (no CAPI yet).
For the same window, Shopify’s UTM-tagged Meta-source revenue: £21,600. GA4 Paid Social-attributed revenue: £25,400.
- The Meta number is 2.2× the Shopify UTM number. Without CAPI, this is the structural pattern for iOS-heavy DTC. The “true” Meta-driven revenue sits between the two: probably £28, 35k. iOS users who clicked through Meta land on Shopify without UTMs (ATT strips them or they’re blocked at the link click), so Shopify counts them as Direct or Organic. Meta uses modeling to claim them; the modeling is partly real, partly inflation.
- Modeled conversions auto-fill ~20% of the Meta-reported revenue here. You can’t switch them off. The advice: track a rolling 30-day average and look at the trend, not the daily reading. Modeled values are noisier on the daily, smoother on the rolling.
- Advantage+ campaigns dominate but are opaque. £14,200 of the £18,400 spend (77%) sat in Advantage+ Shopping. The breakdown by audience or creative is not exposed; you see the headline ROAS, you don’t see why. Same pattern as Google PMax.
- Reported ROAS on this card: 48,000 ÷ 18,400 = 2.61×. Reported ROAS using Shopify-side UTM truth: 21,600 ÷ 18,400 = 1.17×. The CFO will ask which one to believe. Neither. The honest read is “directionally we’re break-even to slightly profitable on Meta, before COGS and overhead”. Don’t quote the Meta 2.61× as fact.
- Creative refresh due in ~2 weeks. Meta’s reporting shows frequency at 4.6 in a 7-day rolling window for the Advantage+ Shopping audience. CTR has dropped from 1.4% to 0.9% over the same span; that’s the creative-fatigue cycle. Plan a new ad batch for week 5, 6 of the flight.
Sibling cards merchants should reference together
Total Revenue is the numerator of ROAS. Look at it with these to know if the headline is real:Reconciling against the vendor’s own dashboard
Where to look in Meta Ads Manager: Meta Ads Manager → Campaigns → Columns → Performance and Clicks → “Purchases Conversion Value”. Make sure the date range matches this card’s window. The footer total should match this card to within sub-percent rounding. Other Ads Manager views that look similar but aren’t the same:- Website Purchases (All Conversions): includes view-through and cross-domain. This card uses the click-attributed
purchaseaction only. - Mobile App Purchases: a separate event for app conversions (SDK-tracked). This card is web-purchase only.
- Offline Conversions: server-uploaded conversions. Reported separately unless explicitly merged via Conversions API.
Cross-connector reconciliation:
Known limitations / merchant FAQs
Why does Meta say I made £150k and Shopify says only £30k from Meta? The single most common question. Three reasons stack up:- iOS 14.5 ATT. Roughly 60, 70% of UK iOS users decline tracking. Pixel can’t fire fully; CAPI catches some but not all. The clicks that converted to purchase still happened, but Meta’s UTM tags get stripped or rejected, so when the user lands on Shopify, the UTM is absent. Shopify counts the order as Direct or Organic. Meta uses statistical modeling to claim it; that modeling can be optimistic.
- Last-click vs last-non-direct attribution. Meta credits a 7-day-click window. If a user clicked Meta on Monday, browsed away, came back via Google search on Friday, and bought, Meta claims the sale. GA4 (and most Shopify UTM-based logic) credits the Google search as the last-non-direct touch. Same purchase, different platform claims it.
- View-through and cross-domain conversions. Meta sometimes leaks view-through into the headline if your account is misconfigured. Check the column-builder, you should be reading “Purchases” (click-only), not “Website Purchases (All Conversions)”. This card pins to click-only.
event_id for deduplication, 1, 2 weeks dev time. In all cases, deduplicate via event_id so Meta doesn’t double-count Pixel + CAPI.
How do I interpret modeled conversions?
Meta blends them into action_values invisibly. Two patterns to watch:
- Modeled lift after iOS 14.5: typical 8, 18% of total revenue. Reasonable.
- Modeled lift after a CAPI rollout: should decrease (CAPI catches conversions Meta no longer needs to model). If modeling stays high after CAPI, you have a CAPI implementation issue.
event_id and matching event timestamps; Meta dedupes server-side. Without dedup, you do double-count, this is the #1 CAPI mis-implementation. Test it: the Meta Events Manager → Test Events tab shows whether dedup is working. If both events fire with the same event_id, dedup is on.
My today value looks much lower than yesterday at the same hour, normal?
Yes. Today’s attributed revenue is built from incomplete data: Pixel/CAPI events are still ingesting (1, 4h lag), modeled conversions take up to 72h to converge, and view-through windows accumulate over multiple days. Read the rolling 7-day or 30-day average, not the today value. Don’t make decisions on a single day’s reading.
Should I trust this number for budget decisions?
For directional (“Meta is in profitable / unprofitable territory”) yes. For exact ROI (“Meta drove £X of profit”) no, blend it with Shopify UTM-truth and your own MMM (media mix model) if you have one. Rule of thumb: if Meta’s claimed ROAS is over 4×, you’re directionally profitable on Meta even after the iOS gap. If it’s under 2×, you’re directionally unprofitable. Between 2, 4× it’s measurement-method-sensitive.
Why is my Meta revenue different from Google Ads revenue for the same period?
Different ecosystems, different attribution. Meta sees Pixel + CAPI events; Google Ads sees Google Tag Manager + Enhanced Conversions. Both use last-click within their own window. Both will independently claim the same purchase if the user touched both channels. Sum of “Meta-claimed + Google-claimed” almost always exceeds total Shopify revenue because of double-claim across channels. This is a known structural artefact. Use commerce-platform truth (Shopify) as the denominator, not the sum of platform claims.