TapCub is live — analytics, insights and live chat, free on one platform

Ecommerce analytics Where do orders slip away?

The ecommerce template follows a shopper from product view to purchase and refund, computes GMV, average order value, checkout completion and refund rate on the way, and puts the cart next to the chat when someone stalls on the address form.

  • Purchase funnel in one click
  • purchase and refund from your server
  • Store as a group for multi-store brands
app.tapcub.com
DashboardsStore performanceLast 12 monthsFilterExport

GMV

$86,400

▲ 12.4%

Orders

2,057

▲ 9.8%

Average order value

$42

▲ 2.1%

Order conversion

21%

▼ 1.4 pts

GMV and orders

GMVOrders
JanMarMayJulSepNov
Sample data
The problem

Three questions every store asks on Monday

The data is usually there. It is just split between the storefront, the payment provider and the ad accounts.

Carts are abandoned, step unknown

Add-to-cart looks healthy, orders do not. Without begin_checkout as a step you cannot tell address form from payment page.

Watch: Checkout completion rate

Channels judged by clicks, not margin

Ad platforms report their own conversions. Until cost is imported and matched to paid orders, every channel looks like a winner.

Watch: Channel GMV table

Refunds live in another system

GMV without refund amount overstates the month. The pack treats refund as a first-class event with a reason code.

Watch: Refund rate

Template metrics

Fourteen metrics, one definition each

Every metric below is computed from the events in the next section. The names are the ones you will see in the console after install.

MetricDefinitionFormatDashboards
GMVPROPSUM(purchase.revenue)CurrencyStore performance
Catalog and conversion
OrdersTOTALS(purchase)NumberStore performance
Catalog and conversion
BuyersUNIQUES(purchase)NumberStore performance
Average order valuePROPSUM(purchase.revenue) / TOTALS(purchase)CurrencyStore performance
Product viewersUNIQUES(view_item)NumberStore performance
Catalog and conversion
Add-to-cartsTOTALS(add_to_cart)Number—
Cart usersUNIQUES(add_to_cart)NumberCatalog and conversion
Add-to-cart rateUNIQUES(add_to_cart) / UNIQUES(view_item) * 100PercentCatalog and conversion
Order conversionUNIQUES(purchase) / UNIQUES(view_item) * 100PercentStore performance
Checkout completionTOTALS(purchase) / TOTALS(begin_checkout) * 100PercentCatalog and conversion
SearchesTOTALS(search)Number—
Refund amountPROPSUM(refund.revenue)CurrencyCatalog and conversion
RefundsTOTALS(refund)NumberCatalog and conversion
Refund rateTOTALS(refund) / TOTALS(purchase) * 100PercentCatalog and conversion

Metric names and formulas come from the industry pack. TOTALS counts events, UNIQUES counts people, PROPSUM adds up a property. Every figure on this page is sample data.

Dashboards the template installs

Each dashboard is a set of cards: KPIs, funnels, trends, retention, distributions and breakdown tables. Edit, duplicate or share them after install.

Store performance

10 cards on this board

4 × KPI1 × funnel1 × trend1 × retention1 × distribution2 × table

Metrics on this board

GMV · Orders · Average order value · Order conversion · Product viewers · Buyers

Catalog and conversion

8 cards on this board

4 × KPI1 × funnel2 × trend1 × table

Metrics on this board

Product viewers · Add-to-cart rate · Checkout completion · Refund rate · Cart users · Refund amount

Funnel

View item, add to cart, checkout, purchase

The purchase funnel uses a 7-day window, so a shopper who comes back on Friday to pay still counts. The −46% badge marks the step losing the most.

app.tapcub.com
FunnelsPurchase funnelLast 30 daysUsersSessions

Purchase funnel

7-day window

View item

2,400

Add to cart

1,248

Begin checkout

674

Purchase

508

Sample data

Break it down by property

Split the same funnel by item category, coupon or payment_method to see which part of the catalog converts.

Compare channels

Run the funnel per channel. A channel with cheap clicks and a weak checkout step is costing more than it looks.

Hold on the item

The search-to-purchase funnel holds item_id, so you see whether people buy the thing they searched for.

Also in the pack

  • Search-to-purchase funnelSite search → View item → Purchase · 7-day window
How teams use it

Four jobs the template does on day one

Each block pairs a capability with the store problem it answers.

Use case 1

Fix the checkout step that leaks

begin_checkout and purchase bracket the whole payment flow. Add your own step events in between, or let autocapture pick up the field clicks, and the funnel shows exactly where shoppers stop.

  • Checkout completion rate as a KPI card
  • Funnel by device, so a mobile-only bug shows up
  • Path analysis from checkout to the pages leavers visit instead

Example scenario: Mobile checkout completed 31% against 58% on desktop. The address autocomplete was failing on iOS. One fix, 9 points back.

app.tapcub.com
FunnelsPurchase funnelLast 30 days

Purchase funnel · mobile

7-day window

View item

2,400

Add to cart

1,248

Checkout

674

Purchase

508

Sample data
Use case 2

Rank channels by GMV after cost

The click ID stays on the buyer, purchase carries revenue, and imported spend turns the channel table into return. Newsletter is a channel too, with the same order definition as paid.

  • 14 ad platforms recognised by click ID
  • Channel GMV table on the store board
  • Cost import by CSV or integration
app.tapcub.com
Store performanceChannel GMVLast 30 days

Channel GMV

Last 30 days
ChannelViewersBuyersGMVReturn
Newsletter4,120312$13,1006.2×
Google Ads12,480486$20,4003.4×
Meta9,870264$11,0902.1×
Microsoft Ads3,21098$4,1201.8×
TikTok7,64071$2,9800.8×
Sample data
Use case 3

