Ecommerce analytics From first click to paid order
Every number adds up

First-party analytics built into your store. Follow every visit to the order it became, credit the right campaign, and trust numbers that match your sales.

30+commerce events recorded on your server from day one, from first cart to refund.

One shopper, two ads

#CE-2048

Credited to both, counted once

Riya, Pune · ₹1,930

How this sale was won

  1. Instagram adFirst touch · KK_DIWALI_GIFTING
  2. Google search adLast touch · KK_BRAND_SEARCH
  3. Payment confirmedOn the server · Thu 10:09
  • 2 visits · 11 events
  • Same ₹1,930 in your orders

The campaign travels with the sale, from the first ad to the payment.

Server-side tracking Every sale counted
Even when pixels miss

Carts, checkouts and payments are recorded on your server, where ad blockers and closed tabs can't reach them. Add a Segment or RudderStack key and that first-party data flows to your tools, each sale counted once.

Pick an event

Send to

Both copies arrive with the same event ID, so your tools count the sale once.

Order Completedtrack()

order_id: "CE-2048"revenue: 1930currency: "INR"

Riya's browserStorefront events
Your serverCommerce Engine

Matched by event ID

order_completed.CE-2048

Segment

×1Order Completed

Counted once

Then on to the tools it feeds

  • Ad platforms
  • Email
  • Warehouse
30+ events
Recorded on the server, from first cart to refund
Ecommerce spec
The event names Segment and RudderStack already know
One key
Add a write key and events start flowing
Counted once
Browser and server copies share an event ID

Put the data to work, on MarketingRead the analytics package guide

First and last touch attribution Every sale knows
Which ad to thank

Every visit becomes a session on your server. Everything in it, down to the payment confirmation, carries the campaign and ad that brought the shopper, so you see what your spend really sold.

How did Riya come back?

First touch stays with the Instagram ad. Last touch goes to a Google search ad, and the payment and the order carry it too.

Visit 1Mon 5 Oct, 21:12First touch

  1. Page Viewed/products/gift-tin
  2. Product ViewedGift Tin, Diwali
  3. Product Added₹1,450
META_ADS · PAID_SOCIAL · KK_DIWALI_GIFTING ▸ META_ADS · PAID_SOCIAL · KK_DIWALI_GIFTING ▸ META_ADS · PAID_SOCIAL · KK_DIWALI_GIFTING ▸ META_ADS · PAID_SOCIAL · KK_DIWALI_GIFTING

Visit 2Thu 8 Oct, 10:05Last touch

  1. Page Viewed/cart
  2. Product AddedMasala Chai
  3. Checkout Started₹1,930
GOOGLE · CPC · KK_BRAND_SEARCH ▸ GOOGLE · CPC · KK_BRAND_SEARCH ▸ GOOGLE · CPC · KK_BRAND_SEARCH ▸ GOOGLE · CPC · KK_BRAND_SEARCH

From your server

  1. Payment SuccessfulUPI · ₹1,930
  2. Order Completed#CE-2048
GOOGLE · CPC · KK_BRAND_SEARCH ▸ GOOGLE · CPC · KK_BRAND_SEARCH ▸ GOOGLE · CPC · KK_BRAND_SEARCH ▸ GOOGLE · CPC · KK_BRAND_SEARCH

Order #CE-2048 · ₹1,930

First touch
Instagram ad · KK_DIWALI_GIFTING
Last touch
Google search ad · KK_BRAND_SEARCH
Server-side sessions
Any event within two hours keeps the visit going
First and last touch
On every session and every customer
UTMs and click IDs
Source, medium, campaign, content and ad click IDs
Server events too
Payments and orders carry the visit's campaign

Meet the shopper behind the sessions, on CustomersRead the sessions API

Real-time session analytics Every session, live
Down to the last detail

Watch shoppers arrive, browse and pay as it happens. Open any visit to follow it step by step, or any event to see everything it carried.

Turn the turret

The order the payment created, recorded on the server, with the campaign of the visit it came from.

SessionsLive

SessionSourceCampaign
…7KQ2X9GOOGLEKK_BRAND_SEARCH
…M3VB81META_ADSKK_DIWALI_GIFTING
…D82LQACHATGPT.COMGIFT_TEA_GUIDE
…P4XW0TWHATSAPPKK_DIWALI_DROP
…H1ZC77DIRECT—

googleThu 8 Oct, 10:05

Riya SharmaIDENTIFIED

First touch

META_ADS

KK_DIWALI_GIFTING

Last touch

GOOGLE

