Channels — Facebook / Meta ads
How to read your Meta Ads spend, performance, and attribution in Ordinary once the Meta integration is connected.
On this page
Meta campaign reporting requires Starter or higher and a connected Meta Ads account. See Connecting Meta Ads.
Once Meta is connected, Ordinary pulls your campaign, ad-set, and ad-level data and cross-references it with pixel-observed attribution. Left nav → Channels → Meta.

The list view
One row per campaign. Columns:
- Campaign — the campaign name
- Spend — total over the selected dates, in your display currency
- Revenue — revenue from the orders credited to this campaign
- ROAS — Revenue / Spend
- Conversions — follows the Click-through / View-through toggle (see below)
- CTR and Clicks
Click any column header to sort, and click a campaign to open it.
The detail view
A campaign page has five tabs: Overview, Ads, Breakdowns, History and Notebook. The date picker and attribution model apply to all of them.

Overview
The campaign’s summary, top to bottom:
- Performance over time — a chart of the campaign’s metrics by day. Pick which series to show, such as spend, Meta conversions, store orders or ROAS.
- Cohort and lifetime value — what the customers this campaign acquired have been worth since: customers acquired, first-order revenue, repeat spend, projected 12-month value, estimated acquisition cost, LTV / CAC and payback period. See How attribution is measured § Cohort and lifetime-value view.
- Store-attributed analysis — store totals for the campaign and a day-by-day chart of Meta-reported vs. store-attributed conversions. The gap between the two lines is how much of Meta’s count your store can’t confirm. See How attribution is measured § Click-through vs view-through.
- Placement — where the campaign’s ads served (Facebook Feed, Instagram Stories, Reels and so on). See Meta deep analytics § Placement breakdown.
- Ad sets table — one row per ad set with the same metrics as the campaign. Expand a row to see its ads, or open the ad set for its own page with creative detail and an age and gender breakdown.
Ads
Every ad in the campaign in one flat list, grouped by ad set — handy when you want to compare creative without expanding ad sets one at a time. See Meta deep analytics § The creative library.
Breakdowns
Two charts: Device (mobile vs. desktop, iOS vs. Android) and Conversion actions (which actions Meta counted, by share). See Meta deep analytics.
History
Configuration history — the changes made to the campaign over the selected dates: status, objective, bid strategy, budget, and ad-set targeting and optimisation. See Meta deep analytics § Campaign configuration history.
Notebook
A space for notes and context about the campaign. Notes aren’t saved yet, so keep anything important somewhere else for now.
Attribution model
The model toggle at the top of the page affects the Revenue, ROAS and store-order numbers. Same four models as Marketing Mix — First-touch, Last-touch (default), Linear and Time decay.
See Attribution models explained.
Click-through vs view-through (why Meta’s numbers don’t match)
Across your whole Meta account, Meta’s reporting will usually show more conversions than Ordinary’s Click-through view — that’s expected, the two are counting different things:
- Click-through — someone clicked your ad and bought. Ordinary confirms these against your own store, so they’re conversions you can verify.
- View-through — someone saw your ad, didn’t click, and bought later. Only Meta can see these, so Ordinary reports Meta’s figure.
The Click-through / View-through toggle — in the page header on Channels → Meta and on the Meta panel on Brand Pulse — switches between the two. View-through is the default (it’s the number Meta’s dashboard and most agencies quote); Click-through is the store-verified floor underneath it.
A couple of other things move the numbers:
- Attribution window — Meta’s default is 7-day click + 1-day view (configurable per ad account). Ordinary doesn’t truncate at a few days the way the platform does — it credits the actual last ad click in the customer’s journey under your chosen model, looking back up to 180 days for first-touch, last-touch and linear, and 60 days for time decay. Different window and different method, so the counts won’t line up one-to-one.
- Cross-device — Meta deduplicates users across devices via their identity graph. Ordinary treats each browser as its own session stream until the shopper authenticates at checkout and we can link them.
- A single campaign can occasionally flip — show more click-verified orders in Ordinary than Meta reports for it. That’s last-click crediting the campaign that got the final click in the journey, while Meta spreads credit across everything the shopper saw. It evens out across your whole account, so compare totals there for the cleanest read; per-campaign, treat Ordinary’s click-verified number as the one you can stand behind and the gap vs. Meta as directional.
They almost never match exactly, and the gap is where the real decision lives: view-through might be genuinely driving demand, or it might be sales you’d have made anyway. Ordinary’s experiments measure the true incremental lift of your spend, so “is view-through worth it?” stops being a guess. For reconciliation, use Meta for delivery metrics (impressions, CTR, CPC) and Ordinary for outcome metrics (orders, revenue, ROAS).
Spend in a different currency than your ad account
Some Meta ad accounts are billed in a currency that isn’t the one your store reports in — for example an account first created in Canada bills in CAD even though the shop reports in GBP. Meta’s own Ads Manager always shows that account’s billing currency.
Ordinary converts your Meta spend and Meta-reported revenue into your
display currency using each day’s exchange rate, so a whole year of history
converts month-by-month at the rates that actually applied — not one flat
rate. When this happens you’ll see a small badge (for example CAD→GBP)
next to the channel; hover it for the details.
Because of the conversion, these figures won’t match Meta’s Ads Manager, which keeps showing the account’s billing currency. That’s expected — the numbers are the same spend, expressed in your reporting currency. If you want the two to line up, set your display currency to the ad account’s currency, or compare inside Meta.
What if ad spend looks zero
- Connection needs reconnecting — check Settings → Meta. If it says “Reconnect required,” click Connect Meta and approve the permissions again.
- Date range past your plan’s lookback — partial data badge will show.
- Meta sync hasn’t finished yet — check Settings → Sync Status. See Meta data is stale or empty.