What you will learn #
This chapter is for store owners who want to connect Hitsteps to their online shop and read verified sales data next to visitor behavior. After reading it you can: connect a Shopify, WooCommerce or custom store, enable order and shopper collection, verify your first order, and read every Commerce report (Overview, Orders, Products, Cart & Checkout, Abandoned carts, Acquisition, Customers and Data Quality & Setup). You will also know exactly what each money and journey metric means, what is excluded from the ledger, and what belongs to support vs. the product.
Commerce uses two separate lanes, and keeping them apart is the key idea of the whole feature:
- Browser Commerce events describe shopping behavior: which products were viewed, added to cart, what checkout steps a visitor reached, and a provisional purchase signal. Browser data never creates verified orders, revenue, payments or refunds.
- A verified order provider (Shopify, WooCommerce, or your own store server) supplies authenticated order facts: orders, status changes, items, discounts, tax, shipping, payments and refunds. Only this lane is treated as financial proof.
Commerce as a whole is documented in the public guide Ecommerce analytics, which is the conceptual companion to this chapter. This chapter is the practical one: exact click paths, every control, expected results and fixes.
Before you begin #
Availability: This feature is being opened gradually. An eligible plan or trial does not by itself enable it for every website. The following instructions apply when your website has access; follow its displayed access message.
Before you start, make sure all of these are true:
- You are signed in to Hitsteps as the account owner, or an administrator with access to the site. Commerce settings and the Commerce trial are owner-level actions. A sub-user can configure a store but cannot consume the owner's one-account Commerce trial.
- Your site already runs the normal Hitsteps tracking code (getting-started chapter covers this). Commerce needs the storefront integrated so shopping events reach Hitsteps. For Shopify the app does this automatically; for WooCommerce the official plugin does.
- Your plan is eligible. As published on the features and pricing page and the Commerce guides: - Commerce is included with Pro and above and with your main Hitsteps trial. - With an active Free, Starter or Growth analytics license you can start one free 14-day Commerce trial per account. There is no automatic billing and your analytics plan stays the same. - An active analytics license is required the whole time; a Commerce trial does not renew or replace your analytics license. - Commerce currently has no separate monthly order-count allowance, but your normal Hitsteps traffic limits still apply.
- The website is enrolled in Commerce. Commerce is currently enabled for sites in a staged rollout. If the Commerce item does not appear (see navigation below), the app may not be open for this site yet; use the in-app contact link or contact Hitsteps to ask.
- For WooCommerce specifically, verified orders need the official Hitsteps WordPress plugin at version 5.99 or later, Commerce credentials provisioned for your site, and a qualifying plan, per the WooCommerce analytics page.
No order data exists before you connect and enable a source. Collection is forward-only: it starts at your verified coverage date and never imports older orders.
Step by step #
The setup screen walks you through three numbered steps: Connect a store → Turn on data collection →
Check your first order. Open it: Commerce → Settings (/stats/<your-site-id>/commerce/settings/),
or from the Overview banner button Connect a verified order provider (or Enable verified
collection) when the store is ready.
Step 1. Connect a store
- In Commerce settings, in step 1 Connect a store, choose the provider that matches your shop:
- Shopify (recommended for Shopify stores). Hitsteps-assisted setup: Hitsteps checks permission to read current orders, verifies the required webhooks, and compares one specific test order between your store and Hitsteps. There are no credentials to copy or paste; the Hitsteps Shopify app manages the connection. If Shopify does not yet have order access for you, Shopify asks you to approve order access when you enable Commerce. The public Shopify setup path is documented at Shopify app setup and Shopify Commerce tracking.
- WooCommerce (when the option is enabled for the site). You use the Commerce-capable official Hitsteps WordPress plugin with credentials provisioned for this website. Hitsteps then checks that one new test order and its refund arrive correctly. See the WooCommerce analytics page for the plugin requirement (version 5.99+).
- Custom store. Your developer sends signed server events that can be retried safely, using
credentials provisioned for this website. Keep product, variant, SKU, cart, checkout and journey
references stable, and see
#browser-apion the Ecommerce analytics guide.
- For providers that use credentials (WooCommerce, custom store), expand View connection credentials: - Choose Your store platform. - Enter Your Hitsteps password and click Connect or view credentials. - Copy the credentials and keep them on your store server. Never add them to browser code.
- Status badge next to the step shows Connected (green) or Not connected (amber). If status is unavailable, reload the page or use the "Get help connecting a verified provider" link.
- Shopify orders can also be enabled from inside the Shopify app itself ("Enable Commerce"); both surfaces write to the same store data.
Step 2. Turn on data collection
Data collection has two switches; they are independent and both must be on for a complete picture:
- Orders and refunds (the verified provider lane). Enabled after the provider is Ready.
- Shopper tracking (browser Commerce events). Enabled after the browser connection is Ready.
- Read the two source cards: Orders and refunds shows the provider status; Browser Commerce events shows browser status. Each has a "What is this and how do I set it up?" dialog.
- For a Shopify site the app already loads tracking and its Web Pixel; do not paste the tracking code
into your theme. For WooCommerce, Hitsteps confirms the official plugin includes Commerce support
and connects it to this site. For a custom store, the developer calls the browser Commerce methods
(
trackProductView · trackItemListView · trackCartChange · trackCheckoutStep · trackPurchaseSignal) after the normal tracker loads. - Toggle Shopper tracking (and, once Ready, Orders and refunds) to on inside the Turn on data collection step, then click Save Commerce settings.
- Important: collection starts only after you enable the source and save. Disabling a source later creates a visible data gap; re-enabling never fills the missed activity.
Step 3. Check your first order
- In step 3 Check your first order, place a new test order in your store and issue a refund.
- On a Shopify store, Shopify flags test orders (
test=1), and they stay out of every total: Data Quality & Setup counts them, the visitor page lists them, and Orders and Overview mention them when a period has no other orders. On WooCommerce or a custom store, a "test order" is an ordinary order and appears like any other, so check the items, payment state, refund, currency, visitor linkage and coverage status yourself. - Confirm in the report: the order, its items, payment state, refund, currency, the visitor it linked to, and the coverage status (Data Quality & Setup). Health cards show Last order received and Gaps in collection.
After this, real orders flow in from the provider and shopping behavior flows in from the browser.
Changing later settings
- Preferences (default money view, reporting currency, default revenue basis, cart inactivity timeout, store order numbers) and Data retention live below the three steps in Commerce settings; every saved version is recorded in Version history with the administrator, reason and effective time. Sensitive changes (retention reductions, erasure-policy changes, disabling authenticated provider collection) additionally require your current password and a reason.
Worked example #
Hypothetical store: your-store.example, a Shopify store whose plan is Pro, with Commerce connected and both switches enabled for a week.
Open Overview with the date range set to the last 7 days and Currency set to EUR (or "All currencies", which converts every order into your chosen reporting currency at daily market rates).
Expected: the KPI row shows Orders, Abandoned carts, Order value, Average order value and Buyers, each with a small arrow comparing to the previous period; below that, Paid orders, Units, Recorded refunds and Net order value. The charts show Order activity over time (daily order + value bars) and How complete is this data? (percent of orders linked to a visitor, percent with product details, and revenue captured so far). If your store has EUR and USD orders, a note tells you that money figures appear in EUR and that non-EUR totals are excluded unless you choose "All currencies".
Open Orders: a table with your-store.example's order numbers (say #1001, #1002), created time,
product names, a status chip (e.g. Paid), the linked visitor, order value and net order value. Click an
order: the order page shows Payment status, Order value, Recorded refunds, Units,
Linked visitor, Created, the Order items, Financial movements, and the
Original, manual, and effective values comparison. A Shopify order gets a View in Shopify link.
Open Abandoned carts: carts that had added to cart or started checkout and then went quiet for your configured timeout (default in hours). The cards show how many carts, how much value was left, the Recovery rate, and Average cart value; the table lists each visitor, first and last activity, the step reached, time to abandon, products left in the cart, cart value, and a Recovered or Abandoned badge.
Nothing in this example is a real customer record; numbers there will simply reflect your own store's data once collection runs.
Controls and metrics #
Overview controls
| Control | Meaning |
|---|---|
| Date view | How a period is counted. Order cohort: orders grouped by the day they were placed. Financial movements: each successful capture, refund or audited cash correction uses its own effective time. |
| Money view | Which amount a money figure means. Provider default: the amount the WooCommerce plugin or store server marks as default. Shop currency: the currency your store reports in. Presentment currency: the currency the shopper paid in. Shopify reports Shop and Presentment currency. |
| Currency | Which currency money figures use. Choose one recorded currency, or All currencies (in \<reporting currency>) to convert every order into the reporting currency at daily market rates, fetched once a day. A chosen single currency is shown on its own and never converted. |
| Segment | Slice the whole Commerce view to a saved Segment (All visitors by default). |
| Apply | Re-run the reports with the current filters. |
| Test orders notice | If present ("Test orders are not counted in these totals: N"), Shopify test orders are excluded from every report total. |
| Available history notice | If present, your selected range predates the start of Commerce collection (or of a connected source's coverage), so the earlier part is not included. |
| Retention notice | If present, Commerce data older than N days is removed under your site's retention setting; earlier dates show nothing. |
Overview metrics
| Metric | Definition |
|---|---|
| Orders / Paid orders | Verified orders from the provider lane in the period (paid vs all). |
| Order value | Sum of order totals (before refunds) in the chosen money view/currency. |
| Net order value | Order totals minus recorded refunds. This is the default headline money figure. |
| Average order value (AOV) | Order value divided by the number of orders. |
| Buyers | Distinct linked visitors who ordered, plus unlinked buyers where known. |
| Units | Quantity of items sold across the orders in the view (whole unless the provider sent fractions). |
| Recorded refunds | Refunds reported by the store, in the chosen currency. |
| Abandoned carts | Carts that went quiet for the configured inactivity timeout. |
| Financial movement over time / Movement evidence | Provider movements (payments and refunds your store reported), audited manual movements (your recorded corrections), unlinked movements listed separately, and Period coverage Complete/Incomplete. |
| How complete is this data? | Orders linked to a visitor (x of y), Orders with product details, and Revenue captured so far (net captured revenue). |
Orders tab
| Control/metadata | Meaning |
|---|---|
| Search order reference | Free text on the store order number (or the Hitsteps number when store numbers are hidden). |
| Payment status | Filter to one status (e.g. Paid, Refunded, Partially refunded, Cancelled). |
| Export CSV | Downloads the current Orders view (respecting the search/filter and page size). |
| Columns | Order, Created, Products, Status, Visitor, Order value, Net order value. The product column lists the order's items with "+N more" when truncated, and orders reached from a cart show the store number link. |
| Pagination | Page X of Y; Previous/Next. |
Products tab
| Card | What it shows |
|---|---|
| What sold best | Bar chart ranked by product value; hover for amounts, orders and units. |
| Bought together | Pairs of products that appeared in the same order, with the number of shared orders; each product links to Orders containing it. |
| Product performance | Table: Product, SKU/category, Quantity, Orders, Buyers, Returned, Allocated refunds, Value, and a share bar of the total. Rows without a catalog product are one honest bucket: Items not linked to a catalog product (they still count in Orders and Overview). |
| Product filter | Any product name in the table links to all orders containing it; Clear product removes the filter. |
Cart & Checkout tab
| Control | Meaning |
|---|---|
| Commerce journeys | Distinct shopping journeys in the period. |
| Checkout starts | Journeys that reached the Checkout started step. |
| Checkout completion / abandonment | Completed checkouts and abandonment as percentages of journeys. |
| Where shoppers drop off | Funnel bars: Product viewed → Cart item added → Checkout started → Completed checkouts. The biggest drop is your best opportunity. |
| Cart and checkout steps | Step list with journey count and event count: Product viewed, Cart viewed, Cart item added, Checkout started, Contact info submitted, Address info submitted, Shipping info submitted, Payment info submitted, Purchase signal. Click a step to see who reached it. |
| Who reached this step | Table per step: Visitor, When, Events, Journey (Purchased/Recovered badge or a journey-state chip), Left in cart (names + qty), Cart value. |
Abandoned carts tab
| Control | Meaning |
|---|---|
| Abandoned carts / Value left in carts | Carts that went quiet for the timeout, and the value in them. |
| Recovery rate / Average cart value | Recovered later as a percentage; average value of abandoned carts. |
| Also in this period | Recovered carts, Checkout started, Average time before abandoning, Most common last step. |
| Where shoppers dropped off | Last step each cart reached before going quiet. |
| Products most often left behind | Products, abandoned-cart counts, units, value left. |
| Carts table | Visitor, First seen, Last activity, Reached, Time to abandon, Left in cart, Cart value, Status (Recovered or Abandoned). Recovered carts hyperlink to their order. |
| Export CSV | Downloads the current abandoned-carts view. |
| Tip | Build a Segment with the condition "Cart abandonment detected" to follow up with these shoppers. |
Acquisition tab
| Control | Meaning |
|---|---|
| Break down by | Choose the order-time dimension: First/latest source, medium, campaign, Referrer host, Landing page, Ad source/campaign/group/ad, Saved Segment, or your custom dimensions. |
| Where your buyers came from | Bars ranked by orders; hover shows paid orders and value. |
| Acquisition performance | Table per breakdown value: Orders, Paid orders, Buyers, Net order value, share of total. |
| Frozen at order time | Acquisition facts are stored when the order is placed and never change afterwards. |
| Empty values | "Direct, unattributed, or not set" for most dimensions, or "Landing page not recorded" for the landing-page dimension. |
Customers tab
| Control | Meaning |
|---|---|
| Known customers / First-time / Repeat / Unlinked orders | Totals in the period; first-time buyers grow your base, returning buyers show stickiness. |
| New and returning buyers | First-time vs Repeat chart. |
| Repeat purchase rhythm | For all linked orders of the site: average gap between repeat purchases, Repeat customers, Due to reorder, and a table of visitors with orders, last order, usual interval, overdue by N days. |
| Linked customer cohorts | Privacy-safe Hitsteps visitor IDs only (no provider names, emails, addresses or payment data): Visitor, Cohort (First-time/Repeat), Orders, First order, Last order, Net order value. |
| Anonymous orders | "Orders tied only to shopping activity: N. These buyers have no recorded pageviews" and "Orders we could not tie to a visitor stay anonymous. We never guess who a buyer was." |
Data Quality & Setup tab
| Control | Meaning |
|---|---|
| Verified orders / Last order received | Provider-verified orders; last order timestamp. |
| Rejected updates / Conflicting updates | Provider updates rejected, and updates that conflicted with active manual adjustments. |
| Collection and coverage | Order sources (Connected/Not connected), Shopper tracking (Connected/Not connected), Gaps in collection, Payment and refund transactions (Available / Waiting for the first non-test order / Not available yet). |
| Data diagnostics | Orders without a visitor, Orders with shopping activity only, Orders without product details, Orders without refund records, Manual corrections. |
| Open Commerce settings | Shortcut to the settings screen. |
Order page controls (one order)
| Control | Meaning |
|---|---|
| Payment status / Order value / Recorded refunds / Units / Linked visitor / Created | The order summary. |
| View in Shopify | Opens the order in Shopify (when a Shopify link exists). |
| Order items | Expandable items: Quantity, SKU, Line total, and item-level adjustments. |
| Financial movements | Provider movements and separately audited manual adjustments; provider evidence is never overwritten. |
| Original, manual, and effective values | Shows provider original vs. effective value after any manual corrections. Reports, exports, Segments and visitor cards all use the effective-value layer. |
| Adjust order fields / Record financial adjustment / Change visitor link / Adjust order attribution | Audited correction forms: field corrections, cash movements (confirmed cash needs your current password and a lawful basis note for non-cash), visitor re-link (no email, name or IP matching), and order-time acquisition fixes. Every change appends an audited revision with a reason; Reverse adjustment appends a reversal, it never deletes evidence; conflicts ask you to Accept provider or Keep and rebase manual adjustment. |
| Adjustment history | Chronological audit with revision numbers, states, actor (Account owner or Administrator #n), and reversal/conflict actions. |
Settings controls
| Control | Meaning |
|---|---|
| Orders and refunds (switch) | Verified provider collection on/off. |
| Shopper tracking (switch) | Browser Commerce event collection on/off. |
| Default money view | Provider default / Shop currency / Presentment currency. |
| Reporting currency | Which currency "All currencies" converts into; Most used recorded currency is the automatic default. |
| Default revenue basis | Net order value (order totals minus refunds) or Net captured revenue (only payments actually collected). This sets the headline money figure on Overview. |
| Cart inactivity timeout | Hours before a cart counts as abandoned; allowed 1 to 168 hours. |
| Store order numbers | Show your store's order numbers in reports and exports (off by default). |
| Browser journey retention / Verified order retention | Days to keep browser journeys and verified order data; the caps follow your plan's history window (browser journeys capped at 30 days of history, verified orders at 365). Reducing retention requires a confirmation checkbox and applies child-first deletion; deleted detail cannot be restored. |
| Visitor erasure behavior | Delete linked Commerce facts (erasure removes the linked Commerce records) or Detach and minimize retained financial facts (keeps order amounts for accounting, removes every link to the visitor; available only when you have documented a lawful financial-retention basis). |
| Save changes | Every saved version records administrator, reason and effective time; current password is required for sensitive changes. |
| Version history | Audited revision list. |
| Onboarding states | "Connect your store to begin", "Store connected - enable verified collection", and "Connect Shopify, WooCommerce, or your custom store. Collection begins only after the provider is verified and enabled." |
Problems and fixes #
| Problem | Why it happens | Fix |
|---|---|---|
| No Commerce item in the menu | Commerce is a staged rollout and may not be enabled for this site yet, or the account is not entitled. | Check plan/eligibility (section 2); if eligible but still missing, use "contact Hitsteps" from the Commerce guide and ask to enable the site. |
| A trial button instead of reports | The account is on Free/Starter/Growth with no Commerce trial started. | Start the one free 14-day Commerce trial (owner only); analytics plan and billing do not change. No automatic billing. |
| "Connect your store to begin" never clears | No verified provider connection. | Complete Step 1 with the correct provider; for WooCommerce make sure the plugin is 5.99+ and credentials are on the store server. |
| No orders even after checkout | Only browser events are on; the verified provider lane is off, or provider not Ready. | Turn on Orders and refunds in Step 2 and save. Provider orders appear only from the verified lane. |
| Revenue is 0 in Overview | Default revenue basis is Net captured revenue and payment coverage is incomplete. | Either wait for the first non-test order's payment records, or switch Default revenue basis to Net order value (both explain themselves on screen). |
| Missed activity after disabling | Disabling a source creates a gap; re-enabling never backfills. | Keep both switches on; after an outage, use Data Quality & Setup to see gaps and judge coverage. |
| Test orders in the numbers | On WooCommerce/custom a test order is an ordinary order; only Shopify flags test orders. | Place the verification test order as described in Step 3 and check the status; Shopify test orders stay out of totals. |
| "Orders not linked to a visitor" | No pageviews recorded for that buyer (shopping activity only) or no link found. | Hitsteps never guesses an identity. Check the Data Quality report; re-linking from the order page is the manual path. |
| Wrong currency totals | A single currency view excludes other currencies; "All currencies" needs a market rate. | Choose "All currencies" to convert, or pick the currency itself. Carts/orders in currencies without a rate are shown without value and are mentioned in a note. |
| A metric seems partial | Numbers are built from the records collected so far and fill in as more arrive. | Reload after the next sync and check Data Quality & Setup for gaps and conflicts. |
Access, privacy and limits #
- Two lanes, one ledger. Browser data describes behavior and never creates verified orders, revenue, payments or refunds. Only the authenticated provider lane (Shopify, WooCommerce, your store server, or another verified billing system) creates verified financial facts. Existing Goal values and legacy WooCommerce conversion revenue remain separate and do not populate the verified Commerce ledger.
- What is collected. Browser events collect product and list views, cart changes, checkout steps, item context and a provisional purchase signal. The provider lane collects orders, status changes, items, discounts, tax, shipping, payments and refunds when the connected source supplies and verifies them. Browser Commerce events exclude customer email, phone, address, card details and checkout secrets. Hitsteps privacy and opt-out controls apply.
- Forward-only and coverage-based. Collection starts at the verified coverage date and never imports older orders. "Combined reports begin when all connected order sources have coverage." Gaps are visible in Data Quality & Setup. Disabling a source creates a visible gap; re-enabling starts a new coverage period and does not fill missed activity.
- Plans. Commerce is included on Pro and above and during the main Hitsteps trial; lower-plan accounts get one explicit free 14-day Commerce trial per account while the analytics license is active, with no automatic billing. Commerce currently has no separate monthly order-count allowance; normal Hitsteps traffic limits apply. Check the current features and pricing and your account License page for available plans and allowances, which can change.
- Roles. Commerce reports are owner-level. Settings and the trial require the account owner; sub-user administrators can configure a store but cannot consume the owner's trial. Export tickets, API/site codes and account overrides never enter trial actions.
- Attribution limits. Acquisition facts are frozen at order time and never change later. Orders without a linkable visitor stay counted but unlinked; Hitsteps never guesses who a buyer was. Orders tied only to shopping activity (no pageviews) are shown separately, not as browsed visitors.
- Retention and erasure. Retention follows plan history caps (browser journeys up to 30 days of history, verified orders up to 365) and the site's retention setting; older data is removed and shows as empty. Visitor erasure either deletes linked Commerce facts or detaches and minimizes retained financial facts when a lawful basis is documented. Check your effective history limits in the website settings and current plan comparison.
- Not included. Commerce is not inventory management, tax filing, payment processing, a CRM, or automatic currency conversion. It is also not session recording/replay.
Last checked #
Checked 8 November 2026 using product documentation and source, with public pages and safe sample screens where available. Account-specific access, provider controls and effective limits can differ; use the current message shown for your website. Examples are illustrative.