# Page Performance

> Per-page analytics that mirrors the home Pulse dashboard but scoped to a single product page, collection page, or content page. See funnel, devices, traffic sources, attributed orders, and campaigns for each URL.

Source: https://help.tryordinary.com/features/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

### 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.

### Traffic sources

Where viewers came from before landing on this page, grouped by
canonical source + medium ("Facebook / Paid Social", "Google /
Organic", "Direct", etc). Tells you *which channels you're putting
in front of this page*. Pairs with the Conversion Attribution card
below it to compare "who showed up" against "who converted."

### Channel attribution for orders from viewers

Of the visitors who saw this page, which channel got credit for
their checkout. Bridges your view events on this page through to
checkout-completed events via the same visitor identity. Useful for
catching mismatches — e.g. "lots of Facebook viewers but most orders
attribute to organic search" suggests Facebook is doing the
discovery work and organic gets the credit on the final click.

### Campaigns that drove views

Top Meta, Google Ads, and Klaviyo campaigns whose clicks resulted
in a view of this page. Session-attributed: if someone clicked a
Meta ad, landed on the homepage, then browsed to this product page,
the Meta campaign still gets credit for the view. Catches cases
where a direct-landing match would miss the campaign-to-page link.

### 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 URL          | Funnel stage 1   | Subscription card | Product-clickthrough card |
| ----------------- | ---------------- | ----------------- | ------------------------- |
| `/products/*`     | Product views    | ✓ (per product)   | —                         |
| `/collections/*`  | Collection views | —                 | ✓                         |
| Everything else   | Page 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 → /campaigns/<channel>/<id>)
  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.

## Related articles

- [Attribution models explained](https://help.tryordinary.com/concepts/attribution-models) —
  the four models (first-click / last-click / linear / time-decay)
  that drive the Channel Attribution card.
- [Funnel — sessions to orders](https://help.tryordinary.com/features/funnel) — the store-wide funnel
  on Pulse, which Page Performance scopes down to a single URL.
- [Attribution reports](https://help.tryordinary.com/features/attribution) — for cross-page channel
  rollups via /marketing-mix.
