Skip to content
Campaigns & reporting

A weekly shop sales report every Monday: revenue, spend of every channel, MER and ROAS without mixing sources

How to read Reports and the Monday e-mail: shop revenue, spend of every channel, blended MER, ROAS as each platform reports it and best-selling products.

Published: Updated: 12 min read
Illustration: a bar chart of revenue and spend day by day with a trend line and a calendar with one day highlighted
On this page
  1. Why does every number in the report name its source?
  2. What do the shop numbers show?
  3. How do MER and ROAS differ?
  4. What does the Channels table show?
  5. What are purchases accepted for sending?
  6. Where do I start reading Reports?
  7. What else is on the Reports page?
  8. What arrives in the Monday e-mail?
  9. How it looks in Basketly
  10. Limits
  11. Next step

A shop sales report answers the question every shop owner asks on Monday: how much did I sell, how much did I spend on ads across every channel, and does it pay off? The Reports page in Basketly puts these numbers in one place and names the source of each. Below: what every figure means, how MER and ROAS differ, and what exactly arrives in the Monday e-mail.

Why does every number in the report name its source?

Every number in the report carries one of three truth-level marks — Shop (the shop's orders), Platform (Meta, Google Ads, Microsoft Ads, TikTok, Pinterest, by its own attribution window) or Basketly (last click) — and a legend under the page header says what each means, because these sources count different things and must not be mixed. The shop knows what was bought. Each platform knows what it spent and which purchases it attributed to its ads within its own attribution window. Basketly knows how many purchases it accepted for sending and which channel had the last click before an order.

The most common mistake in shop reports is adding numbers from different sources as if they described the same thing. Meta and Google may both claim the same purchase, and each of them one the customer would have made anyway. That is why the panel puts these numbers side by side but never recalculates one from the other.

SourceNumbersWhat they tell you
From the shopNumbersRevenue, paid orders, average order, new and returning buyersWhat they tell youWhat actually sold
From the platform's reportNumbersSpend, conversions and their value, ROASWhat they tell youWhat that platform spent and what it counts as the result of its ads
From BasketlyNumbersPurchases accepted for sending, orders by source (last click)What they tell youHow many purchases were queued for the platforms and where orders came from

Everything is compared with the previous period of the same length: 30 days against the 30 days before them. A comparison only means something when the data covers the whole previous period: if the shop was connected 40 days ago and the chosen period is 90 days, the sentence on top gives the amounts alone and says since when the shop's data exists, and the conclusions about changes stay silent — a „150% growth” would only be missing data. The same goes for a channel that started spending in the middle of the previous period: its MER is not compared.

A period that ends today is compared fairly while the day is still going on. Orders, revenue and buyers of the previous period are counted up to the same hour on its last day, and spend, MER, ROAS and the cost per order are compared without today in both periods, because ad platforms report spend per whole day. A note under the period switch then reads „Compared up to 14:20 in both periods · Spend compared without today”. The tiles still show the figures with today, and a morning no longer shows a fall that is not there.

What do the shop numbers show?

The "from the shop" part counts bought, not cancelled orders placed in the chosen period. Revenue is shown in the main currency, the one most orders use; orders in another currency are counted separately. Next to it are paid orders, the average order, new and returning buyers, and the share of returning buyers.

  • Revenue is the sum of bought orders in the main currency. Under it you see the number of orders in other currencies, if there are any.
  • Paid orders is the number of bought orders, with the cancelled count next to it.
  • Average order is revenue divided by the number of orders in the main currency.
  • Buyers split into new (first order in this period) and returning. The Returning tile shows what share of buyers had bought before.

The Orders page follows the same rules, described in the article on orders, revenue and buyers. The report adds the comparison with the previous period and the numbers from the ad platforms.

How do MER and ROAS differ?

MER (marketing efficiency ratio) is the shop's whole revenue divided by all marketing spend: the spend of every ad channel read from the platforms (Meta, Google Ads, Microsoft Ads, TikTok, Pinterest) plus the costs outside ad platforms you type in by hand, such as comparison sites, the e-mail tool or an agency. It does not assume the ads brought the sales, so it carries no attribution at all. ROAS (return on ad spend) is the value of purchases a platform attributed to its ads, divided by its spend. Both are counted in the same currency.

An example with round, made-up numbers: monthly shop revenue is 60,000, Meta spend is 8,000, Google Ads spend is 2,000, and Meta attributed purchases worth 30,000 to its ads. MER (blended) is 6, Meta's ROAS is 3.75. Both are true, but they answer different questions. MER says how much of the whole shop's sales falls on each unit spent on marketing. ROAS says how much of the sales Meta counts as its own doing.

Neither is "the right one". MER also rises when a newsletter or the season drives sales and the ads have nothing to do with it. ROAS depends on the platform's attribution settings and on how many purchases it can see at all. So watch the trend of both over time rather than a single value. Meta's own ROAS and MER sit in the Meta row of the Channels table. More on these metrics and on cost per purchase in campaigns in the article on ROAS, MER and cost per purchase in Meta.

Next to them is cost per order (blended): all spend divided by the shop's number of paid orders. It is also a metric without attribution, useful for comparing weeks.

What does the Channels table show?

On the Ad channels tab every channel has one row (seven columns by default: spend, orders, revenue and ROAS by the last click, the platform's conversions and ROAS; a "Total" row only with two channels or more, and a number the platform did not report shows as "—", not 0): paid platforms first, then order sources without spend (e-mail, price comparison sites, other, direct visits, unknown). Each row carries three levels of truth the panel never mixes:

LevelNumbersWho counts
PlatformNumbersConversions, their value, ROAS, cost per conversion, with the attribution window named on the rowWho countsThe ad platform itself
Basketly (last click)NumbersOrders and revenue whose last ad click came from this channel, ROAS and cost per order, share of ordersWho countsBasketly, from visits to the shop
ShopNumbersChannel MER: shop revenue divided by this channel's spendWho countsA comparison, not attribution

Conversions of different platforms are never added up, because attribution windows overlap: the totals row leaves them empty. The Sum of platform claims tile instead shows how many conversions all platforms claimed together next to the shop's orders. A clearly bigger sum is information about overlapping windows, not an error.

The "Costs outside ad platforms" button by the table opens the costs typed in by hand (month, kind, name, amount, currency). A month's amount is spread evenly over its days; each cost has its own row marked "typed in by hand" and counts in total spend, MER and cost per order, never in platform figures. In the same dialog the owner or an admin can switch on converting spend in other currencies by the NBP average rate of the spend day; without it other currencies stay apart.

What are purchases accepted for sending?

The "Purchases accepted for sending" tile shows how many purchases of the period Basketly accepted and queued for the platforms, and their share of paid orders. If the shop had 200 paid orders and only 120 accepted purchases, part of your sales never reaches Meta at all.

This tile does not say whether Meta received the purchase. You check that on the Conversions page, in the purchase balance described in the article are purchases reaching Meta. Even a received purchase is not proof that a campaign optimises for sales: Meta gets the data, and what it does with it is visible in Ads Manager.

Where do I start reading Reports?

With the Overview tab, which opens first. On top is one sentence about the period, e.g. "Shop revenue +40% with spend higher by 20%: MER ×7 (+17% against the previous period)", with the figures in coloured badges (green good, red bad) and a "N things to check" link. Under it six figures: revenue, orders, average order, total spend, MER and cost per order. Below, the Conclusions: the five most important, each with its whole title, a "What to do" sentence and a button that takes you exactly where you do it. The period switch names both date ranges (e.g. "27 Sept – 26 Oct, against 28 Aug – 26 Sept") and "Range" lets you pick your own days.

The other tabs are named after the questions they answer: Ad channels (which channels earn and which only spend), Products (views Trends and In channels), Lead to purchases (products that bring buyers in), Visibility in the Meta catalogue and Stock levels. Each starts with its own content; its conclusions wait folded in one "N conclusions in this part" bar, and the number on the tab is the same count.

What else is on the Reports page?

On the Ad channels tab, next to the Channels table, sit buyers, purchases accepted for sending, the sum of platform claims and Orders by source — a 100% bar where every order has one last-click source (Meta, Google Ads, Microsoft Ads, TikTok, Pinterest, e-mail, comparison sites, other, direct visit, unknown). Below are two charts side by side, each on its own axis: shop revenue day by day and spend day by day stacked by channel, with MER week by week under them, which quickly shows the weeks when spend grew and sales did not. Best-selling products are the 10 products with the most revenue from the lines of paid orders.

The product list counts sales from every source, not only from ads. Meta gives no purchases per product, so there is no honest way to say which product sold thanks to ads. How products do in each channel (impressions, clicks, spend, Basketly orders per 100 clicks) is in the In channels view of the Products tab; Google Ads, Microsoft Ads and TikTok also give their own per-product conversions there.

What arrives in the Monday e-mail?

On Monday at 06:05 UTC the owner and admins get the previous week's sales, Monday to Sunday in the organisation's time zone, next to the week before. The e-mail contains revenue with its percentage change, orders, new and returning buyers, the average order, the spend of every channel with its change and MER (blended), one line per paid channel with spend (its spend and Basketly's last-click orders; platform conversions are never added up), accepted purchases, the three best products and, when the shop reports stock, a Stock levels section.

A few rules worth knowing:

  • The e-mail is in the language set on the recipient's account, Polish or English.
  • Each person gets the report for a given week at most once.
  • Spend and MER appear only when the week had spend in the main currency.
  • An organisation without any bought order gets no report, because there is nothing to sum up.
  • The link in the e-mail leads straight to the Reports page.

The owner or an admin switches the report on and off in the ⋯ menu in the Reports page header ("Turn on the Monday e-mail report" / "Turn off…"). The recipients are always the owner and admins; other addresses cannot be added. If you want to send updates to other people, use an automation with the "E-mail the team" action.

How it looks in Basketly

The page is in the menu under Analytics → Reports. Anyone with at least view access to the Events area can open it; the ⋯ menu with the e-mail setting is visible to the owner and admins. Without orders the page shows an empty state saying the report appears once the shop is connected.

A full report needs two things: orders from the shop (Shoper, IdoSell, BaseLinker, WooCommerce or Shopify in Integrations) and spend of the ad accounts. Meta spend is read every hour, Google Ads and Microsoft Ads every 6 hours, and TikTok and Pinterest every 6 hours once "Read campaign results" is switched on for their connection, so today's numbers may still change. More about the feature on the Sales report page.

Limits

  • MER has no attribution. It describes the whole shop, not how well a given campaign works.
  • ROAS is the platform's number. It depends on its attribution model and on how many purchases it sees; ROAS of different platforms cannot be added.
  • One currency. Revenue, spend and average order are in the shop's main currency; spend in another currency stays apart unless you switch on conversion by the NBP rate.
  • No sales per product from ads. Best-selling products are shop sales, not an effect of ads.
  • The last click is Basketly's reading. Orders by source come from visits to the shop after the buyer's consent; an order without such a visit has an unknown source.
  • Fixed e-mail recipients. Only the owner and admins get the report.

Next step

Open Analytics → Reports with a 30-day period and note today's MER (blended) and each platform's ROAS as your baseline. Then switch on the e-mail report and, a week later, compare the first summary with what you see on the page. Plans and limits are on the pricing page.

About the author

Aleksander

Founder of Basketly.io, BooksyAudit.pl and SMSPortal.app

Founded Basketly.io, BooksyAudit.pl and SMSPortal.app. In the knowledge base he explains how to send shop purchases to Meta, how to keep a product catalogue in shape and how to measure what a purchase from ads costs.

All articles by the author

Frequently asked questions

What is the difference between MER and ROAS?

MER (blended) is the shop's whole revenue divided by the spend of every ad channel plus costs outside ad platforms typed in by hand, without assigning any sale to ads. ROAS is the value of purchases a platform attributed to its ads under its own attribution, divided by its spend. The panel shows both side by side and never combines them.

Who gets the report e-mail?

The organisation's owner and admins, each in the language set on their account. The owner or an admin switches it on and off in the ⋯ menu in the Reports page header. Each person gets the report at most once a week.

Which period does the Monday e-mail cover?

The previous week from Monday to Sunday, in the organisation's time zone, compared with the week before. The e-mail leaves on Monday at 06:05 UTC. An organisation without any bought order gets no report.

Why is spend empty while campaigns are running?

Total spend is counted in the shop's main currency, the one most orders use. Spend of an ad account in another currency stays apart and is named in the tile's description, unless the owner or an admin switches on conversion by the NBP rate of the spend day. Spend also has to be read from the ad platform first.

What are purchases accepted for sending?

The number of purchases of the period that Basketly accepted and queued for the platforms, and their share of paid orders. It is not a receipt from Meta. The state of every send is on the Conversions page.

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