Starter plan & up

Channels — Facebook / Meta ads

How to read your Meta Ads spend, performance, and attribution in Ordinary once the Meta integration is connected.

Ordinary Written by The Ordinary Team · Updated
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.

Meta campaign list with spend, revenue, ROAS, conversions, CTR and clicks per campaign. Demo data.

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.

Meta campaign detail, Overview tab: performance over time, comparing Meta-reported conversions with store orders. Demo data.

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.

Did this answer your question?

Thanks for your feedback! 🙌

Related articles