Home
Orders & reporting

Products report

See how shoppers engage with your preorder buttons and how much revenue each product generates.

The Products tab under Reports → Preorders gives you two views of your preorder performance at the product level. The Engagement view (powered by STOQ's pixel) shows how shoppers move through your preorder funnel, from button impression to add-to-cart to order. The Revenue view shows preorder revenue and units sold per product or variant. Use both views together to find which products drive the most interest and which actually convert.

Before you begin

The Engagement view requires STOQ's analytics pixel to be active. If the pixel isn't enabled, you'll see an "Enable analytics" prompt instead of data. The Revenue view has no such requirement: it's available on all plans and shows data as soon as preorder orders exist.

Open the report

In STOQ, click Reports in the left menu, click the Preorders tab, then click Products. The Revenue view opens by default.

Engagement view

The Engagement view tracks how shoppers interact with your preorder button on the product page, from the first impression through to a completed order. It pulls data from STOQ's Shopify Customer Events pixel.

Enable the pixel

If the pixel isn't yet active, the Engagement view shows a teaser screen with sample data blurred in the background. Click Enable analytics to grant the required Shopify pixel permissions. STOQ sets up the pixel and reloads the page automatically. Impressions only start recording after this point; historical data isn't backfilled.

Summary cards

Once the pixel is active and data is flowing, five summary cards appear at the top of the Engagement view. They reflect the totals for the current date range and Unique/Total toggle:

CardWhat it shows
ImpressionsHow many times your preorder button was displayed on a product page
Add to cartsHow many times a shopper clicked Add to cart after seeing the preorder button
Add to cart rateAdd to carts ÷ Impressions, expressed as a percentage
OrdersCount of non-cancelled preorder orders placed in the period
Order rateOrders ÷ Add to carts, expressed as a percentage

Unique vs. Total toggle

A segmented Unique / Total button sits above the summary cards.

  • Unique (default): deduplicates events so each shopper is counted once per variant, regardless of how many times they saw or clicked the button. Use this to measure reach.
  • Total: counts every event, including repeat views and clicks from the same shopper. Use this to measure overall volume.

Switching between Unique and Total updates both the summary cards and the per-product table immediately.

Per-product table

The table lists one row per variant, 50 rows per page, with the following columns:

ColumnDescription
Product / VariantThumbnail, product title, and variant title (hidden when the variant is "Default Title")
ImpressionsTimes the preorder button was shown for this variant
Add to cartsTimes shoppers added this variant to cart
Add to cart rateAdd to carts ÷ Impressions for this variant
OrdersNon-cancelled preorder orders containing this variant
Order rateOrders ÷ Add to carts for this variant

Filters

Open the filter bar above the table to narrow results:

Date range (pinned, always visible):

PresetWindow
Last 7 daysPrevious 7 days
Last 30 daysPrevious 30 days (default)
Last 60 daysPrevious 60 days
Last 90 daysPrevious 90 days
Last 6 monthsPrevious 180 days
Last 12 monthsPrevious 365 days
CustomPick a start and end date, then click Filter

Market (appears only when your store has more than one Shopify market): filter the table to a single market. Selecting "All markets" clears the filter.

Sorting

Use the sort control in the filter bar to order the table. Available sort options for the Engagement view:

Sort keyDirection options
ImpressionsHigh to low / Low to high
Add to cartsHigh to low / Low to high
Add to cart rateHigh to low / Low to high

The default sort is Impressions, high to low. You can't sort the Engagement view by Orders, since that column is pulled in separately from Shopify order data; sort by Orders in the Revenue view instead.

Revenue view

The Revenue view shows preorder sales by product or variant, sourced from order line items with a selling plan attached.

Per-product table

Each row shows one variant (default) or one product when you switch the grouping, 25 rows per page. Columns:

ColumnDescription
ProductThumbnail, product title, and variant title
SKUVariant SKU (visible by default, toggle it off in the Columns filter)
Units soldTotal quantity of this variant sold as a preorder in the period
OrdersCount of distinct preorder orders containing this variant
RevenuePrice multiplied by quantity, summed across all preorder line items for this variant, rounded to 2 decimal places in your store currency
Last orderTimestamp of the most recent preorder order for this variant
Link iconOpens the product (or variant) directly in Shopify Admin

Show or hide columns

Click the Columns filter to toggle individual columns on or off. Column visibility is saved in your browser so your preferences persist across sessions. The Product column and the link icon column are always visible and can't be hidden.

Filters

Date range (same presets as the Engagement view, plus All time which is the default for Revenue):

PresetWindow
All timeAll preorder orders on record (default)
Last 7 daysPrevious 7 days
Last 30 daysPrevious 30 days
Last 60 daysPrevious 60 days
Last 90 daysPrevious 90 days
Last 6 monthsPrevious 180 days
Last 12 monthsPrevious 365 days
CustomPick a start and end date, then click Filter

Group by: switch between Variant (default, one row per variant) and Product (one row per product, all variants rolled up). When you switch grouping, the SKU and variant title columns are hidden because they don't apply to the product-level aggregate.

Sorting

Sort keyDirection options
RevenueDescending (default) / Ascending
Units soldDescending / Ascending
OrdersDescending / Ascending

Export CSV

Click Export CSV at the bottom right of the Revenue view to export the current data. STOQ queues a background job that fetches up to 1,000 rows using your current sort order and grouping, generates a CSV with columns Product, Variant, Units sold, Revenue, and Date range, and emails the file to the report email address set in Reports → Report settings with the subject "[STOQ] Preorders Products CSV generated". A toast notification confirms the export was queued: "CSV export scheduled, you'll receive an email shortly."

Check your setup

Engagement view: after enabling the pixel, visit one of your preorder product pages in a browser to generate an impression. Return to the Engagement view and refresh the page after a few minutes. The Impressions counter should increase.

Revenue view: place a test preorder order (see Test your preorder offer), then return to the Revenue view. The product should appear in the table with a units sold count of at least 1.

Troubleshooting

The Engagement view shows an "Enable analytics" screen instead of data

The pixel hasn't been activated for your store. Click Enable analytics and approve the Shopify permissions prompt; STOQ installs the pixel and reloads the page.

A product appears in the Revenue view but not in the Engagement view

The Engagement view only shows variants with at least one pixel-tracked impression since the pixel was enabled. The order likely predates pixel activation, or came from a channel that doesn't trigger the storefront pixel, for example Shopify POS or a direct API order.

The CSV export email never arrives

Confirm the report email address under Reports → Report settings is correct, and check your spam folder. The export runs as a background job, so allow a minute before trying again.

Limitations

  • CSV export from the Revenue view is capped at 1,000 rows per file.
  • The Engagement view can't be sorted by Orders, since that column is pulled in separately from Shopify order data.

FAQ

Why do the Engagement view's Add to cart numbers not match the Revenue view's Units sold?

They measure different things. Add to carts in the Engagement view counts how many times a shopper clicked Add to cart on a preorder product page, a pixel event from the storefront. Units sold in the Revenue view counts the quantity field on completed preorder order line items. A shopper might add 2 units to cart in one click (one Add to cart event, 2 units sold), or add to cart without completing checkout (counted in Engagement but not in Revenue). Expect some divergence between the two views.

Can I filter the Revenue view by market?

Not directly: the Revenue view doesn't have a market filter. Market filtering is only available in the Engagement view. To analyze revenue by market, export the CSV and cross-reference with Shopify's order data, which includes shipping country information.

Will enabling the pixel show me historical data?

No. Impressions only start recording for preorder button views that happen after you enable the pixel; historical data isn't backfilled.

Why does the Revenue view show different totals than the Preorder Analytics Overview page?

The two reports aggregate data differently. The Overview page sums revenue from all preorder order attributions in the period, which can include the full order value if you've set a high attribution window. The Revenue view sums line item revenue only (price multiplied by quantity) for line items that are part of a preorder purchase, scoped to preorder-type order attributions. Minor differences are expected, especially if orders contain both preorder and non-preorder items.