Discount Analytics That Explain Every Order
Reading order-level campaign analytics for what they are: attributed, gross-level profit on discounted orders, not incremental profit.
A fictional multi-brand retailer reads Discount Prime's order-level analytics to compare campaigns by Estimated Profit: revenue after discounts minus Shopify product cost and shipping subsidy, for lines with cost. The figures are attributed, not incremental, exclude refunds, fees, and returns, and depend on cost data, so campaigns are checked against a baseline before scaling.
At a glance
- Challenge
- A multi-brand retailer ran many simultaneous campaigns but could not say which promotions earned money and which only moved revenue.
- Approach
- Order-level Estimated Profit from Shopify cost per item, read per campaign with margin colors, adjusted for refunds, and checked against a baseline before scaling any campaign.
- Discount Prime campaign types used
- Profit AnalyticsCampaign AttributionOrder-Level Breakdown
Scenario-based case study: the merchant is fictional and modeled on patterns across Discount Prime stores. Prices, costs and outcome figures are illustrative assumptions for teaching, not measured results from a real store.
Short Answer
To judge promotions by what they earn instead of what they sell, you need three things joined per order: which campaign applied, how much it discounted (including shipping), and what the products cost. Discount Prime's Analytics page does this for orders that carried its campaigns, using Shopify's "Cost per item" as the cost source, and reports an Estimated Profit per order and per campaign. Read it for what it is: attributed, gross-level profit on discounted orders. It is not incremental profit, it does not reflect refunds, and it is only as good as your cost data.
Merchant Scenario
EverPeak Commerce is a fictional multi-brand Shopify retailer selling outdoor equipment, apparel, and accessories. It runs many campaigns at once: wholesale pricing, Buy X Get Y, tiered discounts, shipping incentives, flat product discounts. Marketing reports record revenue, finance sees margins shrinking, and nobody can say which promotions earn money.
| Input | Why it matters |
|---|---|
| Shopify "Cost per item" on each variant | Without it, no profit figure can be calculated |
| Campaign list and dates | To read results per campaign |
| A baseline (orders without campaigns, or a prior period) | To judge whether a campaign changed anything |
| Refund and return rates by category | Not reflected in the app's figures; adjust for them yourself |
Alternatives Compared
| Approach | Campaign attribution | Profit | Effort | When it is enough |
|---|---|---|---|---|
| Shopify built-in reports | Sales by discount code or title | Gross profit by product on plans that include profit reports, using cost per item | Low | A few campaigns, mostly native discounts |
| Exports plus spreadsheets | Manual joins | Whatever you model | High, recurring | One-off analyses |
| BI platform or data warehouse | Whatever you build | Full P&L possible, including fees, returns, ads | High setup, analyst time | You need profit after all costs or cross-channel views |
| Discount Prime Analytics | Per line, for its own campaigns | Estimated Profit: product cost and shipping subsidy only | Low once costs are set | You run most promotions in Discount Prime and want a campaign-level profit view |
Check which reports your Shopify plan includes before deciding you need an app for this. A BI setup is the right choice when you need refunds, payment fees, fulfillment, and ad spend in the same number.
What Discount Prime Reports
| Report | What it shows |
|---|---|
| Overview KPI tiles | Discount revenue, Estimated Profit, discounted orders, discount given (and as a % of revenue), shipping subsidized, AOV uplift, each with a period-over-period trend |
| Top campaigns | Campaigns with revenue, profit, and margin, colored by margin health |
| Orders | A per-order breakdown: campaign, discount, shipping effect, cost, Estimated Profit; lines missing cost are highlighted |
| Margin colors | Red (loss), yellow (thin margin), green (healthy), using thresholds you set in Settings (defaults: below 0% is red, below 20% is yellow) |
How Estimated Profit is calculated
Per order: revenue (after discounts) of the lines that have a cost, minus their product cost, minus the shipping subsidy the merchant absorbed. Lines without a cost are left out of both revenue and cost, so they neither inflate nor reduce profit. It excludes payment fees, fulfillment and packaging, returns, ad spend, app fees, and taxes. Call it gross profit after discounts and shipping subsidy, not net profit.
Limits to know before you trust the numbers
- Paid orders only. Orders enter analytics when Shopify marks them paid.
- No refunds or cancellations. Refunded and cancelled orders are not subtracted. For categories with high return rates, adjust before drawing conclusions.
- Attribution is per line. A line is attributed to a campaign when its variant belongs to that campaign; set-layer offers (bundles, cross-sell, gifts, upsells) and codes are matched from the order's line properties and discount applications. Only campaigns still active when the order is processed are considered. Discounts from other apps appear as unaccounted.
- Discount given includes compare-at savings. The figure adds campaign discounts and the gap between compare-at and selling price on those lines.
- Cost timing. Costs come from Shopify's cost per item and refresh nightly; the nightly job also recalculates costs on the last 30 days of orders. Profit on recent orders therefore reflects the current cost, not necessarily the cost on the day of sale. After fixing a missing cost, use "Calculate again" on older orders.
- AOV uplift is a comparison, not a cause. It compares the average order value of campaign orders with non-campaign orders. Shoppers who buy more are more likely to qualify for spend-based campaigns, so a positive uplift does not prove the campaign raised order values.
Anatomy of One Order
Illustrative assumptions: four products, all with cost set; a Tiered Spend Discount of 15%; standard shipping cost $12.40 given free.
| Line | Amount |
|---|---|
| Products at list price | $312.00 |
| Tiered Spend Discount (15%) | -$46.80 |
| Revenue from products | $265.20 |
| Product cost (from Shopify cost per item) | -$168.50 |
| Shipping subsidy absorbed | -$12.40 |
| Estimated Profit | $84.30 |
| Margin on product revenue | About 32%, green at the default thresholds |
This lets support explain the price the customer paid and lets finance see the gross result. It does not say whether this customer would have bought without the discount.
Reading Two Campaigns
Illustrative figures for one month, as the Top campaigns view would show them:
| Metric | Campaign A | Campaign B |
|---|---|---|
| Attributed revenue | $120,000 | $60,000 |
| Discount given | $31,000 | $9,500 |
| Estimated Profit | $14,200 | $27,900 |
| Margin color | Yellow | Green |
On revenue, A looks stronger; on attributed profit, B does. Before scaling B or cutting A, check:
- Incrementality. Attributed profit counts every order that carried the campaign, including orders that would have happened at full price. A campaign with lower attributed profit can still add more profit if it brings orders that would not otherwise exist. Compare against a baseline period or, better, a holdout (a period, region, or customer group without the campaign).
- Product mix. If A covers low-margin categories, its color reflects the category as much as the discount.
- Refunds. If A's categories have higher return rates, its real result is lower than shown.
- Cost coverage. If many of A's lines lack cost, its profit is calculated on a subset.
A Review Routine Instead of Alerts
Discount Prime does not send margin alerts. The colors are on the Analytics page, so make a habit of looking:
- Weekly, sort Top campaigns by margin and open any yellow or red campaign.
- In the Orders tab, open recent orders from that campaign and check for highlighted lines with missing cost.
- If margins thinned without a settings change, check whether a supplier cost rose in Shopify (the nightly sync will have applied it to recent orders).
- Decide: adjust the discount depth or threshold, reprice the category, narrow the campaign's products, or end it.
The weekly email is a useful reminder to open the app, but its figures count all orders in the last seven days, not only discounted ones, and its "top campaign" is ranked by discount given. Do not read its revenue line as revenue the campaigns caused.
Measurement for the Analytics Program Itself
- Primary: Estimated Profit per campaign, adjusted for refunds, next to its baseline.
- Guardrails: share of campaign revenue with cost data; discount given as a % of revenue.
- Next decision: campaigns with persistently thin or negative margin get a parameter change or an end date; campaigns with healthy margin are candidates for a controlled test of a deeper or broader offer.
Common Mistakes
- Reading attributed profit as incremental profit.
- Ignoring refunds and returns, which the app does not subtract.
- Trusting profit figures while many lines lack Shopify cost per item.
- Treating AOV uplift as proof that a campaign raised order values.
- Waiting for an alert that does not exist instead of reviewing margin colors on a schedule.
- Quoting the weekly email's revenue as campaign-driven revenue.
Frequently asked questions
How do I know which Shopify discount campaign is actually profitable?
Compare campaigns by profit after discount, product cost, and shipping subsidy, not by revenue. Discount Prime reports an Estimated Profit per order and per campaign from Shopify's cost per item, colored by margin thresholds you set. That is attributed profit: it includes orders that would have happened anyway, so confirm a campaign's value against a baseline period or a holdout before scaling it.
What does Discount Prime's Estimated Profit include and exclude?
It is revenue after discounts for lines that have a cost, minus their product cost, minus the shipping subsidy you absorbed. Lines without cost are left out of both sides. It excludes payment fees, fulfillment, returns, ad spend, app fees, and taxes, and it does not subtract refunds or cancellations. Only paid orders are recorded. Treat it as gross profit after discounts, not net profit.
Do Shopify reports show profit for discounted orders?
Shopify's built-in reports can show sales by discount and, on plans that include profit reports, gross profit by product using cost per item. They do not attribute orders to app campaigns. If most of your promotions run in Discount Prime, its Analytics page joins campaign, discount, shipping subsidy, and cost per order. For a full P&L including fees and returns, use a BI or accounting tool.
Does Discount Prime alert me when a campaign's margin drops?
No. There are no margin alert emails. Campaigns and orders are colored red, yellow, or green on the Analytics page using thresholds you set (defaults: below 0% red, below 20% yellow), so schedule a weekly review. The weekly email counts all orders in the last seven days, not only discounted ones, so do not read its revenue as campaign-driven revenue.
Does AOV uplift prove my discounts raised order value?
No. AOV uplift compares the average order value of campaign orders with orders without a campaign. Shoppers with bigger carts are more likely to qualify for spend-based offers, so the gap partly reflects who qualifies. Use a controlled comparison if you need to know whether a campaign changed order values.
Go deeper
Run this architecture in your store
Every campaign type in this case study is included in Discount Prime, with profit analytics to verify the margin impact.