# Funnel — sessions to orders

> How to read Ordinary's 5-step conversion funnel and spot where customers drop off between landing and purchase.

Source: https://help.tryordinary.com/features/funnel

---

The conversion funnel shows how visitors progress from "landed on your
store" to "placed an order." It lives on **Reports → Attribution** as
the primary chart.


## The five steps

From top of funnel to bottom:

1. **Sessions** — unique pixel-observed sessions in the date range.
   A session = one visitor's browsing run on the storefront.
2. **Product views** — sessions that viewed at least one product
   detail page. Answers "what fraction of visitors got to a product?"
3. **Add to cart** — sessions that added at least one product to cart.
   Answers "what fraction were interested enough to commit to cart?"
4. **Checkout started** — sessions that reached the checkout page
   (past cart). The classic abandoned-cart boundary.
5. **Orders** — sessions that completed a purchase.

## Drop-off rates

Hover any bar to see the drop-off rate from the step above. For
example, a Sessions → Product view rate of 45% means less than half
of visitors view a product — a sign your landing pages might need
better hierarchy, faster load, or stronger hero hook.

Typical DTC benchmarks to compare against:

| Step                   | Good        | Excellent   |
|------------------------|-------------|-------------|
| Sessions → Product view| 40-55%      | 60%+        |
| Product view → ATC     | 8-15%       | 20%+        |
| ATC → Checkout         | 40-60%      | 70%+        |
| Checkout → Orders      | 50-75%      | 85%+        |

Your numbers will swing with promotions, traffic mix, and device
split. Use the trend over time (compare today vs. last week) more
than the absolute number.

## Pixel vs. Shopify-inferred counts

Some bars have a two-tone split: the darker shade is what the pixel
directly observed, the lighter shade is what Shopify's order data
implies. When pixel coverage is low (e.g. mobile buyers who disabled
JavaScript, or the first day after install), this lets you see
what's "real" vs. "floor-clamped."

The floor-clamp guarantees: if you had 100 orders today, the funnel
never shows fewer than 100 checkouts, 100 ATCs, or 100 product views
— because each order had to have passed through every step.

## Subscription reorders

If you run a Recharge subscription, recurring renewal orders are
split out as a lighter-blue segment on the **Checkout** and **Orders**
bars (Starter and higher). This is critical because renewal orders
don't have a customer-facing funnel — the customer isn't clicking
through your store again; Recharge just bills them.

The number under the bar shows the total including subscription
reorders, with the sub count called out next to it. For example,
"23 (4 subs)" means the store had 23 total orders in this step, 4 of
which were subscription renewals. The 4 render as the light-blue
segment at the top of the bar.

Subscription reorders are intentionally excluded from the
step-to-step conversion-rate math (the Add to Cart → Checkout
percentage), because they bypass the browser flow entirely and
including them would falsely inflate your conversion rate.


On Free, reorders are counted with regular orders. Upgrade to Starter
to see the split.

## What "session" really means

A session is a distinct pixel-observed visit. It has:

- A start time (first event on this visit)
- An end time (last event, or an idle timeout)
- A set of events (page views, product views, ATCs, etc.)

One human might generate multiple sessions — a morning visit, a
lunchtime visit, a purchase from mobile that evening. All three are
counted as separate sessions, and the funnel recognizes them as
coming from the same visitor's browser so the journey stays linked.

## What's next

- [Attribution reports](https://help.tryordinary.com/features/attribution) — per-channel revenue once
  you've understood the funnel shape.
- [Why do I see "partial data"?](https://help.tryordinary.com/troubleshooting/partial-data) —
  if your funnel looks suspiciously truncated.
