Skip to content
Campaign reporting

What a purchase costs and what the shop sold

Basketly reads spend and results from Meta, Google Ads, Microsoft Ads, TikTok, Pinterest and ChatGPT Ads and puts them next to the orders your shop sees. You judge each channel on its own campaigns, and all of them together against the shop. Every number has its source, and nothing gets mixed.

Campaigns: purchases and their value as Meta reports them, shop revenue and MER, with the campaign table below

Screenshots from a demo organisation. People and numbers are fictional.

Channel switcher

Tabs with the platform’s logo: All channels first, then Meta and every platform with spend in the period or a connection. All channels gives total spend, blended MER, cost per order, the order source bar and the sum of platform claims, with the Channels table below.

  • Meta: the full report below: campaigns, ad sets and ads, video, ad set goals, products in catalogue ads.
  • Google Ads and Microsoft Ads: campaigns with their type (Search, Shopping, Performance Max…), ad groups and ads, “Show products” with the platform’s per-product conversions.
  • TikTok, Pinterest and ChatGPT Ads: campaign → ad group → ad once “Read campaign results” is on in Integrations. Until then the tab shows Basketly orders and a button to switch reading on.
  • Attribution window on the channel: read from the platform and printed in days, with Basketly’s last-click orders next to it, matched by campaign id or utm_campaign.
See every channel and blended MER
Campaigns → Google Ads: Search, Shopping and Performance Max campaigns with Google’s conversions and last-click orders

Sales tiles on the Meta tab

When Meta reports purchases or the shop has orders in the period, sales tiles sit at the top, each against the previous period of the same length. Next to them, Basketly orders from Meta campaigns, labelled “our reading”.

  • Purchases (Meta)

    Meta

    With cost per purchase, as Meta reports them.

  • Purchase value (Meta)

    Meta

    With ROAS: value divided by spend.

  • Shop revenue

    Shop

    Bought, not cancelled orders of the period, same currency, with the order count.

  • MER

    Shop

    Shop revenue divided by Meta spend, for the whole account. MER over every channel is on the All channels tab.

How we count

A few rules behind the report’s columns.

RuleWhat it means
One purchase type per rowPurchases from all surfaces, else the pixel/server purchase, else plain purchase. Never a sum
A campaign filter hides shop figuresOne campaign’s share of the shop’s sales is unknown
A cost only when there is something to divide byWithout purchases the cost is “—”, not 0
Currencies apartOne tile set per ad-account currency, never converted
Platform conversions never added upEach platform counts within its own attribution window, so the all-channel totals row leaves them empty

From campaign to a single ad

A Campaigns, Ad sets and Ads table with drill-down, sorting, a totals row and ad thumbnails. Meta status and the optimisation goal have their own columns. CSV export of the visible columns with semicolons and a decimal comma.

  • Columns to pick in sections: Meta results, costs (CPC, CPM), reach and engagement (impressions, clicks, CTR), video (hook rate, hold rate, views) and Basketly orders
  • Drag columns into order and save the layout as a view; ready-made views: Performance, Shop sales, Engagement, Video
  • Custom columns with a formula, e.g. Basketly revenue divided by spend, as a number, amount, percent or multiplier
  • “Hide paused and inactive” hides rows that are not running
  • For many clients: the “All” overview with each organisation’s totals

Products in catalogue ads

“Show products” on a campaign or ad opens the catalogue products it showed, most shown first: impressions, clicks, CTR, CPC and spend from Meta’s per-product breakdown, plus each product’s sales in the shop.

See product statistics

Conversions and ROAS come from the platforms’ reports, each within its own attribution window; shop revenue and MER from your orders. MER does not attribute sales to ads. None of these numbers proves that a campaign optimises on purchases sent from the server.

Campaign reporting

Frequently asked questions

Can’t find your question? Write to us

Not for Meta: we pull spend for the ad accounts your data receivers already use, 90 days back on the first sync, then every hour and at night. Google Ads and Microsoft Ads are connected by signing in under Integrations, and TikTok, Pinterest and ChatGPT Ads by the “Read campaign results” switch on their connection; then we read 90 days and every 6 hours after that.

Meta counts purchases it attributes to its ads, within its attribution window. The shop counts every order, wherever it came from. That is why we show both separately, each with its source.

The report does not; it only reads data from the platforms. A new ad is created in Meta only when an owner or admin creates it in Creatives (Clusters): always paused, with [basketly.io] at the start of its name.

Get started in under 5 minutes

Connect your shop and Meta and see how many purchases really arrive.

  • Free up to 100 orders a month
  • No developer needed
  • Purchase balance and self-check