Use case · Ecommerce
Ecommerce analytics: which campaigns sell, and where carts are lost
Updated
Online stores live on thin margins and paid traffic, so a report that says "Instagram sent 4,000 sessions" is not enough. You need revenue per campaign to set ad budgets, a funnel to find the leaky step, and evidence — a heatmap, a replay, a JavaScript error — to fix it.
VisitTrack covers that for stores whose checkout runs on Stripe Checkout or Payment Links, Paddle, Lemon Squeezy, Polar or Razorpay: payments arrive by signed webhook and are attributed to the visitor's first touch. If your checkout is hosted by a store platform such as Shopify, see analytics for Shopify stores for what changes.
The ecommerce metrics that matter
1.Revenue and revenue per visitor by channel and campaign
The number that sets ad budgets. Google, Meta, Microsoft, TikTok and LinkedIn click ids are recognized and labeled as paid even when a UTM is missing. Compare with your ad spend using the ROAS calculator.
2.Product-to-purchase funnel conversion
Each step's conversion between product page, cart, checkout start and payment. Industry averages hide your specific leak — the funnel shows it.
3.Conversion rate by device
Mobile usually brings most of the traffic and converts worse. If the gap is wider than about 2x, the mobile checkout is the problem, not the traffic.
4.Landing pages that start buying journeys
Which collection pages, blog posts or gift guides precede the most revenue. Good for deciding what to promote and what to rewrite.
5.Friction signals: rage clicks, JS errors, 404s, Web Vitals
Recorded without code. A spike in
rage_clickon the size selector orjs_erroron the cart page is lost revenue you can fix this week. Slow LCP on product pages costs conversions too.6.Days to purchase
How long between first visit and order. Short cycles favor last-click spending; long ones mean content and email do more work than the ad report suggests.
Questions store owners ask their analytics
- Which ad campaign actually made money last week?
- Revenue by campaign on the Revenue tab, with first-touch and last-touch side by side so you see which campaigns find buyers and which close them.
- Where do shoppers abandon?
- The checkout funnel shows step-by-step drop-off; open replays of visitors who dropped at the worst step to see what they hit.
- Is the mobile checkout broken?
- Filter the dashboard to mobile devices and compare conversions with desktop, then check the Clicks heatmap and the automatic
js_errorevent on the cart page. - Do our blog posts sell anything?
- Filter revenue by landing page: posts that start buying journeys show attributed revenue next to them.
- How much revenue did refunds take back?
- Subscribe to your provider's refund event and refunds, including partial ones, are subtracted from the original payment automatically.
How to set up ecommerce analytics with VisitTrack
Install the tag on the storefront
In the storefront's layout, before
</head>. Product, cart and checkout pages should all carry it.<script defer data-site="SITE_ID" src="https://visitrack.app/tracker.js"></script>Track the cart and checkout steps
Send an event when an item is added to the cart and when checkout starts. Props such as product or value are fine (up to 10 per event).
window.visitrack?.("add_to_cart", { product: "linen-shirt", price: 59 }); window.visitrack?.("checkout_started", { items: 2 });Connect payments
Pass the visitor id into checkout —
client_reference_idfor Stripe Checkout and Payment Links, custom data for Paddle, Lemon Squeezy, Polar and Razorpay — and connect the webhook in Settings → Revenue. See revenue attribution. Stripe PaymentIntents confirmed outside Checkout aren't attributed automatically; send those orders as server events.Build the funnel
Funnels → new funnel with the steps
add_to_cart→checkout_started→payment_completedand a 7-day window. Page steps match an exact path (for example/cart), so for many product pages an event such asproduct_viewedworks better as the first step.payment_completedis written automatically for every attributed payment.Turn on replays and heatmaps for the checkout
Session replays are off by default: switch them on in Settings → Replays and pick a sample rate (20% is the default). Form fields are always masked, so card and address fields are never recorded. See session replays.
Example: a direct-to-consumer store's month
An apparel brand on a custom storefront with Stripe Checkout, about 30,000 monthly visitors.
| Metric | Value | What it tells you |
|---|---|---|
| Visitors | 30,400 | 63% mobile |
| Orders | 512 | 1.7% conversion; $38,900 attributed revenue |
| Meta ads (paid social) | 9,800 visitors, $6,100 | $0.62 per visitor |
| Google organic | 7,200 visitors, $11,400 | $1.58 per visitor — 2.5x paid social |
| Cart → checkout step | 41% drop-off on mobile, 22% on desktop | Replays show a shipping-cost surprise at checkout |
| rage_click events | 1,140 | Most on a size chart link that opens nothing on iOS |
Illustrative numbers for a typical site of this kind, not real customer data.
Two fixes fall straight out of the table: show shipping costs on the product page, and repair the size chart on iOS. Budget-wise, organic search and email earn far more per visitor than paid social, which argues for content over a bigger Meta budget — something the ad platform's own reporting will never tell you.
VisitTrack vs GA4 and Shopify-style built-in analytics for ecommerce
Third-party details as of October 2026.
| VisitTrack | Google Analytics 4 | Store platform analytics | |
|---|---|---|---|
| Revenue source | Payment provider webhooks (Stripe, Paddle, Lemon Squeezy, Polar, Razorpay) | Ecommerce events you send (purchase, add_to_cart…) | The platform's own orders — authoritative |
| Attribution models | Five, compared side by side | Data-driven, last click | Usually last-click or first/last visit |
| Consent banner in the EU | Not needed in cookieless mode | Typically required | Depends on platform and apps |
| Replays / heatmaps | Built in (replays opt-in) | Not included | Usually via third-party apps |
| Ad platform integration | No ad spend import | Deep Google Ads integration | Varies |
If Google Ads is your main channel and you bid on GA4 conversions, keep GA4 for that job. VisitTrack is the better fit when you want privacy-friendly, readable revenue-by-channel reporting plus friction signals without a tag manager. See VisitTrack vs Google Analytics and vs Hotjar.
What VisitTrack costs for an online store
Stores average 4–6 pageviews per visit, plus cart and checkout events and payments.
| Profile | Events / month | Plan | Price | Notes |
|---|---|---|---|---|
| New store | ~20,000 | Up to 25k events/mo | $9/mo or $90/yr | ~4k visitors |
| Established DTC brand | ~190,000 | Up to 250k events/mo | $29/mo or $290/yr | ~30k visitors |
| Large catalog | ~2,100,000 | Up to 2.5M events/mo | $89/mo or $890/yr | ~350k visitors |
Every feature is on every plan; the price only follows monthly events (pageviews, custom events and payments, counted across all your sites). Bot and AI-crawler hits and session replays are never billed. Yearly billing is ten months' price for twelve, every plan starts with a 14-day free trial with no card, and there's a one-time lifetime deal from $59.
Frequently asked questions
What is the best analytics for an ecommerce site?
One that attributes real orders to channels and shows where shoppers drop off. VisitTrack does both for stores using Stripe, Paddle, Lemon Squeezy, Polar or Razorpay; Shopify stores should combine Shopify's own order reports with a traffic tool.
Can VisitTrack track add-to-cart and checkout steps?
Yes, as custom events — one line of JavaScript each, or a data-vt-goal attribute on the button. Combine them with the automatic payment_completed event in a funnel.
Does it work with WooCommerce?
Traffic, funnels and events work on any WordPress store (WordPress guide). Automatic revenue attribution needs payments that go through Stripe Checkout or one of the other supported providers; orders paid another way can be sent from the server as custom events.
Will session replays record credit card numbers?
No. Every input, textarea and select is masked in the browser before anything is sent, and you can mask or block any other element with data-vt-mask or data-vt-block.
How do I measure return on ad spend?
Use attributed revenue per campaign from the Revenue tab and divide by the campaign's spend from your ad platform. The ROAS calculator does the math.
Does analytics need a cookie banner on an EU store?
Not in VisitTrack's cookieless mode, which stores nothing on the device. Standard mode uses a first-party cookie and generally needs consent in the EU. This is general information, not legal advice.
Related
- Analytics for Shopify storesWhat changes when Shopify hosts the checkout.
- Analytics for marketplacesTwo-sided funnels for buyers and sellers.
- ROAS calculatorRevenue against ad spend, per campaign.
- Conversion rate calculatorBenchmark each funnel step.
- Session replaysOpt-in, every form field masked.
- VisitTrack vs HotjarHeatmaps and replays next to revenue.
See which channels actually bring paying customers
VisitTrack is cookie-free analytics with revenue attribution built in. One script tag, no consent banner, live in two minutes. 14 days free, no card required.