Store performance
10 cards on this board
Metrics on this board
GMV · Orders · Average order value · Order conversion · Product viewers · Buyers
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.
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
GMVOrdersThe data is usually there. It is just split between the storefront, the payment provider and the ad accounts.
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
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
GMV without refund amount overstates the month. The pack treats refund as a first-class event with a reason code.
Watch: Refund rate
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.
| Metric | Definition | Format | Dashboards |
|---|---|---|---|
| GMV | PROPSUM(purchase.revenue) | Currency | Store performance Catalog and conversion |
| Orders | TOTALS(purchase) | Number | Store performance Catalog and conversion |
| Buyers | UNIQUES(purchase) | Number | Store performance |
| Average order value | PROPSUM(purchase.revenue) / TOTALS(purchase) | Currency | Store performance |
| Product viewers | UNIQUES(view_item) | Number | Store performance Catalog and conversion |
| Add-to-carts | TOTALS(add_to_cart) | Number | — |
| Cart users | UNIQUES(add_to_cart) | Number | Catalog and conversion |
| Add-to-cart rate | UNIQUES(add_to_cart) / UNIQUES(view_item) * 100 | Percent | Catalog and conversion |
| Order conversion | UNIQUES(purchase) / UNIQUES(view_item) * 100 | Percent | Store performance |
| Checkout completion | TOTALS(purchase) / TOTALS(begin_checkout) * 100 | Percent | Catalog and conversion |
| Searches | TOTALS(search) | Number | — |
| Refund amount | PROPSUM(refund.revenue) | Currency | Catalog and conversion |
| Refunds | TOTALS(refund) | Number | Catalog and conversion |
| Refund rate | TOTALS(refund) / TOTALS(purchase) * 100 | Percent | Catalog 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.
Each dashboard is a set of cards: KPIs, funnels, trends, retention, distributions and breakdown tables. Edit, duplicate or share them after install.
10 cards on this board
Metrics on this board
GMV · Orders · Average order value · Order conversion · Product viewers · Buyers
8 cards on this board
Metrics on this board
Product viewers · Add-to-cart rate · Checkout completion · Refund rate · Cart users · Refund amount
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.
Purchase funnel
7-day windowView item
2,400
Add to cart
1,248
Begin checkout
674
Purchase
508
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
Each block pairs a capability with the store problem it answers.
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.
Example scenario: Mobile checkout completed 31% against 58% on desktop. The address autocomplete was failing on iOS. One fix, 9 points back.
Purchase funnel · mobile
7-day windowView item
2,400
Add to cart
1,248
Checkout
674
Purchase
508
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.
Channel GMV
Last 30 days| Channel | Viewers | Buyers | GMV | Return |
|---|---|---|---|---|
| Newsletter | 4,120 | 312 | $13,100 | 6.2× |
| Google Ads | 12,480 | 486 | $20,400 | 3.4× |
| Meta | 9,870 | 264 | $11,090 | 2.1× |
| Microsoft Ads | 3,210 | 98 | $4,120 | 1.8× |
| TikTok | 7,640 | 71 | $2,980 | 0.8× |
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 after first order (weeks)
| First order | Buyers | W1 | W2 | W3 | W4 | |
|---|---|---|---|---|---|---|
| Sep 1 week | 612 | 100% | 18% | 14% | 12% | 11% |
| Sep 8 week | 640 | 100% | 21% | 15% | 13% | |
| Sep 15 week | 598 | 100% | 19% | 16% | ||
| Sep 22 week | 655 | 100% | 24% |
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 reasons · share of refunds
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.
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.
Visitor context
Mia · Store support
Hi! That code expired yesterday — use SPRING10 instead, it works on your cart. Need help with anything else?
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.
| Event | Name | When to send | Required properties | Source |
|---|---|---|---|---|
search | Site search | When a search is submitted. results = 0 marks a no-result search. | query | Web Mini-program App |
view_itemRequired | View item | On a product detail page, once per item view. | item_id | Web Mini-program App |
add_to_wishlist | Add to wishlist | When an item is saved or favourited. | item_id | Web Mini-program App |
add_to_cartRequired | Add to cart | When an item is added, with quantity and value if known. | item_id | Web Mini-program App |
remove_from_cart | Remove from cart | When an item is removed from the cart. | item_id | Web Mini-program App |
view_cart | View cart | When the cart page or drawer is opened. | — | Web Mini-program App |
begin_checkoutRequired | Begin checkout | When the checkout flow starts; items_count and coupon if present. | — | Web Mini-program App |
purchaseRequired | Purchase | From your server when payment succeeds; insert_id = order_id, revenue = amount paid, group = store. | order_idrevenuecurrency | Server |
refund | Refund | From your server when a refund is issued, with order_id, amount and reason. | order_idrevenue | Server |
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.
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.
R. K.
Owner · DTC outerwear brand
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.
D. N.
Growth · home goods store
Illustrative scenarios written from the user’s point of view. Not real reviews.
Still have a question?
Chat with the team behind TapCub — we usually reply within a few hours on business days.
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.
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.
Send group=store:
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.
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.
No. The cross-border solution installs this same ecommerce pack and adds translated chat and overseas ad attribution on top.
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.
Free plan included. Shopify, WooCommerce and Webflow plugins available.