KK_BRAND_SEARCH

Activity

  1. Page Viewed10:05
  2. Product Added10:06
  3. Checkout Started10:07
  4. Payment SuccessfulServer10:09
  5. Order CompletedServer10:09

Order Completed10:09:14From your server

PrettyRaw

properties
{…5 items}
order_id
"CE-2048"
revenue
1930
currency
"INR"
products
[…2 items]
event_id
"…order_completed.CE-2048"
context
{…2 items}
campaign
{…4 items}
source
"google"
medium
"cpc"
name
"KK_BRAND_SEARCH"
gclid
"Cj0KCQjw…"
session_id
"…7KQ2X9"
Live stream
Events arrive on your dashboard as they happen
Every session
Search and filter by source, campaign or customer
Every property
Each event's full payload, pretty or raw
Guest to customer
Visits before sign-in join the customer's timeline

See a customer's whole history, on CustomersRead the live events API

Web analytics Know your traffic
Without another tool

See who visits, where they come from and what they read, from Instagram ads to ChatGPT answers. Top pages and busiest hours too, in your store's own dashboard.

Group today's visitors by

The same 1,284 visitors, grouped by source. Each river is as wide as the crowd it brought.

Visitors
1,284+12%
Page views
4,906+8%
Online now
14last 3 min
  1. INSTAGRAM ADS412
  2. META ADS286
  3. GOOGLE ADS198
  4. DIRECT183
  5. WHATSAPP141
  6. CHATGPT.COM64
1,284visitors todayKettle & Kin

Popular pages

  1. /products/gift-tin612
  2. /homepage488
  3. /products/masala-chai301
  4. /collections/diwali254
  5. /products/cold-brew-kit133

Busiest hoursSun, 9 pm

Visitors and views
By hour, day, week or month, against the last period
Four ways to group
Source, UTM source, campaign and medium
AI answers
Visits from ChatGPT, Gemini and Claude, by name
Busiest hours
A week of traffic, hour by hour, plus devices

See what each product's visitors buy, on CatalogRead the analytics charts API

Product conversion funnels Find where each product
Loses its buyers

Every product gets its own funnel, from cart to paid order, measured against the last period. Spot the bestseller that stalls at payment before it costs you a month.

Pick a product

The Diwali push is landing: one in five carts with the gift tin becomes a paid order, up from one in twelve.

Viewed
18,420210%
Added to cart
3,210232%
Purchased
605831%
Revenue
₹8,77,250832%

20.0%cart to paid order+11.5 pts

This periodLast period

  1. Carts created3,021 shoppersLast period: 760 shoppers
  2. Address added734 shoppersLast period: 92 shoppers2,287 · 76% drop-off
  3. Orders created710 shoppersLast period: 89 shoppers24 · 3% drop-off
  4. Orders completed605 shoppersLast period: 65 shoppers105 · 15% drop-off

Last 30 days, against the 30 before

Every product
Viewed, added, checked out and bought, with revenue
Every stage
Carts, addresses, orders and paid orders, with drop-off
Any period
Today to all time, against the one before
From your orders
Funnels built from real carts and orders, not guesses

See reviews beside each product's funnel, on CatalogRead the product analytics API

Ecommerce reporting Traffic and sales
In one set of numbers

Visits, campaigns and orders live in one place, so revenue comes from your order book, not a pixel's guess. Every report agrees with the next, in your timezone.

Ask your store

Every buyer, matched to the campaign that brought them, counted from real orders rather than ad clicks.

Buyers by campaign · October

  1. KK_DIWALI_GIFTING326
  2. KK_BRAND_SEARCH141
  3. KK_TOF_LOOKALIKES91
  4. (direct)67
  5. KK_DIWALI_DROP63

Coming soon

Ask in your own words

“Which campaign's buyers came back for a second order?”

One source
Visits, orders, customers and shipments together
Revenue from orders
Gross and net, straight from your order book
Your timezone
By hour, day, week or month, against the last period
Buying again
Repeat rate and days between orders, per product

Track every delivery promise, on ShippingRead the dynamic query API

The rest of your store
Measured too

Analytics runs through every part of Commerce Engine, so each team finds its numbers where it already works.

  • Customers, before and after sign-in

    Guest visits join the customer's timeline, with sessions, spend and lifetime value.

    Profiles on Customers
  • Top products and customers

    Best sellers by quantity and value, and your top 25 customers by orders.

    Top-selling products API
  • Delivery performance

    Early, on time and late deliveries by state, city and courier, with time to ship.

    Shipping analytics
  • Offer redemptions

    How often each coupon is used, the discount it gave and the order value it brought.

    Coupons & Promotions
  • Webhook delivery health

    Delivered, failed and retried deliveries, with median and 95th percentile latency.

    Webhook stats API
  • Marketplace payouts

    Each seller's payouts at a glance: scheduled, paid, on hold and deducted.

    Run a marketplace
