Shopify Profit: How to Keep the Number Clean

Shopify Profit: How to Keep the Number Clean

Shopify Profit: How to Keep the Number Clean

Accurately calculating profit for your Shopify store is essential to understanding your business’s true profitability. Including the wrong orders or overlooking certain costs can distort your profit calculations and lead to misleading results.

That’s why you need the flexibility to filter out cancelled, draft, test, and other irrelevant orders. You should also be able to choose which payment statuses and sales channels to include in your calculations, ensuring that your profit figures reflect the data that matters to your business.

By the end of this guide, you’ll know how to configure these filters and calculate your Shopify profits more accurately.

Key takeaways

  • Shopify profit is revenue minus COGS, fees, shipping, ads, refunds, and operating expenses.

  • Draft orders, test orders, and specific channels can distort profit if you leave them in.

  • Bloom's Order Settings let you filter by order status, payment status, sales channel, and order tags.

  • Tag matching in Bloom is case-insensitive, so capitalization differences will not break your rules.

  • Cleaner inputs mean cleaner profit numbers across every report.

What Shopify profit actually is

Shopify profit is what remains from your Shopify revenue after you subtract the costs of generating that revenue: cost of goods sold (COGS), transaction and payment fees, shipping, ad spend, refunds, and operating expenses. The common formula merchants work with is:

Shopify profit = Revenue − COGS − fees − shipping − ad spend − refunds − operating expenses

Shopify's own dashboard shows revenue clearly. Profit is harder, because it depends on which orders you treat as real sales and which costs you attribute to them. Get the order set wrong and every downstream number, margin, ROAS, contribution margin, is wrong with it.

Why Shopify revenue and profit are not the same number

Revenue is the top line: what customers paid. Profit is what you keep after costs. Two merchants with identical revenue can land in very different places on profit depending on margin, channel mix, refund rate, and ad efficiency.

There is a second gap people miss: not every order in your Shopify admin should feed a profit calculation. A draft order sitting in the admin is not a completed sale. An internal or test order inflates both revenue and cost. If profit reporting pulls everything in by default, the number is noisy before you ever look at it.

Which orders should be included in Shopify profit calculations?

The honest answer is "it depends on your business," which is exactly why this needs to be a setting, not a hard-coded rule. Common cases where merchants exclude orders:

  • Draft orders that may not represent completed sales.

  • Orders from a specific sales channel you want to analyze separately.

  • Tagged orders such as internal, test, wholesale, or employee purchases.

Bloom gives you filters to apply these rules at the source, so every downstream profit, margin, and attribution report inherits the same clean order set.

Bloom settings that keep Shopify profit clean

1. Order status settings

Choose which Shopify order statuses are included or excluded from revenue and profit calculations. The common case: exclude cancelled orders so they stop sitting in your profit number. Draft orders are the other usual exclusion.

2. Payment status settings

Choose which payment statuses count. Useful when you want calculations to reflect only orders in specific payment states.

3. Sales channel settings

Include or exclude specific sales channels. If you want to analyze your Shopify Online Store separately from another channel, this is where you split them. Multi-channel merchants use this to see which channel is actually profitable, not just which has the most volume.

4. Order tag settings

Include or exclude orders based on their tags. Two things worth knowing:

  • Tag matching is case-insensitive, so Internal Order, internal order, and INTERNAL ORDER all match the same rule.

  • You can use existing Shopify tags you are already applying for operations. No new workflow.

Example: tag internal purchases as Internal Order and configure Bloom to exclude that tag. Those orders stop skewing profit without you having to delete or hide them in Shopify.

Shopify Profit: How to Keep the Numbers Clean

Why filter orders instead of correcting profit after the fact

Fixing a profit report after the fact (manually subtracting cancelled orders in a spreadsheet, or exporting and cleaning) breaks for three reasons. It does not scale as order volume grows. It leaves other reports (margin, ROAS, contribution margin, country-level profit) still wrong. And it is easy to forget on the weeks you need accuracy most.

Filtering at the source means:

  • Cancelled, draft, and test orders stop skewing profit instead of being manually subtracted later.

  • Channel level profit is actually comparable because each channel is measured on its own order set.

  • Tagged exclusions apply everywhere automatically, not just in the one report you remembered to clean.

  • Reports stay reproducible because the rule, not a one-off cleanup, defines the number.

Frequently asked questions

How do you calculate profit on Shopify?

Start with revenue, then subtract COGS, transaction and payment fees, shipping, ad spend, refunds, and operating expenses. Shopify's own admin shows revenue clearly but does not stitch costs together into a single profit number, which is why most merchants use a profit analytics app on top of Shopify.

Which orders should be included in Shopify profit calculations?

Not every order should be. Draft orders may not be completed sales, cancelled orders never earned revenue, specific channels may need to be analyzed separately, and tagged orders (internal, test, wholesale) often should be excluded. In Bloom, Order Settings let you set these rules once so every report inherits them.

How do I exclude cancelled orders from Shopify profit?

In Bloom's Order Status Settings, exclude the cancelled status. Cancelled orders then drop out of revenue and profit calculations across every Bloom report.

Why is my Shopify profit lower than my Shopify revenue?

Because revenue is the top line and profit is what remains after COGS, fees, shipping, ads, refunds, and operating expenses. If the gap looks wrong, two usual suspects are missing or outdated product costs and ad spend that is not being attributed correctly.

Can I calculate profit per sales channel in Shopify?

Yes. In Bloom's Sales Channel Settings, include only the channel you want to analyze, or run reports with each channel isolated. This is how multi-channel merchants compare the real profitability of their Online Store against other channels.

Does Bloom's tag matching care about capitalization?

No. Tag matching is case-insensitive, so capitalization variants on the same tag all match the same rule.

Clean inputs are the cheapest path to a profit number you can trust. Set your Order Settings in Bloom once, and your Shopify profit reports stop lying to you.

Find Out What Your Shopify Store Actually Made

Connect your data and get a clearer view of your real profit.

Find Out What Your Shopify Store Actually Made

Connect your data and get a clearer view of your real profit.