Every example and amount on this page is illustrative. It shows the method and is not a benchmark, a quote or advice.
A Dashboard Should Explain Profit, Not Just Sales
A Shopify profitability dashboard has a different job from a sales dashboard. Sales reporting tells you what customers paid, which products moved and how revenue changed. Profitability reporting must explain what the business kept after the costs required to generate and deliver those sales. That means showing realized revenue from delivered orders, product cost, advertising cost, returns and the resulting profit by product, collection, order and customer.
The useful output is not a larger collection of KPIs. It is an answer to practical questions: Which products create contribution after advertising? Which collections produce revenue but weaken margin? Are repeat customers more profitable than first-time customers? How much value is tied up in remaining or dead stock? Is a return problem reducing the economics of an apparently successful product? A dashboard can then surface a prioritised action such as scale, reduce, fix economics, test or stop, with the store’s numbers and the reason behind it. The operator still decides what to do; the dashboard provides the evidence.
Surface-level sales reporting cannot answer those questions reliably. A $10,000 revenue month may contain heavily discounted orders, high-cost products, refunded purchases or sales acquired through expensive advertising. Comparing that total with last month may describe movement without explaining whether the movement improved the business. Shopify’s KPI dashboard guidance makes the same point: reporting $50,000 in sales without a comparison leaves the reader guessing whether the result is good or bad. A real-profit view adds the missing economic context instead of treating sales growth as success by default.
For merchants who need that context at the product and order level, Shopify profit analytics connects Shopify orders, products and customers with advertising data while keeping each merchant’s trading currency intact. It is a reporting layer, not an automation system: it reads the numbers and explains them, but it does not change prices, bids, fulfilment or refunds.
What Shopify Analytics and Reporting Dashboards Actually Measure
Shopify analytics and reporting dashboards primarily describe store activity. Native reports can show orders, items sold, sales, discounts, taxes, shipping, refunds and the revenue recorded for a period. They also show sessions, conversion rate, average order value and customer behaviour. These measures answer questions such as “How many orders did we receive?” and “Which products generated sales?”
Marketing reporting adds traffic and channel context. You can compare sessions, orders and sales by source or campaign, then review metrics such as return on ad spend where the relevant ad-account data is available. That is useful for finding growth patterns, but it does not establish whether the orders were economically worthwhile.
Contribution profit needs a second layer of data that Shopify’s sales measures do not contain by themselves. At minimum, the analysis needs a product cost model for cost of goods, plus the variable costs assigned to each order or channel: fulfilment and shipping costs, payment or transaction fees, discounts, refunds and advertising spend. Timing also matters. A cancelled or returned order should not be treated like a completed sale when judging realized performance.
That distinction changes the dashboard’s unit of analysis. Revenue reporting can rank products by sales; profitability reporting must show what remains after the costs required to make and acquire those sales. ORVX connects to Shopify for orders, products and customers, connects advertising accounts for spend, and calculates gross profit, net profit and margins from the merchant’s cost model. It can then show contribution after advertising by product and collection in the merchant’s own trading currency. See Shopify profit analytics for the cost-aware view.
- Native Shopify measures: orders, sales or revenue, refunds, sessions, conversion rate, average order value and marketing performance.
- Additional profit inputs: product cost, fulfilment and shipping, payment fees, discounts, refunds and advertising spend.
- The practical test: a sales dashboard says what customers paid; a contribution dashboard shows what the business retained after variable costs.
| Dashboard layer | Measures | Business question |
|---|---|---|
| Shopify native reporting | Orders, sales, refunds, sessions, conversion and channel performance | What happened in the store? |
| Profitability reporting | Revenue matched with product and operating costs, then advertising spend | What did the store retain, and which products or collections contributed? |
The Contribution Profit Formula in Plain English
Contribution profit is the money left from a sale after the costs required to make and acquire that sale. A practical formula is:
Contribution profit = realized revenue − cost of goods sold − advertising spend − variable fulfilment costs.
The inputs must describe the same orders, period, products and trading currency. Otherwise, the result combines figures that do not belong together.
- Start with realized revenue: the amount retained from delivered orders after discounts and refunds. Cancelled and returned orders should not remain in revenue. This prevents demand that did not produce a completed sale from inflating profit.
- Subtract cost of goods sold (COGS): the product cost for the units included in those delivered orders. Gross profit is realized revenue minus COGS. Gross margin is gross profit divided by realized revenue, expressed as a percentage.
- Subtract advertising spend: the cost of the campaigns used to generate the orders or revenue being assessed. Keep total advertising spend distinct from attributed ROAS; one is a cost view, while the other is an attribution view.
- Subtract variable fulfilment costs: costs that increase as orders or units are shipped, such as pick-and-pack, per-order handling and delivery charges where those costs are available. Fixed warehouse rent does not belong in this contribution calculation.
- Read the result by product, collection, channel or customer only when each input can be assigned at that same level. A product can have strong gross margin but weak contribution profit if its advertising or fulfilment burden is high.
| Input | What it answers | Why it must be connected |
|---|---|---|
| Realized revenue | What completed sales actually produced | Sets the valid sales population |
| COGS / gross margin | What the products cost to sell | Shows product economics before acquisition and fulfilment |
| Advertising | What was spent to acquire demand | Reveals profit after marketing cost |
| Variable fulfilment | What each additional sale costs to deliver | Prevents shipped orders from appearing more profitable than they are |
A Worked Example From Order to Profit
Take a cohort of 100 Shopify orders in one trading currency. Merchandise sold totals $20,000, customers receive $2,000 in discounts, and they pay $800 for shipping. Six orders are later returned, producing $1,200 in refunds. The dashboard should not leave revenue at the pre-return figure: realized revenue is $20,000 − $2,000 + $800 − $1,200 = $17,600. The return rate is 6% by orders in this example.
The Data Mistakes That Distort the Number
A profitable-looking Shopify dashboard can be wrong before any formula is applied. The usual cause is inconsistent definitions: one report uses gross sales, another uses net sales, and the dashboard treats them as interchangeable. For illustration only, $10,000 of product sales with $1,000 in discounts is not the same revenue base as $10,000 after discounts. Label each field explicitly—gross sales, discounts, refunds, shipping revenue, taxes and net sales—and use one definition throughout the calculation.
Ad spend creates a second distortion when it is blended into a single store-wide number. Suppose two products each generate $5,000 in sales, but Product A used $500 of ads and Product B used $2,000. A blended $2,500 allocation makes both products appear to have spent $1,250, hiding the economics of each. Store-level MER and channel- or campaign-attributed ROAS answer different questions, so do not substitute one for the other. A useful Shopify profit analytics dashboard should show both and state which costs are attributed versus simply divided across the store.
Refunds are not a minor adjustment to remember later. If an order is counted as revenue when placed, then its refund is recorded in a separate period, the dashboard can show revenue that was never realized. The same issue applies to cancellations and returned orders. Use a consistent recognition rule and reconcile order, refund and return dates. For profitability reporting, realized revenue should come from delivered orders, with refund value and return rate visible against that revenue.
Shipping is commonly counted twice: once as a fulfillment or landed cost inside product costs, and again as a separate shipping expense. The reverse error is also possible when shipping revenue is included but the related carrier cost is omitted. Define whether product cost includes inbound freight, and keep outbound delivery, packaging and customer-paid shipping as separate, documented fields. Finally, compare like-for-like periods. January revenue against January ad spend is not comparable with January revenue against a February invoice or a trailing-30-day spend total. Preserve the same timezone, trading currency, order-status rule and date window before interpreting margin changes.
- Before trusting a profit figure, ask: Are sales gross or net? Are refunds in the same cohort? Is ad spend attributed or blended? Is shipping cost included elsewhere? Do every input and output cover the same dates?
| Error | What the dashboard shows | What it should show |
|---|---|---|
| Gross sales used as realized revenue | $10,000 revenue despite $1,000 in refunds | $9,000 realized revenue, with $1,000 refund value visible |
| Blended ad spend | $1,250 ad cost assigned to each of two products | Actual or clearly labelled attributed cost by product, plus store MER |
| Shipping counted twice | $800 outbound cost deducted twice | One documented deduction for the relevant shipping cost |
| Mismatched periods | January sales compared with February ad spend | Both figures from the same date window and trading currency |
How to Use the Answer in Operating Decisions
Use contribution profit as an operating filter, not a score to admire. The dashboard should show delivered-order revenue, contribution profit and contribution margin by product, collection, channel and promotion, with the comparison period beside each. A product generating $8,000 in revenue but losing $600 after advertising needs a different decision from one generating $5,000 and $1,200 in contribution profit.
Review the dashboard in a fixed order. Start with the largest negative contribution changes, then check whether the cause is price, product cost, returns, discounting or acquisition spend. Keep separate views for MER and attributed ROAS: ROAS can look strong when attribution captures demand that would have arrived anyway, while MER shows total advertising spend against store revenue. Customer-level profitability and repeat behaviour can also show whether a low first-order contribution is being recovered by profitable repeat purchases.
Set explicit review rules before the meeting so decisions do not depend on the loudest metric. For example, flag an item when its contribution margin falls below the product floor for two review periods, a channel when MER misses its target while spend rises, and a promotion when its incremental discount and return value erase the expected contribution. These are investigation thresholds, not automatic instructions to change the store.
- Pricing: compare contribution profit at current price with the margin floor. If a product is below floor, review price, landed cost and discount leakage. Treat any price test as a test worth running only where the dashboard identifies a clear economic issue; reporting cannot estimate price elasticity or predict demand response.
- Products and collections: scale items with positive contribution, acceptable return rates and repeat demand. Reduce exposure to products whose revenue grows while contribution declines, then check whether the problem is cost, refunds or advertising before acting.
- Channels and promotions: compare contribution after advertising by channel, alongside MER and attributed ROAS. Reduce or investigate a channel when spend increases but contribution does not, and stop promotions that create orders without clearing the contribution threshold.
- Inventory: pair profitability with inventory position, dead stock and remaining stock value. Prioritise action on profitable products at risk of running out, while reviewing slow-moving stock whose cash is tied up without contribution. ORVX reports these signals; it does not reorder or restock.
- Use a weekly Shopify profit analytics view for exceptions and a monthly inventory intelligence view for purchasing and ageing decisions. Each flagged recommendation should show the numbers, threshold, reason and confidence so an operator can approve, reject or investigate it.
| Dashboard view | Review trigger | Likely action |
|---|---|---|
| Product and collection contribution | Margin below floor or falling while revenue rises | Fix economics, test price or reduce exposure |
| Channel contribution, MER and ROAS | Spend rises without matching contribution | Reduce, investigate attribution or stop |
| Promotion and returns | Discounts and refund value erase contribution | Change terms, reduce discount or stop |
| Profitability and inventory | Dead stock grows or profitable stock approaches its limit | Plan clearance or review replenishment |
A useful Shopify dashboard makes the path from order to profit visible. When revenue, variable costs, marketing spend and refunds use consistent definitions and matching time periods, the result becomes a decision tool rather than another sales report.