Analytics

May 20, 2026

Overview

The Analytics page helps you understand the relationship between your revenue and advertising spend. It calculates Return on Ad Spend (ROAS) automatically and visualizes daily trends so you can see which campaigns are driving results.

Summary Cards

Three metrics at the top of the page provide a quick overview for the selected period:

  • Total Revenue - Total net payments received from customers
  • Ads Spend - Total advertising expenses from all sources
  • ROAS - Return on Ad Spend: Revenue divided by Ads Spend

Date Filtering

Filter data by:

  • Today
  • This month (default)
  • Last month
  • All time
  • Custom range

The date filter applies to both orders (for revenue) and expenses (for ad spend).

Daily Items Sold Chart

Shows how many units customers bought each day in the selected period. Each bar is the total quantity sold (line item quantity minus refunds) for that day. A dashed orange line marks the period average per active day.

When the selected range supports it, the chart also compares against the previous comparable period so you can see whether sales are picking up or slowing down. The previous period is chosen automatically:

  • Today is compared with yesterday
  • This month is compared with the same days of last month
  • Last month is compared with two months ago
  • Custom range is compared with the same number of days immediately before the start of your range
  • All time has no comparison

When a comparison is active, each day's bar is paired with a grey "Previous period" bar (drawn to the left), a thin dashed grey line marks the previous-period average, and a badge above the chart shows the change versus the previous period in both absolute units and percent.

Items per Order Chart

Shows how customers tend to buy: how many orders contained 1 item, 2 items, 3 items, and so on. Each bar represents the number of orders with that exact item count. Item count is the line-item quantity minus refunds, summed across the order. Orders that net out to zero items (fully refunded) are excluded.

Badges above the chart summarise the period: the total number of orders counted, the average items per order, and – when a comparison is available – the change in average items per order versus the previous comparable period.

When the selected range supports it, each bucket also shows a grey "Previous period" bar to the left of the current one, with a thin dashed grey line marking the previous-period average. The previous period is picked using the same rules as the Daily items sold chart (today vs. yesterday, this month vs. last month, etc.); all-time has no comparison.

Average Order Value Chart

Shows how much customers spend per order, day by day: each point is the day's net payments divided by its orders. Days without orders leave a gap. Badges above the chart give the period's average order value, the change against the previous comparable period (picked with the same rules as the Daily items sold chart), and how many orders the average rests on; a dashed line marks the previous period day by day.

Revenue vs Ad Spend Chart

An interactive chart shows daily revenue and ad spend side by side. Each advertising source (e.g. Google Ads, Meta Ads) appears as a separate series so you can see exactly where your budget is going.

How Revenue Is Calculated

Revenue is the sum of net payments across all active orders for each day. Net payment is the amount actually received after refunds and adjustments. Ignored orders are excluded from the calculation.

How Ad Spend Is Calculated

Ad spend is pulled from your expenses that are categorized as "Ads". If an expense covers a date range (e.g. a monthly ad bill), the amount is spread evenly across each day in that range, clipped to the selected period.

For VAT-registered shops, the net (ex-VAT) amount is used, and linked VAT expenses are excluded to avoid double-counting.

Customer Acquisition

Above the ad spend chart, the Marketing tab shows the period's new customers (first order in the period), returning customers, the cost per new customer – ad spend divided by new customers – and the share of revenue that came from returning customers. Read it next to ROAS: a channel can show a fine ROAS while bringing only one-off buyers.

Ads Breakdown Table

Below the chart, a table breaks down ad spend by expense name. Each row shows:

  • Expense Name - The name you gave the expense (e.g. "Google Ads", "Meta Ads")
  • Amount - Total spend for that source in the selected period
  • % of Total - What percentage of your total ad budget went to this source

This helps you compare spending across advertising channels at a glance.

QR Code Scans

Under the ads breakdown, this section counts scans of every QR code you've put out: the labels printed from the Products page and the page codes created under Settings > QR codes. It shows the total for the selected date range and the busiest codes. Product rows name the product and variant – click one to open its detail page, where every variant lists its own scan count. Page rows are marked Page and name the spot you put the code up in.

Only scans inside the selected date range are counted, so you can compare one period against another.

Setting Up

To see data on the Analytics page:

  1. Create an "Ads" expense category in Settings > Expense Categories
  2. Add your advertising expenses with that category via the Expenses page
  3. Set a date range on each expense to spread costs across the billing period
  4. Revenue is calculated automatically from your synced Shopify orders

Best Sellers

Open Analytics > Best sellers to see what's actually moving in your store. The page ranks items by net units sold – ordered quantity minus refunded or returned units, with cancelled and ignored orders excluded – within the selected date range (today, this month, last month, all time, or a custom range) and offers three views:

  • Products - Top products by total units sold, with the most recent sale date.
  • Variants - The same ranking at the variant level, with SKU for quick reference.
  • By option - Sales grouped by variant option (e.g. by colour or size) so you can see which choices are pulling their weight.

Every view also shows how many units came back ("Times returned") and what share of sales that is, so a strong seller with a weak return rate is easy to spot. Exchanges are not counted.

Each row links to the product or variant detail page so you can drill in.

Option Trends

Open Analytics > Option trends to see how buyers' choices shift over time – whether the mid sizes are gaining on the small ones, or a new colour is eating into the old favourite. Every line on the chart is one option value or one variant, drawn across the selected date range.

  • By option - Pick an option such as Size or Colour and see a line per value across the whole store, or narrow it to a single product with the product selector
  • By variant - Pick a product and see a line per variant

