How to use the products report in STOQ to track demand, engagement, and revenue
The products report in STOQ gives you a complete picture of which products customers are requesting, how they interact with your buttons, and how much revenue your notifications generate. It is available for both back-in-stock alerts and preorders, each with its own Products tab inside the Reports section.
The products report is organized into three analytics views: Engagement, Demand, and Revenue. You also get preset filters — All time, Trending, Recently requested, and Least requested — to quickly slice your data. Use this report to decide what to restock, identify high-demand items, and measure the return on your back-in-stock and preorder campaigns.

Before You Begin
Make sure the following requirements are met before using the products report.
- STOQ is installed on your Shopify store with the app embed enabled.
- At least one product is collecting back-in-stock signups or has an active preorder offer, so there is data to display.
- For Engagement analytics: The STOQ analytics pixel must be enabled. STOQ will prompt you to set it up the first time you open the Engagement view (requires granting the write_pixels and read_customer_events permissions).
- For Revenue analytics and CSV export: A paid STOQ plan is required.
How to Access the Products Report
Follow these steps to open the products report.
- In your Shopify admin, open the STOQ app.
- Click Reports in the left navigation menu.
- You will see two main sections at the top: Back in stock and Preorders.
- Under Back in stock, select the Products tab. This is the default view when you open Reports.
- To view the preorder products report, switch to the Preorders section and select the Products tab.

The Three Analytics Views
When you open the Products tab, you see three clickable cards at the top of the page. Each card represents a different analytics view. Click a card to switch between views.
Engagement
The Engagement view shows how customers interact with your Notify me button (for back-in-stock) or your preorder button. It tracks the full funnel from seeing the button to taking action.
For back-in-stock alerts, the funnel metrics are:
Metric | Description |
|---|---|
Impressions | Number of times the Notify me button was shown on a product page |
Clicks | Number of times customers clicked the Notify me button |
Click rate | Percentage of impressions that resulted in a click |
Signups | Number of customers who completed the signup form |
Signup rate | Percentage of clicks that resulted in a signup |
For preorders, the funnel metrics are:
Metric | Description |
|---|---|
Impressions | Number of times the preorder button was shown on a product page |
Add to carts | Number of times customers added a preorder item to their cart |
Add to cart rate | Percentage of impressions that resulted in an add to cart |
Orders | Number of completed preorder purchases |
Order rate | Percentage of add-to-carts that resulted in an order |
Engagement view features:
- Date range picker — Filter data by a custom date range. Defaults to the last 30 days.
- Market filter — Filter by Shopify market if you have multiple markets configured.
- Group by — Toggle between Unique (counts each visitor once) and Total (counts every event).
- Per-product table — A detailed table showing each product/variant with its individual funnel metrics.

