Ecommerce Analytics: Find Where Sales Stall
Ecommerce analytics is the collection and analysis of an online store’s traffic, shopping activity, sales, and customer data. Use it to identify where purchases are being lost, which products generate value after discounts and returns, and how often customers buy again.

A useful analysis connects acquisition, conversion, order value, product profitability, and repeat purchasing. These measures answer different questions: how visitors arrive, how shopping progresses, what orders are worth, and what happens after the first sale. Start with the part of that chain under investigation, then check the adjacent measures before choosing a change.
Which ecommerce metrics should be tracked?
Record sessions, customers, orders, and purchased units alongside rates and revenue. Google distinguishes event counts from item quantities: an add-to-cart action and the units included in that action are different measures. Its Ecommerce purchases metric counts purchase events, while Items purchased counts the products included in those events.
Label every rate with its population and reporting period. The following definitions provide a practical starting set; the Shopify formulas apply to Shopify’s named fields.
| Metric | Definition or calculation | What it helps assess |
|---|---|---|
| Online store conversion rate | Shopify’s conversion rate: sessions that completed checkout divided by store sessions, multiplied by 100. | The share of visits producing a purchase. |
| Checkout conversion rate | Shopify’s checkout conversion rate: sessions that completed checkout divided by sessions that reached checkout, multiplied by 100. | Completion among visits that reached checkout. |
| Average order value (AOV) | Shopify’s AOV: gross sales minus discounts, excluding post-order adjustments, divided by orders. | Order value at the time of purchase. |
| Net sales | Shopify’s net sales: gross sales minus discounts and sales reversals. | Merchandise sales after those adjustments. |
| Gross profit | Shopify’s gross profit: net sales minus recorded product costs. | Product profit before costs outside that calculation. |
| Gross margin | Shopify’s gross margin: gross profit divided by net sales, multiplied by 100. | Product profit relative to sales. |
| Customer acquisition cost (CAC) | Total sales and marketing costs divided by new customers acquired. | The cost of acquiring a customer. |
| Return on ad spend (ROAS) | Revenue attributed to advertising divided by advertising spend. | Attributed revenue relative to ad cost. |
| Returning customer rate | Shopify’s returning customer rate: returning customers divided by all customers who placed orders, multiplied by 100. | The mix of returning and first-time buyers. |
Keep the definition visible in the dashboard. Label a calculation using net sales divided by orders as net sales per order, rather than silently substituting it for the platform’s AOV. Likewise, preserve the distinction between a visit that converted, a purchase event, and a distinct store order when reconciling counts.
Follow the purchase funnel to locate the loss
Google’s Purchase journey report follows users through session start, product view, cart addition, checkout start, and purchase. Despite the first step’s name, the funnel counts users who triggered each step; it is not a count of sessions at every stage.
The report defaults to a closed funnel, requiring the recorded steps in sequence. Google’s open and closed funnel guidance explains that a missed step excludes a user from later stages in a closed funnel, while an open funnel permits entry at a later stage. Check this setting before comparing funnel purchases with all recorded purchases.
For a custom funnel, calculate progression as the users who reach the next step divided by the eligible users at the current step. Keep the same sequence, population, and completion window across comparisons. Use the step’s change over time and the number of users affected to prioritize inspection.
The following checkpoints are an inspection checklist, rather than conclusions about why shoppers leave:
| Part of the journey | Evidence to inspect | Checks to run |
|---|---|---|
| Arrival to product view | Landing pages, acquisition sources, and recorded product views. | Review page relevance, navigation, and links to products. |
| Product view to cart | Progression by product and variant. | Check price presentation, available stock, product information, and delivery terms. |
| Cart to checkout | Cart additions followed by checkout starts. | Verify cart controls, item eligibility, and the route into checkout. |
| Checkout to purchase | Recorded shipping, payment, and purchase steps. | Inspect delivery charges, payment errors, form validation, and guest checkout. |
| Purchase to net sales | Store orders, discounts, and sales reversals. | Review adjustments and the recorded reasons for physical returns. |
For checkout detail, Google’s Checkout journey report uses begin_checkout, add_shipping_info, add_payment_info, and purchase. It is a closed funnel, so verify that all required steps are actually being sent before interpreting later-stage losses.
The report supports breakdowns such as device category and browser. Google’s checkout guidance identifies shipping charges and required sign-in as possible issues to investigate. Use these as checks, then examine the actual checkout behavior and errors; a drop-off percentage alone does not establish a motive.
Analyze acquisition with a consistent channel definition
GA4 separates User acquisition from Traffic acquisition. User acquisition uses dimensions describing how users were first acquired, while Traffic acquisition uses session-level source dimensions. The same channel name can therefore have different metric values across the two reports.
Use session source and medium to investigate current traffic, and first-user dimensions to examine acquisition origins. Keep that choice fixed across the comparison. Place sessions, shopping progression, purchases, and the chosen revenue measure beside channel cost, using matching date ranges and documented attribution settings.
ROAS is a revenue comparison. Shopify’s ROAS definition excludes product costs, fulfillment, returns, and broader marketing expenses. Pair it with net sales and the relevant costs when evaluating acquisition economics. Keep CAC’s new-customer denominator separate from a campaign’s attributed order count.
Compare products by purchasing and profitability
The GA4 Ecommerce purchases report provides item views, cart additions, purchased quantities, and item revenue. Google calculates item revenue from item price and quantity, excluding tax and shipping. The report’s Item ID comes from the item_id parameter supplied with the event.
Match that identifier to the store’s product or variant record before joining reports. Build a product view that places shopping activity beside purchased units, net sales, recorded costs, and physical returns. Use stable identifiers for joins and retain product names as readable labels.
Cost coverage matters when comparing profit. Shopify’s profit reports include only products or variants with cost recorded at the time of sale. Missing costs can therefore leave sales out of the profit report. Check coverage before ranking products by reported gross profit or margin.
Keep physical returns separate from broader order adjustments. Shopify’s sales reversal definitions include cancellations, edits, refunds, and other negative adjustments; its physical-return fields describe returned units and return reasons. Inspect those reasons when investigating product issues.
Measure repeat purchasing with comparable cohorts
The returning-customer share describes the current buyer mix. For repeat purchasing after acquisition, use a cohort: a group of customers with a shared starting point. Shopify’s Customer cohort analysis groups customers by their first-order date and displays subsequent performance over weeks, months, or quarters.
For a cumulative repeat-purchase measure, define the calculation as customers from a first-purchase cohort who place another eligible order within a specified window, divided by the original cohort’s customer count. State the window and the order eligibility rules in the report. Compare cohorts after equal elapsed time so that each has had the same opportunity to buy again.
Shopify’s cohort configuration supports first-order filters such as product and marketing channel. Use those breakdowns to examine repeat purchasing and observed spending together. Keep measured cohort spending separate from projected future value: Shopify cautions that its cohort projections can differ from eventual sales.
Set up tracking before interpreting the reports
A basic setup needs both shopping events and commerce records. Google’s ecommerce reporting requirements state that ecommerce events are not collected automatically by GA4 itself; a platform integration or implementation must send them. Missing required parameters can prevent events from appearing in the ecommerce report.
Use Google’s ecommerce implementation guide to map actions to event names: view_item for product details, add_to_cart for cart additions, begin_checkout for checkout starts, purchase for purchases, and refund for refunds. Add shipping and payment events for the corresponding checkout steps.
Populate the associated item data consistently. Google’s parameter guidance describes the items array and requires event-level currency when sending revenue value. Verify item identifiers, quantities, prices, and the purchase value against the corresponding commerce records.
Give each order a unique, non-empty transaction_id. Google’s transaction ID documentation explains that GA4 deduplicates purchase events with matching transaction IDs in web streams; this deduplication does not apply to app streams. Reusing an ID for different orders can undercount purchases.
Validate events and parameters in DebugView with debug mode enabled on the device being checked. Inspect the recorded sequence and purchase payload. Google also notes that client-side privacy controls or missing Analytics-cookie consent can prevent events from appearing in DebugView; account for the consent state during validation.
Reconcile analytics purchases with store orders
Match recorded purchases to commerce records using the order identifier, then investigate unmatched or duplicate records. Reconciliation should explain the relationship between the reports before they are used to assess a sales change.
Check these dimensions together:
- Population: distinguish users, sessions, purchase events, distinct orders, and item quantities.
- Period: align dates, time zones, reporting currency, and the time allowed for processing.
- Order eligibility: document which statuses and sales channels are included, and how test orders are handled.
- Value: compare equivalent treatment of discounts, tax, shipping, refunds, and other adjustments.
Shopify’s sales-report guidance says gross sales include pending, canceled, and unpaid orders. Sales reports do not track money received, and reversals appear on the date processed. These rules can explain differences from a paid-order total, a payment report, or purchase values recorded on the original order date.
Separate discrepancies caused by missing tracking from those caused by different definitions. Fix missing events or identifiers, and document valid differences in order eligibility or timing. Keep the unresolved records available for review rather than adjusting totals merely to make the dashboards agree.
Build a dashboard around the decisions
Use GA4’s shopping and acquisition reports for behavior, the commerce platform’s sales and profit reports for commercial results, and customer cohorts for repeat purchasing. Start with a dashboard containing these views:
- Store overview: sessions, conversion rate, distinct orders, AOV, and net sales, with the comparison period shown.
- Shopping funnel: progression between recorded steps, split by the device or product under investigation.
- Acquisition: channel traffic, purchases, attributed revenue, advertising cost, and new-customer acquisition cost where available.
- Products: purchased units, net sales, cost coverage, gross profit, and physical returns.
- Customers: first-time and returning buyers, repeat purchasing at a defined cohort age, and observed spending.
Attach the source, definition, and reporting period to each metric. For each proposed change, name the shopping step or commercial measure it is intended to improve and check the adjacent measures afterward. This keeps the review focused on completed purchases, sales after adjustments, and repeat buying.