> Source: https://tryordinary.com/solutions/profit-margins/

# Profit and margins for Shopify

You know what you sold. Do you know what you kept?

Revenue is the easy number. Ordinary tracks what each product costs you, what each order costs to deliver, and what the processor takes — so every report you already read turns from revenue into profit.

[Get started →](https://apps.shopify.com/ordinary-attribution-ab-testing) [See all solutions](/solutions)         The problem

## A campaign can hit 4× ROAS and still lose you money.

It happens when the winning campaign sells your thinnest-margin
product. Revenue goes up, the dashboard goes green, and the bank
balance doesn't move. Every tool in your stack reports the sale;
almost none of them know what the sale cost you.

The same blind spot sits under every decision you make with those
numbers — which discount to run, which product to push, which channel
to scale. Without cost, they're all being made on the half of the
equation that's easy to measure.

Getting your costs in

## Three ways in, and the first one needs nothing from you.

The reason most stores don't track profit is the data entry. So the
work is stacked: the free bit runs on its own, and you only touch the
parts it can't reach.

Nothing to do

### Straight from Shopify

If you use Shopify's “Cost per item” field, Ordinary reads it and refreshes it daily. For most stores this alone covers the majority of what they sell — the products you bothered to cost are the ones that move.

Two minutes

### A few numbers, once

Fulfilment and shipping per order, and what your payment processor takes. Set them once and every order is costed properly, not just the goods.

Only the exceptions

### A spreadsheet, for the rest

Download your catalogue with the costs already filled in, correct the ones that are wrong, upload it back. You edit exceptions rather than starting from an empty file.

Anything you enter yourself takes precedence over the Shopify value, and
the daily sync leaves it alone. You get the automatic updates and your
own corrections at the same time, instead of choosing between them.

What changes

## Every report you already read, with the other half of the equation.

### Profit by channel

Revenue by channel is a popularity contest. Profit by channel tells
you which one to fund next month — including the campaigns that sell
plenty and keep little.

### Margin per product

Landed cost, fulfilment, shipping and fees against the real selling
price, per product — so the bestseller that barely pays for itself
stops hiding inside a healthy blended average.

### Offers you can model first

The Offer Calculator runs on the same cost data: see whether a
discount survives contact with your margin before you run it, not
after.

### History that stays put

Each order records what its items cost at the time. Renegotiate with
a supplier and only future orders move — last quarter's profit stays
exactly as it was reported.

How we handle gaps

## Where the data is thin, we say so.

Ordinary shows you how much of your recent revenue has cost data behind
it. Below a sensible threshold it holds the profit figures back rather
than showing a margin worked out from part of the basket, and it never
treats a missing cost as zero — which would quietly report a perfect
margin on a product nobody has costed.

If your prices include VAT or GST, you tell us the rate and we work in
pre-tax terms. If you don't, those figures stay out of the reports
instead of being estimated.

## Find out what you actually keep.

Install Ordinary, connect Shopify, and see profit alongside revenue on the reports you already use.

[Connect your store](https://apps.shopify.com/ordinary-attribution-ab-testing)