</>For developers

Events your tools
Already understand

The server sends commerce events in the ecommerce spec Segment and RudderStack follow. In the browser, @commercengine/analytics maps your storefront's events to the same names and IDs. Sessions, charts and the live stream each have an Admin API.

Sent to your Segment or RudderStack source

track · from your server
{
  "event": "Order Completed",
  "messageId": "01K6KKST.order_completed.CE-2048",
  "properties": {
    "order_id": "CE-2048",
    "revenue": 1930,
    "currency": "INR",
    "products": [
      { "product_id": "gift-tin", "price": 1450, "quantity": 1 },
      { "product_id": "masala-chai", "price": 480, "quantity": 1 }
    ],
    "event_id": "01K6KKST.order_completed.CE-2048"
  }
}
Fires when
The payment for an order is confirmed
Typical next step
Count the conversion in your ad platforms and warehouse
  • GET/analytics/sessions
  • GET/analytics/sessions/{id}
  • GET/store/sse/live-events
  • GET/analytics/charts
  • POST/analytics/dynamic-query
  • GET/catalog/metrics/product-analytics
  • GET/orders/metrics/stats
  • GET/customers/metrics/stats

Read the analytics package guideRead the analytics API

A few useful answers

Before you trust
a single number

How tracking, attribution and reports fit together, for the team reading the numbers and the developers wiring them up.

01

What does Commerce Engine's analytics include?

First-party analytics built into your store: commerce events tracked on the server, sessions with first- and last-touch attribution, a live view of every session and event, web analytics, product and checkout funnels, and reports on revenue, customers and repeat buying. All of it reads from the same data as your orders.

02

What is tracked on the server?

More than 30 commerce events, from Product Added and Checkout Started to Order Completed, payments, refunds, sign-ups and logins. Order Completed is sent the moment a payment is confirmed, so a sale is recorded even if the shopper closes the tab or blocks scripts.

03

Which tools can receive the data?

Segment and RudderStack, by adding a write key. From there your events reach every destination they support, such as ad platforms' conversion APIs, email tools and your data warehouse. Events follow the ecommerce spec those tools already use, so nothing needs remapping.

Read the analytics package guide (opens in new tab)
04

Won't browser and server events be counted twice?

No. Key events, including Product Added, Checkout Started, Payment Info Entered, Order Completed, Order Cancelled and Order Refunded, carry the same event ID whether the browser or the server sends them, so destinations count each one once. Your own reports use the server's copy.

05

How does attribution work?

Every visit becomes a session on the server. A session carries on while events keep arriving within two hours, and it records where the shopper first landed and where they last came from: source, medium, campaign, content and ad click IDs. Every event in the session carries that context, the payment and the order included, so each sale and each customer has a first and a last touch.

06

Do I need ad pixels or third-party cookies?

Not to see the journey. Commerce events are recorded on your own server, so no pixel has to fire for a sale to count, and visits are tied to sessions on your store rather than to third-party cookies. Consent stays in your hands: the analytics package reads ad click IDs only when you allow it.

07

How real-time is it?

Events reach your dashboard's live view as they're recorded, and any session or event can be opened as soon as it lands. Charts and reports follow moments later, in your store's timezone, by hour, day, week or month.

08

Do I still need a separate web analytics tool?

You can keep one and feed it through Segment or RudderStack. But visitors, page views, sources and campaigns, popular pages, devices and busiest hours are already in your dashboard, measured against the same orders you ship.

09

Can developers query the data?

Yes. Admin APIs return sessions with their activity, chart data, product and order metrics, and a dynamic query for counts, sums and averages grouped any way you need. A server-sent events stream delivers live activity to your own tools.

Read the analytics API (opens in new tab)
010

Can I ask questions about my store in plain words?

Coming soon. You'll be able to ask questions such as which campaign's buyers came back for a second order, and get an answer worked out from your events and orders together, as they are right now.

Want to see your own store's journeys? Let's connect your data together. Talk to our team (opens in new tab)

Start with numbers
You can trust

Tell us about your store and the tools you already use. We'll connect your events, sessions and reports with you, and walk through your first visit-to-order journeys together.