Skip to content

Dashboards & KPIs

Ecommerce dashboard: what to show and how to build it

How to structure an ecommerce dashboard for Shopify, WooCommerce or a custom store, with overview, marketing, product and customer views, the data sources behind them, and a daily KPI digest.

DATUMPANELPublished Updated 7 min read

Cover for the ecommerce dashboard article

An online store owner opens five tabs every morning: the store admin, the email tool, two ad platforms and GA4, plus a spreadsheet with COGS. An ecommerce dashboard exists so that "how did we do yesterday?" takes one minute instead of an hour.

This is the structure I use for stores: the views, the metrics on each one and where the data comes from.

Four views instead of forty widgets

ViewCore questionAudience
Overviewhow did we do yesterday / this week?founder
Marketingwhich channels pay for themselves?marketer
Productswhat sells, what sits, what's running out?merchandiser, buying
Customersdo buyers come back?founder, retention marketer

1. Overview

  • revenue (paid orders, net of refunds);
  • orders and AOV;
  • conversion rate (orders / sessions);
  • contribution after ad spend;
  • ROAS or MER (revenue / total ad spend).

Compare every KPI with last week and with the same weekday, because stores have strong weekly seasonality.

2. Marketing

  • spend, clicks and CPC by channel (Google Ads, Meta, TikTok);
  • orders and revenue from the store backend, by source (not from the ad platforms);
  • ROAS and CAC by channel;
  • the unattributed share of traffic.

The attribution logic is in the attribution guide, and the formulas are in ROAS vs POAS.

3. Products

  • top products by revenue and margin, not just units;
  • products with lots of views but a poor add-to-cart rate;
  • stock levels and stock-out risk for best-sellers;
  • returns by product and reason.

4. Customers

  • new vs returning buyers;
  • the share of revenue from returning customers;
  • retention cohorts by first-purchase month (cohort analysis);
  • RFM segments for email flows (RFM).

Data sources

DataSource
Orders, statuses, customersShopify, WooCommerce, BigCommerce
On-site behaviour, funnelGA4 → BigQuery
Ad spendGoogle Ads, Meta Ads, TikTok Ads
Payments and feesStripe, PayPal, Shopify Payments
Shipping costscarrier APIs or the store backend
COGSinventory system or a sheet

The rule: money comes from the backend or the payment provider, behaviour comes from GA4. GA4 almost never matches the backend exactly (why GA4 and your CRM disagree).

The store funnel

The standard GA4 funnel is built on the recommended ecommerce events:

StepGA4 event
Product viewview_item
Add to cartadd_to_cart
Checkout startbegin_checkout
Shipping / paymentadd_shipping_info, add_payment_info
Purchasepurchase

The full list and the parameters are in Google's ecommerce docs. How to verify the setup is covered in GA4 ecommerce tracking.

Split the funnel by device on the dashboard. A mobile checkout problem is one of the most common reasons conversion drops.

A daily digest example

DATUMPANEL · Morning summary (yesterday)
Revenue: $4,820 (+9% vs last Tuesday)
Orders: 61 · AOV $79
ROAS (all channels): 4.1
⚠ Mobile conversion −18%: iOS checkout is slower

Illustrative numbers. The digest arrives at 8:00 and links to the relevant view of the dashboard. How to set it up: automated KPI reports.

Build phases

  1. Tracking audit: do GA4 purchase events match backend orders, is transaction_id passed, are there duplicates?
  2. Connect sources: read-only access plus a pipeline (ETL).
  3. Data model: one orders table with statuses, COGS and source.
  4. Views and tooltips for every metric.
  5. Automated reports and team onboarding.

Realistically that's 2–4 weeks for a proven store template wired to your sources.

Common mistakes

  • Taking revenue from GA4 instead of the backend.
  • Calculating ROAS on revenue with tax included and refunds left in.
  • Ranking products by units instead of margin.
  • Not separating new and returning buyers.
  • Looking at conversion without a device split.

Checklist

  • Revenue comes from the backend, net of refunds
  • Same-weekday comparisons
  • Spend from all ad channels in one table
  • Product-level margin
  • Funnel split by device
  • New vs returning customers, plus cohorts
  • Daily digest in chat

See an example on the ecommerce page, or open the demo.

Step by step: the first version in four weeks

A realistic plan for a store with a shop platform, GA4 and two or three ad channels:

WeekWorkResult
1access to all sources, tracking audit, metric definitions agreeda one-page glossary and a list of tracking fixes
2load orders, products, costs and ad spend into a warehouse; daily refreshclean tables with yesterday's data every morning
3the "Overview" and "Marketing" screens; reconciliation with the shop adminnumbers the owner recognises
4"Products" and "Customers" screens, morning digest, checks and alertsthe full first version in daily use

Week 3 is where most of the real work hides. The first time the dashboard shows revenue, someone will say "that's not what the admin shows." Usually they're both right and measure different things (cancelled orders, VAT, shipping included or not). Resolve every such case in the glossary, not by quietly adjusting a formula.

Worked example: reading the overview screen

Illustrative numbers for one week compared with the previous week:

MetricThis weekLast weekChange
Sessions18,00020,000−10%
Conversion rate1.9%1.6%+0.3 pp
Orders342320+7%
AOV1,1501,200−4%
Revenue393,300384,000+2%
Ad spend70,00080,000−13%
Contribution margin92,00082,000+12%

What this tells an owner in 30 seconds: traffic fell because spend was cut, but conversion rose, so the cut removed low-quality traffic. Revenue held and margin grew. The next question is in the AOV drop: was it a promo, or a shift in which products sell? That's what the Products screen answers.

The important habit: always read revenue as sessions × conversion × AOV. A revenue change with no explanation in those three is usually a tracking problem, not a business one.

SQL: the product performance table

SELECT
  p.sku, p.name, p.category,
  COUNT(DISTINCT li.order_id)                       AS orders,
  SUM(li.qty)                                       AS units,
  SUM(li.line_total_net)                            AS revenue,
  SUM(li.line_total_net - li.qty * c.unit_cost)     AS gross_margin,
  SAFE_DIVIDE(SUM(li.line_total_net - li.qty * c.unit_cost),
              SUM(li.line_total_net))               AS margin_pct,
  SUM(CASE WHEN r.order_line_id IS NOT NULL THEN li.qty END) AS units_returned
FROM order_lines li
JOIN orders o   ON o.order_id = li.order_id AND o.status = 'paid'
JOIN products p ON p.sku = li.sku
JOIN product_costs c ON c.sku = li.sku
 AND o.order_date >= c.valid_from AND (c.valid_to IS NULL OR o.order_date < c.valid_to)
LEFT JOIN returns r ON r.order_line_id = li.id
WHERE o.order_date BETWEEN @from AND @to
GROUP BY 1, 2, 3
ORDER BY gross_margin DESC;

Sort by margin, not revenue. The products that bring in the most revenue and the ones that bring in the most margin are often different lists, and the second one should drive ad budgets and stock decisions.

What the morning digest should include

A short digest beats a dashboard nobody opens. Five lines are enough:

  • Yesterday's revenue and orders vs the same weekday last week
  • Contribution margin and ad spend
  • The biggest mover: the channel or category with the largest change
  • Anomalies: tracking gaps, zero-spend campaigns, payment failures
  • A link to the dashboard for detail

Two segments worth adding early

Most store-level averages hide two very different groups, so I split them early:

  • Mobile vs desktop. Mobile usually brings most of the sessions and a lower conversion rate. If mobile conversion drops while desktop holds, look for a broken checkout step, a slow page or a payment method failing on phones. That's a technical fix, not a marketing one.
  • New vs returning customers. A month with strong revenue from returning customers and weak new-customer numbers looks fine today and hurts in three months. Show new-customer orders and CAC next to total revenue so the owner sees both.

Both segments come straight from data you already have (device from GA4, first-order flag from the shop database), so they cost little to add and often answer the first "why" question.

FAQ

Does this work for Shopify stores?

Yes. Shopify's API exposes orders, refunds and products, and GA4 covers on-site behaviour. Shopify's own analytics is a good start but stops at the store's borders: no ad spend from other platforms, no COGS from your systems.

How many sources do I need to start?

At minimum, orders from the store and ad spend. Add GA4 and COGS as the second step.

We don't use a CRM. Is that a problem?

No. The store platform or the payment provider becomes the source of truth.

How quickly does a dashboard pay off?

It depends on the business. The first win is usually spotting a losing campaign, or products that sell at a loss once shipping and ads are counted.

Tags: ecommercedashboardKPI

Author

DATUMPANEL — Business data analytics

DATUMPANEL is an independent data analyst based in Ukraine. I build dashboards for business owners, set up GA4 and the BigQuery export, and run data pipelines and Telegram auto-reports for e-commerce, service businesses, SaaS and agencies, from data audit to decisions.

Message on Telegram[email protected]Open the demo

Keep reading

  • Dashboards & KPIs11 min read

    Business dashboards: how to build one people actually open

    What a business dashboard is, the layers underneath it, which metrics belong on the first screen, realistic timelines, and how to avoid building yet another pretty report nobody uses.

    Pillar guide

  • Dashboards & KPIs7 min read

    Ecommerce KPIs: 15 metrics with formulas and where to get them

    The key ecommerce KPIs with formulas (net revenue, conversion rate, AOV, margin, CAC, ROAS, MER, repeat rate, returns, stock-outs), plus which ones to check daily and which monthly.

  • Dashboards & KPIs6 min read

    Service business analytics: bookings, utilisation and no-shows

    The metrics salons, studios, schools, repair shops and local services need (bookings, schedule utilisation, no-shows, cost per booking, revenue per staff member, repeat visits) and how to pull them from booking tools, your CRM and ads.

Want this kind of analytics for your business?

Tell me what data you have and which questions it can’t answer yet. I reply the same day with a plan, a timeline and the quick wins.

Or reach me directly:

Open the demo →

Send a request

I reply within one business day.

What are you interested in
Industry
A few more details · optional
Approximate budget · optional
When to start · optional
Data sources you have · optional

By submitting, you agree to the Privacy policy — your contact details are used only to reply to this request.