AI

Ecommerce KPIs: 10 metrics an AI agent can calculate for you

Ecommerce KPIs with formulas: revenue, AOV, conversion rate, margin, LTV, CAC and ROAS, the benchmarks, and how an AI agent reports them from orders.

The CloudCart team16 min read
A dashboard with ten small metric cards and charts next to a chat window where one line of text turns into a neat weekly report
In this article · 13 sections
  1. What is an ecommerce KPI?
  2. What are the 10 most important ecommerce metrics?
  3. How do you calculate revenue, orders and average order value?
  4. What is a good ecommerce conversion rate, and how many carts are abandoned?
  5. How do you calculate LTV, and why are repeat customers the cheapest growth?
  6. How do you calculate CAC and ROAS?
  7. Which KPIs should you track per channel: email, Meta, Google Ads, TikTok and Search Console?
  8. How do you calculate an online store's margin?
  9. How do you get your ecommerce KPIs from an AI agent with one sentence?
  10. What do you gain by asking an AI agent instead of pulling reports?
  11. Why should you check every metric separately for mobile?
  12. What mistakes do stores make when tracking KPIs?
  13. Frequently asked questions

In short: an ecommerce KPI (key performance indicator) tells you whether your online store is moving toward a goal. The ten that matter most are revenue, number of orders, average order value (AOV), conversion rate, cart abandonment, repeat customer rate, LTV, CAC, ROAS and margin. The first six sit on the Analytics dashboard in CloudCart, and an AI agent with a read-only key calculates the rest once you give it your ad spend and product costs.

Below are the formulas with examples, benchmarks with sources, and prompts that return a weekly report. The examples are in euro and work for a store selling in Austria, Poland, Italy or across the EU.

What is an ecommerce KPI?

An ecommerce KPI is a metric tied to a target and a deadline. "AOV of €45 by the end of December" is a KPI, while "average order value" on its own is a metric. Your KPIs are the few numbers you use to decide what to do next week. A good one is counted in euro or as a percentage, has one owner (conversion rate belongs to whoever runs the site, ROAS to whoever runs the ads), is compared with a previous period, and leads to an action when it drops. For a small store, 5 to 6 KPIs are enough; the other metrics stay in the report.

Which KPIs to pick for your store's stage

StageMain KPIsThe question they answer
New store (first 3 months)Sessions, conversion rate, orders, cart abandonmentDo visitors reach the order, and where do they stop?
Growing store (ads every month)CAC, ROAS, AOV, revenue by sourceWhich channel brings customers at a price your margin allows?
Mature store (a base of past buyers)Repeat customers, LTV, margin, email revenueHow much do you earn after the first order?
Store selling in several EU countriesRevenue, orders and conversion rate by countryWhich market grows, and which one only costs ad spend?

For the last row, the Sales by location card in Analytics ranks the top 5 countries by sales, with orders, revenue and a mobile vs desktop split, and drills down to cities. If you run a separate store per country with its own language and currency, each store has its own Analytics and its own KPIs. The setup is in the guide to a multilingual, multi-currency store and multistore.

Leading and lagging indicators

Lagging indicators (revenue, margin, LTV) record what already happened, while leading indicators (sessions, add-to-carts, opened emails, clicks from Google) show what will happen to revenue in 1 to 4 weeks. If Search Console clicks and add-to-carts are falling, revenue will follow, even if this month still looks fine.

What are the 10 most important ecommerce metrics?

The ten metrics fall into three groups: how much you sell (revenue, orders, AOV), how well you turn visits into orders (conversion rate, cart abandonment, repeat customers) and how much you earn (LTV, CAC, ROAS, margin).

MetricFormulaWhere it is in CloudCartAI agent with a PAT key
1. RevenueSum of orders in the periodAnalytics → Total SalesYes
2. OrdersOrders in the periodAnalytics → Total OrdersYes
3. Average order valueRevenue ÷ ordersAnalytics → Average Order ValueYes
4. Conversion rateOrders ÷ sessions × 100Analytics → conversion rate and funnelOrders only; sessions from Analytics or GA4
5. Cart abandonment100 − (checkouts ÷ carts × 100)Analytics → Abandoned cartsNo
6. Repeat customer rateReturning ÷ all customersAnalytics → Total Customers (New / Returning)Yes
7. LTV (CLV)Revenue from a customer over the whole relationshipAnalytics → Customer Value (for the period)Yes, over the whole history
8. CACMarketing spend ÷ new customersNew customers in AnalyticsNew customers yes; spend from the ad account
9. ROASAd revenue ÷ ad spendAnalytics → Sales by traffic source (Paid); UTM on orders (CC Pro, CC Master)Revenue by UTM yes; spend from the ad account
10. Margin(Price − cost) ÷ price × 100Cost prices are on your sideYes, with the supplier price list