Demand
The Demand view is the core of the products report. It shows which products customers are requesting and helps you prioritize restocking decisions. This view is the default view for back-in-stock products.
Table columns:
Column | Description |
|---|---|
Product name | The product (or variant) name with a thumbnail image |
Waitlist | Number of customers currently waiting to be notified (pending signups) |
Notified | Number of customers who have already been sent a back-in-stock alert |
Total | Total number of restock requests (waitlist + notified) |
Last requested on | Date and time of the most recent signup for this product |
Actions | Link to open the product in Shopify Admin |
Additional columns available when grouped by variant:
Column | Description |
|---|---|
SKU | The variant's SKU |
Inventory | Current inventory level for the variant |
Price | The variant's current price (optional, hidden by default) |
Compare at price | The variant's compare-at price (optional, hidden by default) |
Demand view features:
- Group by — Switch between Group by variant (default) and Group by product. When grouped by variant, you see individual variant rows with SKU and inventory data. When grouped by product, variants are rolled up into a single product row.
- Search — Search by product name or SKU.
- Sort options — Sort by Pending (waitlist size), Total requests, or Last requested date, in ascending or descending order.
- Date range filter — Filter signups by date: All time, Last 7 days, Last 30 days, Last 60 days, Last 90 days, Last 6 months, Last 12 months, or Custom range.
- Market filter — Filter by Shopify market.
- Vendor filter — Filter products by vendor.
- Per page — Display 25 or 50 rows per page.
- Export CSV — Export the current filtered data as a CSV file, sent to your report email address (paid plan required).
- Bulk send notifications — When grouped by variant, select up to 10 variants and send notifications manually (available from the variant view).
Revenue
The Revenue view shows how much money your back-in-stock notifications or preorder campaigns have generated. This is the default view for preorder products.
For back-in-stock alerts, the table columns are:
Column | Description |
|---|---|
Product | Product/variant name with thumbnail |
Units sold | Number of units sold from back-in-stock notifications |
Avg. order value | Average order value for purchases attributed to back-in-stock alerts |
Revenue | Total revenue generated from back-in-stock notification purchases |
For preorders, the table columns are:
Column | Description |
|---|---|
Product | Product/variant name with thumbnail |
SKU | The variant's SKU |
Units sold | Number of preorder units sold |
Orders | Number of preorder orders placed |
Revenue | Total preorder revenue |
Last order | Date of the most recent preorder purchase |
Revenue view features:
- Date range filter — All time, Last 7 days, Last 30 days, Last 60 days, Last 90 days, Last 6 months, Last 12 months, or Custom range.
- Group by — Switch between Variant (default) and Product grouping.
- Sort options — Sort by Revenue or Orders (back-in-stock) or by Revenue, Units sold, or Orders (preorders), in ascending or descending order.
- Column visibility — Show or hide optional columns using the Columns filter.
- Export CSV — Export the current filtered data as a CSV file, sent to your report email address.

