Setting up ecommerce KPIs doesn’t start by opening an analytics dashboard, but by deciding what decisions you’re going to make with each number. If a KPI doesn’t change a specific action (pausing a campaign, adjusting a checkout, reallocating budget), it’s unnecessary. This guide lays out a practical six-step setup, with real examples and the points where it usually breaks down.
Step 1: define the conversion event before touching the tool
Before creating properties or tags, write down on a sheet of paper what counts as a conversion and what doesn’t. A common mistake is marking the “add to cart” click as a conversion and mixing it with the final purchase in the same report: totals get inflated and rates stop being comparable.
- Micro-conversion: newsletter signup, adding to favorites, use of the internal search.
- Macro-conversion: completed order, with value and currency assigned.
Also define what happens with canceled or returned orders: if you don’t subtract them, your ROAS will look better than it actually is.
Step 2: set up ecommerce tracking with consistent parameters
The purchase event must send transaction_id, value, currency, and items with item_id, item_name, price, and quantity. According to the official documentation of analytics platforms, the transaction identifier is what allows deduplication and prevents counting the same order twice when the user reloads the thank-you page.
Two details that only get detected with real experience:
- Guest orders and cross-session behavior: a user who buys from their phone and then opens the confirmation email on their desktop can generate orphaned events if your implementation relies only on the session.
- Consent: if you enable consent mode, part of the traffic won’t send data until the user accepts. It’s normal to see an apparent drop in conversions of 10-30% after implementing it; it doesn’t mean the website has broken.
Step 3: choose the minimum set of KPIs and their formula
You don’t need twenty metrics. With these five you can run most stores:
| KPI | Calculation | Operational use |
|---|---|---|
| Conversion rate | Orders / sessions | Detect drops by device or channel |
| Average order value (AOV) | Revenue / orders | Evaluate bundles and free shipping thresholds |
| Cart abandonment | 1 − (orders / carts created) | Prioritize checkout improvements |
| Cost per acquisition (CPA) | Spend / orders | Decide on pausing campaigns |
| Margin per order | Revenue − product cost − shipping − fees | Avoid scaling unprofitable campaigns |
Margin is the most ignored KPI and the one that corrects the most decisions. A store with a CPA of €12 can seem profitable until you subtract returns and payment gateway fees.
Step 4: segment before looking at the aggregate number
A global KPI hides reality. Set up views or segments by:
- Device (mobile usually accounts for 70-80% of traffic and a lower conversion rate).
- Channel: organic, paid, email, direct.
- New vs. returning.
- Payment method and carrier, if your platform allows it.
Here one of the most common practical limitations appears: attribution between channels is never perfect. A user who sees an ad, searches for your brand, and buys will be assigned to organic in many models. It’s useful for comparing trends, not for allocating budget down to the cent.
Step 5: build the dashboard with alerts, not just charts
A dashboard nobody looks at is useless. Set up alerts for deviation from the 28-day moving average: a conversion drop greater than 20%, an increase in payment errors, or a CPA rise above target. Send the alert to the channel where the team actually responds, not to the generic email.
Always include a “data quality” row: percentage of orders with transaction_id, sessions without an assigned channel, and duplicate events. If that row gets worse, the rest of the dashboard stops being reliable.
Step 6: review and document changes
Every modification to the checkout, the tags, or the campaigns should be logged with a date. Without that history, any KPI variation gets attributed to the last action executed, even if it isn’t the cause. A simple spreadsheet with date, change, and expected KPI prevents most internal discussions.
What doesn’t work with this approach
This setup doesn’t solve stores with long sales cycles (B2B, custom furniture), where the conversion happens offline or by phone. Nor does it replace rigorous A/B testing: KPIs detect that something is changing, they don’t prove causality. And if your volume is very low (fewer than 20-30 orders per week), rates by segment fluctuate so much that it’s worth looking at periods of 28 days or more before concluding anything.
Specific benchmark figures vary by industry; it’s worth contrasting them with industry studies and with your own history before setting targets.