Important: the numbers in Analytics depend on the order statuses selected in the dashboard settings (the gear icon at the top right). By default, the statuses your store uses are selected, for example paid, completed, pending, authorized and fulfilled. Give the AI agent the same rule so the numbers match.

How do you calculate revenue, orders and average order value?

Revenue is the sum of the orders in a period, and average order value (AOV) is revenue divided by the number of orders. Example: 284 orders worth €18,426 give an AOV of €64.88. Revenue grows in two ways, more orders or bigger orders, so read the three together.

In CloudCart these are the first cards on the Analytics dashboard, and on plans with comparisons, "Previous period" or "Previous year" adds the change to every card. A good AOV depends on the category, so compare with your industry: the dotted line on the Analytics charts is the average for CloudCart stores in your industry, recalculated weekly. Ways to raise AOV are in the guide to upsell, cross-sell and average order value.

What is a good ecommerce conversion rate, and how many carts are abandoned?

Conversion rate is the share of visits that end in an order. The median is 1.3% across 438 Shopify stores, and a store at 2.7% or above is in the top 20% (Littledata, 90-day benchmark). CloudCart calculates it as orders ÷ sessions, without admin sessions, and the funnel next to it shows cart → checkout started → order, separately for mobile and desktop.

The average documented cart abandonment rate is 70.22% across 50 studies (Baymard Institute). In Analytics the rate is 100 − (checkouts ÷ carts × 100): 200 carts and 125 started checkouts mean 37.5% abandonment. Short periods give a higher rate, so look at the month. Both metrics rely on sessions, which the PAT key does not cover, so read them in Analytics or GA4. Ways to win back carts are in the guide to abandoned carts.

How do you calculate LTV, and why are repeat customers the cheapest growth?

LTV (lifetime value), also called CLV, is the revenue one customer brings over the whole time they buy from you: LTV = AOV × orders per year × years the customer keeps buying. Example: €40 × 3 × 2 = €240. Multiply by your margin for profit-based LTV: at 35%, the same customer brings €84 of gross profit, the most you can pay to win them.

