Sign in

Blog · Board and management reporting

Ecommerce conversion sales funnel: find the stage losing sales

An ecommerce conversion sales funnel compares product views, carts, checkouts, and completed purchases on a consistent base. Build the comparison from an export, calculate stage losses, and reconcile the totals before choosing what to investigate.

The short answerAn ecommerce conversion sales funnel follows shopping sessions from product views through cart additions, checkout, and completed purchases. Divide the sessions reaching each stage by those reaching the preceding stage to measure progression. Compare channels using the same stage order, reporting period, and counting unit so differences reflect shopping behavior rather than mismatched definitions.

An ecommerce conversion sales funnel locates the shopping stage where visits stop progressing toward a purchase. Count product-view, cart, checkout, and purchasing sessions on the same basis, then compare both the conversion percentage and the number lost at each handoff. A lower rate identifies an investigation; it does not establish its cause.

Define the shopping visit before counting it

For this method, the starting group is sessions with a product view. Each later stage must occur afterward within that same session. Count a session once per stage, even when someone views several products or adds several items.

Google Analytics documents distinct ecommerce events, including view_item, add_to_cart, begin_checkout, and purchase. Those event names identify actions. Their raw event totals are not automatically distinct-session funnel counts.

Write down the reporting period, time zone, stage order, session identifier, and completion boundary beside the export. Decide how express purchases that skip a recorded stage are handled. Keep them in a separate purchase-path reconciliation instead of forcing them into a sequence they did not follow.

Keep channel assignment consistent too. Google Analytics distinguishes session channel from first-user channel and event-level channel. Joining product views grouped by session channel to purchases grouped by another attribution scope can manufacture a stage difference. This example uses one session-level channel throughout.

Start with the export you have

Ask for a prepared session summary containing a de-identified session key, session date, channel, and the following flags:

Export column Meaning
A: session_key Unique shopping session
B: session_date Date under the agreed time zone
C: channel One consistent session-level assignment
D: viewed Product view recorded
E: cart_after_view Cart addition after the view
F: checkout_after_cart Checkout after the cart addition
G: purchase_after_checkout Completed purchase after checkout

The flags are supplied binary indicators. Deduplicate session keys, filter to the agreed dates, and verify that later-stage flags imply earlier-stage flags. A purchase flag without a checkout flag fails this particular definition and needs investigation.

If your file contains only independent event totals, request distinct-session counts with the required order. Arithmetic cannot recover the missing overlap. The distinction between counting bases also matters in win rate, close rate, and conversion rate.

Calculate the channel comparison

Put the filtered summary on a sheet named Export. On a comparison sheet, enter the channel in A2 and calculate product-view sessions in B2:

=SUMIFS(Export!D:D,Export!C:C,$A2)

Use the same formula with sum columns E, F, and G for cart, checkout, and purchasing sessions in C2, D2, and E2. Microsoft documents SUMIFS as summing values that meet specified criteria. The formulas work in Excel and Google Sheets.

Stage conversion, overall conversion, and cart-to-checkout loss are:

=IF(B2=0,"",C2/B2)
=IF(C2=0,"",D2/C2)
=IF(D2=0,"",E2/D2)
=IF(B2=0,"",E2/B2)
=C2-D2

Format the ratios as percentages. Leave a zero denominator blank and label it as unavailable; it is not measured zero conversion.

A US home-goods retailer supplies these September shopping-session counts. All percentages below are rounded to two decimal places; calculations use the unrounded values.

Channel Product views Carts Checkouts Purchasing sessions
Organic 12,000 2,400 1,680 1,176
Paid search 10,000 1,800 900 540
Email 4,000 1,400 1,120 896
Total 26,000 5,600 3,700 2,612
Channel View to cart Cart to checkout Checkout to purchase View to purchase
Organic 20.00% 70.00% 70.00% 9.80%
Paid search 18.00% 50.00% 60.00% 5.40%
Email 35.00% 80.00% 80.00% 22.40%
Total 21.54% 66.07% 70.59% 10.05%

Paid search loses 1,800 minus 900 = 900 cart sessions before checkout. Organic loses 720 and email loses 280 at that handoff. The paid-search rate and affected count make that stage a useful place to inspect shipping information, product availability, and checkout entry records.

Email's higher rate does not prove its shopping experience is better. Returning customers, promotions, and product mix may differ. Use ecommerce funnel analysis to compare device and source before assigning an explanation.

Prove the counts and percentages

The total view-to-purchase rate is total purchasing sessions divided by total view sessions:

=SUM(E2:E4)/SUM(B2:B4)

That is 2,612 / 26,000 = 10.05%. Do not average the channel percentages.

The unrounded total stage rates must multiply to the same overall result: (5,600 / 26,000) × (3,700 / 5,600) × (2,612 / 3,700) = 2,612 / 26,000. This identity fails when the stages use different cohorts.

The losses must reconcile too: 20,400 before cart + 1,900 before checkout + 1,088 before purchase + 2,612 purchasing sessions = 26,000 starting sessions. Tie each channel's starting count to the filtered export. Reconcile purchasing sessions separately to distinct recorded sessions; an order ledger may contain multiple orders in one session.

For investigation priorities after these checks, follow conversion funnel optimization. Qualified opportunities through a signed deal require the separate sales funnel analysis method.

Where it goes wrong

  • Repeated actions counted as visits. Repeated cart events inflate the numerator relative to distinct sessions.
  • Independent stage populations. A checkout count containing sessions outside the starting group breaks sequential conversion.
  • Different completion boundaries. Same-session purchases and purchases made on a later visit answer different questions.
  • Missing or reassigned channels. Dropping unassigned sessions or switching attribution scope prevents the channel totals from tying.
  • Loss treated as recoverable sales. A session that stops may return, buy elsewhere, or have no purchase intention. Loss counts are investigation volumes, not a revenue forecast.

Covirage is not affiliated with Google or Microsoft.

Compare your own shopping stages in Covirage

Bring a file or Google Sheet containing your prepared session-stage summary and channel definitions. Covirage maps the columns, its tools compute and check the stage counts and comparisons, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account, which takes about a minute, and bring a sample of your own export.

See sales insights for the supporting business context.

Questions people ask

Should an ecommerce funnel count sessions or events?

Either can answer a question, but they answer different questions. Session counts show how many shopping visits progressed. Event counts show how often actions occurred, including repeated actions within a visit. Use distinct sessions at each stage when measuring the share of visits that progressed.

Is checkout abandonment the same as cart abandonment?

No. Cart abandonment starts with sessions that added an item; checkout abandonment starts with sessions that entered checkout. Use the appropriate starting group and the same completion window. A session that adds an item but never starts checkout belongs only in the cart-stage loss.

Why can purchases exceed checkout sessions in an export?

The export may combine different periods, counting units, or purchase paths. An express purchase can also bypass a recorded stage. Check definitions and missing records before treating independent stage totals as an ordered funnel. Keep excluded purchase paths visible in a separate reconciliation.

Which funnel stage should a retailer investigate first?

Start with a material loss that differs from a comparable channel or period, then inspect the underlying records. The largest absolute loss may simply be the broadest starting stage. Consider the number of affected sessions, the evidence available, and the business cost of a change.