Page Performance

Per-page analytics that mirrors the home Pulse dashboard but scoped to a single product page, collection page, or content page. See the funnel, devices, and a per-channel view comparing who lands on the page against who gets credit for the orders.

Ordinary Written by The Ordinary Team · Updated

Page Performance

The Page Performance page is your per-URL analytics view — same cards as the home Pulse dashboard, but scoped to a single page so you can see how that page drives the funnel.

Getting there

In the sidebar under Analytics, click Page Performance. You’ll see a list of pages on your store with view counts, ATC counts, and orders. Click any row to drill into that page’s detail.

The detail URL is /page-performance/<page-path>. So /page-performance/products/blue-widget is the per-page view for the product at /products/blue-widget on your store.

The funnel (at the top)

The funnel is a horizontal-cell layout — same visual idiom as the home Pulse funnel, just scoped to this page. Three stages:

  1. Step 1: the entry-stage. Label adapts to page type:
    • Product views on /products/* pages
    • Collection views on /collections/* pages
    • Page views everywhere else (homepage, content pages, etc.)
  2. Add to Cart: ATC events fired with this page as the source URL
  3. Orders: orders placed by visitors whose journey included this page

Each cell shows the stage’s count, a sparkline trend, and a step-to-step conversion-rate badge floating between cells (e.g. “2.5%” between Product Views and Add to Cart = the % of viewers who added).

The last cell carries the CVR label — page conversion rate — with its own sparkline.

How CVR is calculated

CVR = orders / sessions that included this page.

Specifically:

  • Numerator = orders placed by visitors whose session journey passed through this page (whether the page was the landing, a mid-funnel step, or the last step before checkout)
  • Denominator = the count of unique sessions that included a view of this page in the date range. A single session that revisits the page multiple times counts as one, not many.

A few intentional design choices worth knowing:

  • Sessions, not page-view events. A visitor who refreshes the same product page 5 times in one sitting counts as 1 in the denominator. This matches how Shopify Analytics and the standard CRO definition of “conversion rate” operate.
  • Cross-session orders included. If someone viewed your product page yesterday and ordered today, that order still credits this page’s CVR. The funnel doesn’t require everything to happen in the same session.
  • Inline ATC counted at the page. If a collection page has inline Add to Cart buttons (a collection grid with quick-add), ATC events fired on the collection are counted in the Add to Cart stage for that collection.

Conversion rate, expanded

Two adjacent metrics show up alongside CVR at the top of the page in the scorecard row:

  • ATC Rate: Add to Cart / Page views. The % of viewers who started building a cart.
  • CVR: Orders / Page views. The full visit-to-purchase rate.

ATC Rate tells you whether your page is doing its job (getting people interested). CVR tells you whether the journey from this page finishes (getting them to buy). A great ATC Rate paired with mediocre CVR usually means the checkout flow downstream is leaking; a mediocre ATC Rate paired with great CVR usually means the people who DO add are highly qualified — the page just isn’t grabbing enough total attention.

What each card answers

Product order summary (product pages only)

At the top of every product page’s detail view, a summary card reconciles this page’s funnel against your full order count for the product:

  • Total — every order containing this product in the date range. This matches what you see filtering your own Shopify Orders list by product and date.
  • Began on this page — orders whose shopper added the product to cart from this page. This is what the funnel below counts.
  • Began elsewhere — the shopper added the product from a different page: a collection grid with quick-add, search results, a localized version of the page, or another product’s page (bundles, upsells).
  • No browsing session — orders that can’t be tied to any page: draft orders you created in the admin, subscription renewals, and shoppers whose browsers blocked tracking or declined consent.

The three buckets always add up to the total, so you can see exactly where every order came from before comparing numbers between Ordinary and Shopify.

Performance over time

Daily trend chart. The Page Views bar shows the volume; the Adds and Orders lines (right axis, smaller scale) show conversions. Look for views that don’t translate to ATC — a page suddenly getting traffic but not converting often means a paid campaign just launched with poorly-targeted ads.

Devices

How visitors who saw this page split across mobile / desktop / tablet. Often very different from the store-wide breakdown — paid social pages skew mobile, organic-search-heavy pages skew desktop. If a product page is mostly mobile and the ATC rate is low, your mobile-checkout experience is the first thing to audit.

Channels

One card per channel — Meta, Google, Klaviyo, Direct, and so on — each showing two bars on the same scale:

  • Views — that channel’s share of everyone who landed on this page. This is which channels you’re putting in front of this page.
  • Orders — that channel’s share of the orders placed by people who saw this page, plus the revenue behind them.

The gap between the two bars is what the card is for. A channel with a long Views bar and a short Orders bar is bringing people to the page who buy elsewhere in your mix; the reverse means a channel punches above the traffic it sends. Reading them side by side is usually more useful than either number on its own.

The two percentages are shares of different totals, and are not a conversion rate for the channel. Views are counted by the channel someone arrived from; orders are counted by the channel credited with the checkout. Someone can find you through Google, then buy days later from an email link — they’re a Google view and a Klaviyo order. That’s normal, and it’s why Direct often shows a large share of views next to a small share of orders: returning customers browse directly and then convert on something else. Dividing one bar by the other would not give you a real rate for that channel.

Inside each card:

  • Mediums — what the channel is made of (cpc, organic, email, product_sync, and so on), with views, orders and revenue per medium. Traffic arriving with no medium tag shows as untagged. Long lists collapse behind “Show more”.
  • Campaigns landing here — the Meta, Google Ads, and Klaviyo campaigns whose clicks resulted in a view of this page, listed under the channel that ran them. Session-attributed: if someone clicked a Meta ad, landed on the homepage, then browsed to this page, the Meta campaign still gets credit for the view.

Channels accounting for under 1% of both views and orders are collected into a single Other card, which still names each one so nothing disappears.

Subscription performance (product pages only)

For /products/* pages, the per-product subscription card shows new subscriptions, recurring reorders, and revenue split between the two — for this product specifically, not the store-wide total. Use it to evaluate which products subscribers actually stick around for.

Product clickthrough (collection pages only)

For /collections/* pages, a card shows what fraction of collection viewers clicked through to a product page within 30 minutes. Plus the top products they clicked. Complements the inline ATC count in the funnel above:

  • High clickthrough rate: collection is good at discovery — shoppers are clicking deeper.
  • Low clickthrough, high inline ATC: collection is doing the selling itself (quick-add buttons working).
  • Low clickthrough, low inline ATC: collection’s job isn’t landing — too many products? wrong sort order? broken images? This is the case to investigate first.

How page type affects the layout

Ordinary auto-detects page type from the URL and adapts the cards:

Page URLFunnel stage 1Subscription cardProduct-clickthrough card
/products/*Product views✓ (per product)
/collections/*Collection views
Everything elsePage views

“Everything else” covers your homepage (/), /pages/about, /blogs/<post>, and any custom pages. They all use the same default cards (funnel, devices, traffic sources, conversion attribution, campaigns).

Tips

  • Compare two periods. Use the date-range picker to compare this month vs last month. Big CVR drops on a single page often reveal a recent change (a price update, an image broken, a checkout link wrong) before they show up on the store-wide CVR.
  • Cross-reference with Campaigns. If a product page gets a traffic spike with weak CVR, click through to the campaign that drove it (top of the Campaigns card → /channels//) to see if the audience is mismatched.
  • Inline-ATC vs clickthrough on collections. A collection with quick-add buttons should have a healthy ATC count in the funnel; a traditional collection should have a high product clickthrough rate. Whichever path the collection is built to drive should be the one performing — if neither is performing, the collection page itself needs work.

Did this answer your question?

Thanks for your feedback! 🙌

Related articles