Watch repeat purchase, not just first orders

The store board includes first-purchase to repeat-purchase retention by week. Buyers who return in week two are your margin; this is where coupons and lifecycle emails get judged.

  • Repeat-purchase retention card, 8 weeks
  • Segment: bought twice, no refund
  • RFM on the same profile for lifecycle campaigns
app.tapcub.com
Store performanceRepeat retentionLast 30 days

Repeat purchase after first order (weeks)

First orderBuyersW1W2W3W4
Sep 1 week612100%18%14%12%11%
Sep 8 week640100%21%15%13%
Sep 15 week598100%19%16%
Sep 22 week655100%24%
Sample data
Use case 4

Refunds with a reason, by store

refund carries order_id, amount and a reason code. Refund rate sits on the catalog board; the store ranking table shows which location is returning the most.

  • Refund amount trend next to GMV
  • Reasons: quality, size, changed mind, delay
  • Store GMV ranking via group=store
app.tapcub.com
Catalog and conversionRefundsLast 30 days

Refund reasons · share of refunds

SizeQualityChanged mindDelayOther
Sample data
Analytics × Chat

Greet the shopper who stalls in checkout, cart still in view

The live list shows a visitor three minutes into checkout with a $184 cart from Google Ads. The agent sees the cart, the pages and the coupon field she tried. The invite goes out before she closes the tab.

  • Proactive invite triggered by time on /checkout and cart value
  • Context card: cart, source, last five pages, coupon attempts
  • AI answers shipping and return questions from your policy pages first

Example scenario: Of 1,284 proactive invites on the checkout page in a month, 318 turned into a reply and 172 into a paid order inside the session.

yourstore.com/checkout
InboxVisitor · BerlinLiveAuto-translateAssign to me

Visitor context

Page
/checkout · 3 min 12 s
Cart
$184 · 3 items
Source
Google Ads · spring_sale
Coupon
tried twice, invalid
Visits
2nd visit · 4 days ago
  • /collections/outerwear
  • /products/parka-01
  • /cart
  • /checkout
yourstore.com/checkout
TC

Mia · Store support

Hi! That code expired yesterday — use SPRING10 instead, it works on your cart. Need help with anything else?

Sample data
Events

Nine events, five required

Browser events come from the snippet or autocapture. purchase and refund come from your server with order_id as insert_id, so a retried webhook never double counts.

EventNameWhen to sendRequired propertiesSource
searchSite searchWhen a search is submitted. results = 0 marks a no-result search.queryWeb Mini-program App
view_itemRequiredView itemOn a product detail page, once per item view.item_idWeb Mini-program App
add_to_wishlistAdd to wishlistWhen an item is saved or favourited.item_idWeb Mini-program App
add_to_cartRequiredAdd to cartWhen an item is added, with quantity and value if known.item_idWeb Mini-program App
remove_from_cartRemove from cartWhen an item is removed from the cart.item_idWeb Mini-program App
view_cartView cartWhen the cart page or drawer is opened.—Web Mini-program App
begin_checkoutRequiredBegin checkoutWhen the checkout flow starts; items_count and coupon if present.—Web Mini-program App
purchaseRequiredPurchaseFrom your server when payment succeeds; insert_id = order_id, revenue = amount paid, group = store.order_idrevenuecurrencyServer
refundRefundFrom your server when a refund is issued, with order_id, amount and reason.order_idrevenueServer

Event names, required properties and sources come from the pack. Events marked Server must be sent from your backend; use insert_id to de-duplicate orders and invoices.

Scenarios

Two stores, two first weeks

Illustrative scenarios, not reviews.

Checkout completion was a number we had never seen. 54% on day one. Two weeks and one removed field later, 63%. Same traffic.

RK

R. K.

Owner · DTC outerwear brand

Checkout completionFunnel

TikTok sent the most viewers and the fewest buyers. The channel GMV table ended that debate in one meeting, and the budget moved to Newsletter and search.

DN

D. N.

Growth · home goods store

Channel GMVReturn

Illustrative scenarios written from the user’s point of view. Not real reviews.

FAQ

Questions about this solution

Still have a question?

Chat with the team behind TapCub — we usually reply within a few hours on business days.

What does the ecommerce template install?

Nine events, fourteen metrics including GMV, average order value, order conversion, checkout completion and refund rate, two funnels and two dashboards: Store performance and Catalog and conversion.

Do I need to change my storefront code?

Browser events can come from the snippet, autocapture or the Shopify, WooCommerce and Webflow plugins. purchase and refund should be sent from your server or payment webhook so revenue is never missing because a tab closed.

How are multi-store brands handled?

Send group=store: on events and the store becomes a group subject. The catalog board ranks stores by orders, GMV and refund amount.

Where do item-level reports come from?

purchase can carry an items array with item_id, category, price and quantity. With it, promotion and item reports work per line; without it, coupon reports work at order level only.

Can I see repeat purchase rate?

The store board includes first-purchase to repeat-purchase weekly retention. Build a segment of buyers with two or more purchases to track it as a live audience.

Is cross-border a separate pack?

No. The cross-border solution installs this same ecommerce pack and adds translated chat and overseas ad attribution on top.

Get started

Install the ecommerce template

Create a project, paste the snippet, install the pack. The purchase funnel, GMV and refund metrics appear as soon as the first order is sent.

  • 9 events
  • 14 metrics
  • 2 funnels
  • 2 dashboards

Free plan included. Shopify, WooCommerce and Webflow plugins available.