Preset Filter Tabs (Demand View)
The Demand view includes four preset filter tabs at the top of the table. These tabs quickly change the sort order and date range to show you different perspectives on your data.
All Time
- What it shows: All products sorted by waitlist size (largest first).
- Date range: All time (no date restriction).
- Sort: Pending (descending).
- Use case: See which products have the biggest waitlists across your entire history.
Trending
- What it shows: Products with the most requests from the last 30 days (largest first).
- Date range: Last 30 days.
- Sort: Pending (descending).
- Use case: Identify products that are gaining momentum right now and may need restocking soon.
Recently Requested
- What it shows: All products sorted by the most recent back-in-stock request date.
- Date range: All time.
- Sort: Last requested (descending — newest first).
- Use case: See which products customers signed up for most recently, regardless of waitlist size.
Least Requested
- What it shows: All products sorted by the oldest back-in-stock request date.
- Date range: All time.
- Sort: Last requested (ascending — oldest first).
- Use case: Identify stale waitlists — products that have not received new signups in a long time. Consider removing these from your back-in-stock tracking.
Back-in-Stock vs. Preorder Products Report
Both the back-in-stock and preorder sections have a Products tab, but the available views differ.
Feature | Back in Stock Products | Preorder Products |
|---|---|---|
Engagement view | Yes — tracks Impressions, Clicks, Signups | Yes — tracks Impressions, Add to carts, Orders |
Demand view | Yes (default view) — waitlist, notified, total | Not available |
Revenue view | Yes — units sold, avg. order value, revenue | Yes (default view) — units sold, orders, revenue, last order |
Preset filter tabs | All time, Trending, Recently requested, Least requested | Not available (Revenue view uses its own filters) |
Group by | Variant or Product | Variant or Product |
Export CSV | Yes (paid plan) | Yes |
Bulk send notifications | Yes (variant view, up to 10) | Not available |
Known Limitations
Keep these constraints in mind when using the products report.
- Engagement requires the analytics pixel. If you have not enabled the pixel, the Engagement view shows a setup prompt instead of data.
- Revenue data depends on order attribution. STOQ attributes revenue to notifications based on order tracking. If order tagging is disabled or a customer purchases through a different channel, revenue may not be captured.
- CSV export is sent via email. Exported reports are emailed to the address configured in Reports → Settings → Email address to receive reports. They are not downloaded directly.
- Demand view is back-in-stock only. Preorder products do not have a Demand view with waitlist/notified counts.
- Bulk send is limited to 10 variants at a time. When sending notifications manually from the variant view, you can select a maximum of 10 variants per batch.
- Custom date ranges require clicking Filter. After selecting a custom date range, you must click the Filter button to apply it. The data does not update automatically when you pick dates.
Troubleshooting
Use the table below to resolve common issues with the products report.
Symptom | Possible Cause | Solution |
|---|---|---|
No products appear in the report | No customers have signed up for back-in-stock or preorder alerts yet. | Ensure your Notify me or preorder button is visible on product pages and that at least one product is out of stock (or has an active preorder offer). |
Engagement view shows "Enable analytics" prompt | The STOQ analytics pixel has not been set up. | Click the Enable analytics button and grant the required permissions (write_pixels, read_customer_events). |
Revenue view shows "No revenue data yet" | No orders have been attributed to your back-in-stock or preorder notifications yet. | Revenue appears once customers purchase after receiving a notification. Check that order tagging is enabled in Reports → Settings. |
Export CSV does not download | CSV exports are emailed, not downloaded. | Check your inbox at the email address configured in Reports → Settings. Look for an email from STOQ with the CSV attachment. |
Trending tab shows different products than All time | Trending only looks at the last 30 days. | This is expected. Trending highlights recent demand, while All time includes your full history. |
Inventory column shows "loading" or is empty | Inventory data is fetched separately and may take a moment. | Wait a few seconds for inventory levels to load. If it persists, refresh the page. |
FAQs
Q: What is the difference between the Demand view and the Revenue view?
A: The Demand view shows who is waiting — it tracks signups, waitlist sizes, and notification history. The Revenue view shows what has been earned — it tracks orders, units sold, and revenue attributed to your notifications. Use Demand to decide what to restock and Revenue to measure the financial impact.
Q: Can I see both back-in-stock and preorder data in the same view?
A: No. Back-in-stock and preorder data are displayed in separate Products tabs. Switch between them using the **Back in stock and Preorders sections at the top of the Reports page.
Q: What does "Group by variant" vs "Group by product" mean?
A: Group by variant shows a separate row for each product variant (e.g., "T-Shirt - Small / Red" and "T-Shirt - Large / Blue" appear as two rows). Group by product rolls all variants into one row per product, combining their waitlist counts and totals.
Q: How is the Trending tab different from filtering by Last 30 days?
A: They are essentially the same. The **Trending tab is a preset that sets the date range to the last 30 days and sorts by pending signups (descending). You can achieve the same result manually by selecting the Last 30 days date filter and sorting by Pending.
Q: Do I need a paid plan to use the products report?
A: The products report is available on all plans. However, CSV export and certain features like bulk send notifications require a paid plan. The Engagement view also requires the analytics pixel, which is available on all plans.
Q: How do I export the products report data?
A: Click the Export CSV button at the bottom of the Demand or Revenue table. The export is sent to the email address configured in Reports → Settings. It includes all data matching your current filters and sort order.
Q: What does the "Unique" vs "Total" toggle do in the Engagement view?
A: Unique counts each visitor once, regardless of how many times they viewed or clicked. Total counts every event, so a visitor who viewed a product page three times counts as three impressions. Use Unique for a more accurate picture of how many individual customers are engaging
Q: Why do preorder products not have a Demand view?
A: Preorder products do not have a traditional waitlist like back-in-stock products. Instead, customers purchase preorders directly. The Revenue view serves as the default for preorders because it tracks orders and revenue, which are the key metrics for preorder products.
Updated on: 13/04/2026
Thank you!