Two measures are available. Share – the default – shows each value's percentage of the units sold in the period, so a value that holds its share through a quiet month reads as steady rather than falling. Units shows the raw counts. The chart groups sales by day, week or month; Auto picks days for ranges up to a month, weeks up to about six months, and months beyond that.

The eight best-selling values keep their own lines and everything else is folded into Other. The table below the chart lists every value with its units, share, and how that share moved against the previous period of the same length.

Units are counted the same way as on Best sellers: ordered quantity minus refunded or returned units, dated by the order, with cancelled and ignored orders excluded. Option values are read from the variant as it is today, so a renamed value carries its history with it.

Customers

Customer value by first-order month groups customers by the month of their first order and shows what each group has spent since, after refunds: in total, per customer, and per customer within the first 3, 6 and 12 months (blank while that window is still running). Compare months to see whether newer customers are worth more or less than older ones.

New vs returning revenue by month splits each month's revenue between first orders (new customers, guest orders included) and orders from customers who had bought before, with the returning share.

The Customers tab shows orders by regular customers, how long customers take to buy again, and Retention by first-order month: for each month in which customers placed their first order, how many they were and what share of them ordered again one to six months later. A blank cell means that month hasn't started yet. Guest orders and ignored orders are left out.

Fulfillment

The Fulfillment tab shows fulfillments and items shipped per day, the order-to-fulfillment time against the previous period, returns and exchanges, and how fulfillment speed relates to repeat purchases.

Fulfillment SLA shows how the shop keeps its promises: the share of shipped orders that went out within 24 and 48 hours, the share of ship-by dates met (an open order past its date counts as missed), a week-by-week table, and the current backlog – how many paid orders are still waiting and how old they are.

Delivery by carrier follows the period's parcels after they leave: per carrier, how many were delivered, are still moving, or came back, lost or cancelled, the average and median days from shipment to the carrier's delivered status, and the share delivered within 2 and 5 days. Carriers Panelque does not track stay "in transit".

Fulfillment by team member lists the period's orders by the team member they are assigned to: orders, how many shipped, items shipped, the average time from order to shipment, and Late – orders shipped after their ship-by date or still open past it. Orders nobody is assigned to appear as Unassigned. Assign orders on the Orders page.

Returns

The Returns tab shows how much of what you sell comes back:

  • Daily returns - A bar chart of returned items per day (dated by when the return was recorded), with the period average and a previous-period comparison. Exchanges are not counted - a return that ships replacement items is treated as an exchange, not a return
  • Top returned products and Top returned variants - Ranked tables of what gets returned most, with item counts and the number of returns; rows link to the product or variant page

Use it to spot problem products - a variant that dominates the returned list usually has a sizing, quality, or description issue worth fixing.

Packaging Waste

Open Analytics > Packaging waste to see the weight of packaging your shop ships to each country, broken down by material – the numbers EU Packaging and Packaging Waste Regulation (PPWR) producer registers ask for.

To feed the report, open each packaging component in Inventory (boxes, mailers, fillers), edit it, and set:

  • Weight per unit (g) - How much one unit weighs, in grams
  • Packaging material - The PPWR material category: paper/cardboard, plastic, glass, ferrous metals, aluminium, wood, or other

From then on, whenever tracked packaging is used on an order, its weight counts toward the order's destination country. The report shows:

  • Total packaging weight and per-material totals for the selected period
  • A per-country table with material and weight in kilograms

Filter by date range like the other analytics pages. The destination country comes from the order's customer.

Sales Comparison

Open Analytics > Compare to see how a period is tracking against another on a day-by-day line chart. Pick a primary range with the date selector (today, this month, last month, or a custom range) and a comparison range with the second selector – it defaults to the same period one year ago, or you can choose the previous period or a custom range.

Switch between Orders, Revenue, and Items with the tabs at the top. The two ranges are overlaid by day-of-month so the same day lines up on both lines, and the totals show the difference between them.

When the primary range includes days that haven't happened yet – such as the rest of the current month – those days show a forecast (a dashed line) based on your recent daily trend and weekday pattern.

Profit & Loss

Open Analytics > P&L for the statement itself, one column per month plus a total, for the last 3, 6 or 12 months. It runs from merchandise sales through discounts, refunds, gift card sales and VAT to Net revenue, takes off the cost of goods sold for Gross profit, then packing and labour, postage, payment fees and Shopify fees for the Contribution margin, then operating expenses by category and shrinkage (write-offs) for Operating profit, and finally taxes for Net profit. Export CSV downloads the same table.

A few rules make the figures add up:

  • Orders sit in the month they were placed, with their refunds and costs; refunds are not moved to the month they were paid out.
  • Gift card sales are money owed to the customer, not revenue, so they are taken out.
  • The cost of goods sold includes a provisional part for orders not yet shipped, shown on its own line; it firms up when they ship.
  • A postage invoice counts only as the difference against the postage estimates already recorded on orders – see additional cost templates for how to mark a template as an estimate.
  • Taxes (the Taxes expense category) sit below operating profit, like on an accountant's statement.
  • VAT-registered shops see every figure net of VAT.

How complete these figures are lists, per month, the orders counted, orders hidden by your plan, orders shipped without a product cost or without packing and postage, and orders placed before Panelque was installed. Profit is overstated by whatever those orders are missing, so check them before trusting a month.

From the blog