# Products — catalog and performance

> Browse your Shopify product catalog in Ordinary with synced inventory, images, and performance stats, all in one unified table.

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

---

The Products page is your full Shopify catalog and per-product
performance, in a single unified table. Catalog fields (SKU, product
name, pricing, dimensions) are date-independent; performance metrics
(Units, Revenue, Orders, AOV, Sub Attach, Repeat Rate) respect the
date range selected in the toolbar.


## What's on each row

Default columns:

- **Product** — name; click through for the product detail page
- **Unit Price** — current list price from Shopify
- **Landed Cost** — merchant-entered cost (if configured)
- **Status** — Active / Inactive
- **Units** — units sold in the selected date range
- **Revenue** — revenue in your display currency for that range
- **Orders** — distinct orders that included the product
- **AOV** — average order value of those orders
- **Sub Attach** — % of the product's orders that included a
  subscription signup
- **Repeat Rate** — % of buyers who came back for another order
- An **Offer Calculator** button per product

Rows with no matching orders in the selected range show "—" for the
metric columns (not "0"), so "no sales yet" is visibly different from
a zero result.

Use the **Columns** dropdown in the toolbar to show / hide additional
catalog fields (ASIN, Parent ASIN, Pack weight, carton dimensions,
landed cost breakdowns, and more). The hidden-by-default columns are
there if you need them — the default set is tuned to fit on a laptop
without horizontal scroll.

## Date range

The date picker in the toolbar controls the window used for all
metric columns. Catalog columns (SKU, Brand, pricing, dimensions) are
unaffected — they're always current.

Default range is the last 30 days.

## Sorting

**Sort** button in the toolbar lets you pick any field. Metric
columns sort numerically (highest-revenue first, for example);
catalog text columns sort alphabetically. Rows with null metric
values always sort to the bottom regardless of direction, so the top
of the list is always actionable.

## Searching

Search box matches product name, SKU, brand, and ASIN.

## Channels

Products synced from Shopify show a blue **Shopify** badge. Products
uploaded manually (Amazon-only products, for example) show a different
badge. The Channel column is off by default — enable it in the
Columns picker if you need it visible.

## When a product doesn't appear

- Newly added in Shopify? Sync happens via webhook on product
  create/update — usually within a minute.
- Inventory-only updates (from ShipBob or similar) don't trigger
  product creation — they only update existing products' stock.
- If a product is missing more than a few minutes after creation in
  Shopify, check the sync status badge on **Settings → Integrations
  → Shopify**. If it's red, the access token may have expired.

## Offer Calculator

Each product row has a button labeled **Offer**. Clicking it opens
a modal that models the ROI of a discount on that product — given
the product's margin, average order value contribution, and your
store's retention curve.

See [Offer calculator](https://help.tryordinary.com/features/offer-calculator) for the full walkthrough.

## Related features

- [Offer calculator](https://help.tryordinary.com/features/offer-calculator)
- [Cohort retention analysis](https://help.tryordinary.com/features/cohort-retention) scoped to a
  product (Advanced).
- [Customer lists and segments](https://help.tryordinary.com/features/customers) — cross-reference who
  bought which product.
