Skip to content
All channels

Every ad channel against what the shop really sold

Each platform claims purchases within its own attribution window, so their numbers together always exceed the shop’s orders. Basketly shows every channel on one page and keeps apart what the platform says, what Basketly read from the last click and what the shop sees.

Campaigns → All channels: total spend, MER, orders by source, the sum of platform claims and the channels table

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

Every channel on one page

Campaigns → All channels and the top tiles of Reports count the shop against all spend. Each tile is compared with the previous period of the same length and has an (i) with its definition and source.

Reports → Ad channels: the Channels table with a row per platform, costs typed in by hand and order sources

Three truth levels, never mixed

Every number in the Channels table belongs to one of three levels and says so in its header.

  • Platform

    Meta, Google, TikTok…

    What the platform itself reports, within its attribution window named on the row.

    • Conversions, their value, ROAS and cost per conversion
    • Never added across platforms: the totals row leaves them empty
  • Basketly (last click)

    Shop script

    Orders whose last ad click Basketly read from the shop script (after consent) or a tagged feed link.

    • The channel’s orders and revenue, Basketly ROAS and cost per order
    • Share of all the shop’s orders
  • Shop

    Orders

    Paid, not cancelled shop orders, wherever they came from.

    • Channel MER: shop revenue per unit of spend in the channel
    • Labelled co-occurrence, not attribution

Each channel on its own campaigns

Tabs with the platform’s logo: Meta always, and Google Ads, Microsoft Ads, TikTok, Pinterest and ChatGPT Ads when they have spend in the period or are connected. A channel tab has that platform’s tiles (spend, conversions with cost, value with ROAS, Basketly orders, channel MER) and a table of its campaigns.

  • Campaign state (active, paused, removed) and type: Search, Shopping, Performance Max, Display, Video, Demand Gen, App
  • Ad groups and ads as further levels where the platform gives them (TikTok, Pinterest and ChatGPT Ads: campaign → ad group → ad)
  • Basketly orders of a campaign matched by campaign id or by a utm_campaign equal to its name
  • “Show products” on Google Ads and Microsoft Ads campaigns: products with the platform’s own conversions next to the shop’s sales
  • Performance, Shop sales and Engagement views, a totals row in one currency and CSV export
See campaign reporting
The Google Ads tab: Search, Shopping and Performance Max campaigns with the platform’s conversions and last-click orders

Attribution windows printed on every channel

Where a platform exposes its attribution window, we read it and print it in days. That shows why two platforms claimed the same order.

ChannelAttribution window
MetaThe most common window of the active ad sets (the account’s default)
Google AdsThe purchase conversion action’s window, 30 days after a click by default
Microsoft AdsThe account’s conversion goal window
TikTokThe most common ad group window, marked when ad groups differ
Pinterest30 days after a click, 30 after engagement, 1 after a view
BasketlyLast click from the shop script or a tagged link

Costs outside ad platforms and your real MER

Comparison sites, the e-mail tool or an agency cost money no ad platform reports. In “Costs outside ad platforms” you type in a monthly amount. We spread it evenly over its days and count it in total spend, MER and cost per order — as its own row marked “typed in by hand”, never in platform figures.

  • Kind: comparison site, e-mail tool, agency or other (then with a name), month, amount, currency and a note
  • Viewing with Reports view, changes with Reports edit; every change is audited
  • Optional: spend in foreign currencies converted by the NBP average rate of the spend day (table A), with the rate’s date under the table. Off by default — other currencies are then counted apart
Costs outside ad platforms: Ceneo, the agency and the Klaviyo subscription typed in per month

Where every order came from

The Source column in Orders shows the channel of the last click according to Basketly: Meta, Google Ads, Microsoft Ads, TikTok, Pinterest, ChatGPT Ads, e-mail (utm_medium email or newsletter, sources such as Klaviyo, Mailchimp, GetResponse, FreshMail, Brevo), price comparison sites (Ceneo, Skąpiec, Nokaut, Okazje, Idealo), other, direct visit or unknown. The “Orders by source” bar and each channel’s Basketly orders are counted from these sources.

See orders and buyers

Products in channels

A view of the Reports Products tab (In channels) where every product stands against every channel that shows it: impressions, clicks, spend, CTR, the platform’s own conversions where it reports them per product (Meta does not), Basketly orders of the channel and units per 100 clicks. Next to it a Shop group (units, revenue, stock, days of cover) and a channel comparison with the product’s best channel.

  • A channel without per-product data in the period gets no zeros; the table’s (i) names it
  • Google Ads, Microsoft Ads and TikTok appear by themselves once their per-product reads store rows
  • Never a column adding up platform conversions
Reports → Products → In channels: every product against Meta, Google Ads, Microsoft Ads and TikTok, with its best channel and the shop’s sales

Conclusions about channels

The Conclusions list in Reports has a Channels area and a channel filter with logos. Each rule speaks only from its minimum sample and names the truth level of every number.

Conclusions filtered to Google Ads: the channel’s MER falling, spend up with flat revenue, a product Meta does not show and a product that sells from Google, not from Meta

TikTok, Pinterest and Klaviyo: reading results

TikTok, Pinterest and ChatGPT Ads connections send purchases, and with the “Read campaign results” switch on in Integrations they also read results: 90 days at once, then every 6 hours, at the campaign, ad group and ad level. A token without reporting permission gets a readable reason on the channel tab and in Self-check — never invented figures. Klaviyo with the same switch adds its e-mail campaign and flow revenue to the E-mail row of the Channels table.

See integrations
The TikTok tab: many impressions, reach, traffic and catalogue campaigns with no purchase and no order

Creatives and the weekly report know about channels too

Creatives have the same channel tabs: TikTok ads with video covers, Google ads with their assets (headlines, descriptions, images, YouTube videos) and Microsoft ads, with the platform’s figures and Basketly orders. The Monday e-mail gives each channel’s spend with its change and the blended MER.

See creative analytics
Creatives → Google Ads: ads and assets (headlines, descriptions, images) with the platform’s figures

Platform conversions come from their reports, each within its own attribution window, and we never add them across platforms. Basketly orders are our reading of the last click, and MER is shop revenue divided by spend, without attributing sales to ads. None of these numbers proves that a campaign optimises on the data sent.

All channels

Frequently asked questions

Can’t find your question? Write to us

Each platform claims a purchase if the buyer saw or clicked its ad within its attribution window. One order can be claimed by Meta and Google at once. That is why we show the sum of claims only next to the shop’s orders, with the overlap ratio, and never add it to sales.

Meta spend is read for the ad accounts of your Meta receivers. 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. Basketly orders per channel need the shop script after the buyer’s consent, or tagged feed links.

Not by default: spend in a currency other than the shop’s main one is counted apart and named in the (i). An owner or admin can switch on conversion by the NBP average rate of the spend day; the Channels table then shows the rate’s date and every converted amount.

No. We only read those platforms’ campaign results. Costs outside ad platforms typed in by hand stay in the panel and are not sent anywhere.

Yes. The channel report, each platform’s campaigns, products × channels, conclusions with a channel filter and costs outside ad platforms are in API v1 and the MCP tools. Reading TikTok, Pinterest and ChatGPT Ads results is switched on in the panel only.

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