In CloudCart Analytics, Customer Value is revenue in the period divided by unique customers, a short-term version of LTV, and Total Customers splits buyers into New and Returning (at least one earlier order in the store's history; guests are left out). The AI agent calculates true lifetime LTV, because each customer record holds the number of orders and the sum of completed orders. RFM segments (CC Pro and CC Master) in Campaigns and Marketing Suite show who buys most often and most recently, and you can email them from there. The emails that bring customers back are in the guide to email marketing.

How do you calculate CAC and ROAS?

CAC (customer acquisition cost) is marketing spend divided by new customers in the same period: €900 on Meta and Google and 60 new customers give a CAC of €15. A widely used rule is that profit-based LTV should be at least 3 times CAC. ROAS (return on ad spend) is ad revenue divided by ad spend: €3,600 from €900 is a ROAS of 4. At a 25% margin, a ROAS of 4 only breaks even.

Ad spend lives in the ad account; the store supplies new customers and revenue by source. CloudCart orders keep the UTM source, medium and campaign (CC Pro and CC Master, see /pricing), so the AI agent can sum revenue from utm_source=facebook or google by month. This differs from the ad platform's report, which uses its own attribution window. Without UTM tags, the Sales by traffic source card (every plan) groups revenue into Search, Social, Email, Paid and Direct, recognizing ad clicks by gclid, fbclid and ttclid. Setup is in the guides to Google Ads and Meta ads.

Important: calculate CAC and ROAS for the same period. If spend covers all of October and orders only October 1 to 25, ROAS comes out about 19% lower.

Which KPIs should you track per channel: email, Meta, Google Ads, TikTok and Search Console?

Every channel's KPIs come down to orders and revenue per euro spent or email sent. Channel numbers live in the channel's account and orders in the store, so a channel KPI is calculated from two places.

ChannelMain KPIsBenchmarkWhere the number is
Email, SMS, ViberOpen rate, click rate, conversion rate, revenueEcommerce: 29.81% opens, 1.74% clicks, 0.19% unsubscribes (Mailchimp)Marketing → Marketing Suite
Meta (Facebook, Instagram)ROAS, CAC, cost per purchaseAbove the break-even ROAS your margin setsMeta Ads Manager; events from the Facebook Pixel app
Google AdsROAS, cost per conversionSame margin ruleGoogle Ads and GA4 (Google Analytics app)
TikTokROAS, cost per purchaseSame margin ruleTikTok Ads Manager; events from the TikTok Dynamic Ads app
Search ConsoleClicks, impressions, CTR, positionMonth on monthGoogle Search Console

The Marketing Suite dashboard shows opens, clicks, conversion rate, marketing sales and total revenue, compared with the previous period. Its key number is the share of marketing sales in total revenue. Each campaign's statistics are calculated against delivered messages, refresh every hour and break down by channel and by step, so you see which email in a sequence sells. Setup is in the CloudCart email campaign guide; Search Console reports are in the Search Console guide.

How do you calculate an online store's margin?

Margin = (price excluding VAT − cost) ÷ price excluding VAT × 100. A product sold for €30 excluding VAT that costs €18 has a 40% margin, while its markup is (€30 − €18) ÷ €18 = 66.7%. Use net prices: when you sell to consumers in several EU countries, the VAT rate follows the customer's country, so the same gross price leaves a different net price in each market. EU VAT for distance sales is in the guide to OSS and EU VAT.

What matters more is the margin after all order costs. Example for a €60 order excluding VAT:

LinePlatform with 2% commissionCloudCart
Revenue excluding VAT€60.00€60.00
Product cost−€33.00−€33.00
Shipping you absorb−€4.00−€4.00
Platform commission−€1.20€0
Left from the order€21.80 (36.3%)€23.00 (38.3%)

If cost prices are not on your products, give the supplier price list to the AI agent: it matches SKUs with units sold and returns margin by product and category. More in the guide to pricing and margin.

How do you get your ecommerce KPIs from an AI agent with one sentence?

An AI agent such as Claude Code, ChatGPT Codex or Gemini CLI reads your orders, customers and products through the CloudCart Admin API and calculates the metrics you ask for. Connecting takes about a minute with an access key (PAT token).

  1. Connect the assistant. Open Claude Code, ChatGPT Codex, Cursor, VS Code or Gemini CLI and paste the sentence from the AI-run store page. The assistant installs the CloudCart tools itself and talks to you in English. Claude Code has a plugin with CloudCart skills: CloudCart in Claude Code.
  2. Create a read-only key. In the admin, open Settings → PAT Tokens, click Create Token, name it ("Reports") and choose Read Only. With it the assistant sees everything and changes nothing.
  3. Limit it if you want. Add an expiry date and up to 20 IP addresses. Only the store owner can create a key.
  4. Copy the key right away. It is shown once. If you lose it, delete it and create a new one.
  5. Check one number first. Ask about one month and compare with the Analytics card. Once it matches, ask for the full report.

The key covers products, orders, customers, inventory, discounts, blog, settings and webhooks. Sessions and ad spend are outside it, so for conversion rate, ROAS and CAC the assistant asks you for those numbers. The Admin API also holds every email campaign's statistics, so the assistant can compare campaigns in one table.

Customer records are personal data under the GDPR, which applies across the EU from 25 May 2018. Use the read-only key, ask for customer IDs instead of names and emails, and check that your AI provider's terms cover processing on your behalf, since the regulation expects a written agreement with every processor (Regulation (EU) 2016/679 on EUR-Lex). See also the guide to GDPR and cookies.

Prompts for each metric

MetricPrompt to the AI agent
Revenue, orders, AOV"Give me revenue, orders and AOV for October vs September. Count only paid, completed and fulfilled orders."
Repeat customers"How many customers who ordered in the last 90 days had bought before? Give the share and what they spent."
LTV"Calculate average LTV over the store's whole history and show the top 20 customers by amount, customer ID only."
CAC and ROAS"In October I spent €600 on Meta and €300 on Google. Calculate CAC with new customers and ROAS with revenue by utm_source."
Margin"Here is the supplier price list. Match SKUs with October's sales, give margin by category and list missing SKUs."
Revenue by country"Split revenue, orders and AOV for the last 30 days by shipping country and show which country grew most."

The weekly report in one prompt

Build a weekly report for my store for the last 7 days vs the previous 7:
revenue, orders, AOV, share of new and returning customers, revenue by
utm_source and by shipping country, top 10 products by revenue. Count paid,
completed and fulfilled orders. Flag every number that dropped by more than
10% and suggest one action for each. Read only, change nothing.

What do you gain by asking an AI agent instead of pulling reports?

The Analytics dashboard answers the questions someone planned for; the agent answers the question you have today.

  • Questions with no ready report. "What is the AOV of customers from Munich who used a promo code?" is several filters and an export in the admin, and one sentence for the agent.
  • Metrics from several places. CAC and ROAS combine store data and ad spend in one table.
  • An explanation next to the number. When AOV drops by 8%, the agent shows which products and days pulled it down. Ask "show me how you calculated this".
  • The next step in the same conversation. "Group customers who haven't bought in 90 days" needs a second key with write access; ask "show me first" and confirm before any bulk change.

If a manual report takes you an hour a week, that is about 50 hours a year turned into a few minutes of checking. The other jobs AI does in a store are in the guide to AI for ecommerce. The full Claude setup is in Claude Code: how to run your online store with Claude.

Why should you check every metric separately for mobile?

Most visits come from a phone, so the mobile version decides most KPIs. In Europe, 54.45% of web traffic in the latest month came from mobile and 43.46% from desktop (StatCounter), and 78% of EU internet users aged 16 to 74 bought online in 2025 (Eurostat). In CloudCart Analytics the funnel and cart abandonment have separate mobile and desktop views. If phones bring 65% of sessions and 40% of orders, your biggest opportunity is the mobile checkout; see the guide to your store's mobile version.

What mistakes do stores make when tracking KPIs?

  • Different statuses in different reports. Write the rule once and use it in Analytics, exports and prompts.
  • Markup used as margin. A 50% markup is a 33% margin.
  • ROAS without margin. ROAS 3 is profit at a 50% margin and a loss at 25%.
  • Gross prices in the margin. Including VAT inflates margin, and the gap changes by country.
  • A full-access key for reports. Read Only is enough; give write access only for a task, with an expiry date.

CloudCart, the ecommerce platform with 0% commission on sales, puts revenue, orders, AOV, conversion rate, abandoned carts and repeat customers on one dashboard, and the AI agent adds LTV, CAC, ROAS and margin. Prices are on /pricing (billed annually, excluding VAT, from €14/month for Baby Pack). Create a store for €1 and run your first weekly report this week. Questions: support@cloudcart.com.

Frequently asked questions

Revenue, orders, average order value, conversion rate, cart abandonment, repeat customer rate, LTV, CAC, ROAS and margin. For a small store, 5 to 6 of them with a target and a deadline are enough.

LTV = average order value × orders per year × years the customer keeps buying, for example €40 × 3 × 2 = €240. Multiplied by your margin, it shows the most you can pay to win a customer.

Margin = (price excluding VAT − cost) ÷ price excluding VAT × 100. A €30 product that costs €18 has a 40% margin; its markup is 66.7%.

The median is 1.3%, and 2.7% or above puts a store in the top 20% (Littledata, 438 Shopify stores). Check it separately for mobile, where most European traffic comes from.

Yes. Claude Code, ChatGPT Codex or Gemini CLI connected to CloudCart with a read-only PAT token calculates revenue, AOV, repeat customers, LTV and revenue by source from the orders. You give it sessions and ad spend, and you can switch the key off at any time under Settings → PAT Tokens.

CAC is what one new customer costs: spend ÷ new customers. ROAS is revenue per euro of ads: ad revenue ÷ ad spend. Compare CAC with LTV, and ROAS with your margin.

Sources

  1. Littledata, 90-day benchmarkwww.littledata.io
  2. Baymard Institutebaymard.com
  3. Mailchimpmailchimp.com
  4. Regulation (EU) 2016/679 on EUR-Lexeur-lex.europa.eu
  5. StatCountergs.statcounter.com
  6. Eurostatec.europa.eu
The CloudCart teamChecked against the platform documentation. Questions: support@cloudcart.com

Build your online store

The first 3 months on every plan are €1/month. Questions: support@cloudcart.com

Create a store for €1