Skip to main content

Own store, Amazon or Etsy: how to compare sales channels properly

You sell the same product in more than one place and you are not sure which one actually pays you.

Last updated: Guide

Most sellers compare channels by looking at what comes in. It is the most visible number and the most misleading one: every channel charges at a different moment, keeps a different slice and pushes different costs onto you. Two channels billing the same amount can leave you several euros apart per order, and the only way to see it is to put both into the same units before comparing them.

This guide is about that step: normalising. It does not reproduce anyone's fee schedule — fees change, and they live on each channel's own page — and it will not tell you that one channel beats another. It gives you the arithmetic to decide that yourself, with your numbers.

  1. [Why revenue is the wrong yardstick](#why-revenue-is-wrong)
  2. [The twelve boxes you have to fill](#twelve-boxes)
  3. [The process, step by step](#the-process)
  4. [The formulas](#the-formulas)
  5. [A worked example with three channels](#worked-example)
  6. [What happens when the basket grows](#basket-effect)
  7. [Your costs and the channel's costs](#your-costs)
  8. [One check that saves you from yourself](#invariance)
  9. [Common mistakes](#common-mistakes)
  10. [Warning signs](#warning-signs)
  11. [Limits: what this comparison cannot see](#limits)
  12. [When not to use this method](#when-not)
  13. [The procedure](#procedure)
  14. [Frequently asked questions](#faq)
  15. [Sources and methodology](#sources)

Why revenue is the wrong yardstick

Revenue measures how much money passes through the business, not how much stays in it. In a channel comparison there are at least three reasons that number lies to you.

The first is tax. In one channel the price you see includes VAT and in another it may not. And the VAT you charge is not yours.

Two things get cited as if they were one. The tax statute — article 88.Uno of Spain's Ley 37/1992 — says you must pass the full amount of the tax on to the customer, who is obliged to bear it. That governs the mechanics: who charges what to whom. What says that amount is not your revenue is the accounting rule: recognition and measurement rule 12 of Spain's Plan General de Contabilidad, which establishes that VAT charged does not form part of the revenue of taxed transactions. Two different sources for two different statements — and both of them are Spanish, so check your own market's rules before assuming they carry over.

There is a third quantity that is neither: the taxable base, which is what the tax is levied on, and cash billed, which is what lands in your account with the VAT inside it. Revenue, taxable base and cash collected are three different numbers, and only the first belongs in this comparison.

Compare a tax-inclusive price against a tax-exclusive one and the gap you are looking at is the tax rate, not the channel.

The second is that every channel charges differently. A percentage of the price, a flat fee per transaction, a payment-processing charge, a monthly plan, a pick-and-pack cost. Adding those up by eye does not work, because they do not scale together: the percentage grows with the basket and the flat fee does not.

The third is that some costs only exist in some channels. Shipping you absorb, advertising you need in order to be found, returns you handle. If the channel brings you traffic, your acquisition cost falls; if you have to bring it yourself, it rises. None of that shows up in a fee schedule.

The twelve boxes you have to fill

Normalising means filling the same table for every channel, in the same order, on the same basis. Twelve boxes:

BoxWhat goes inThe usual trap
Price actually chargedWhat the customer pays, before channel discountsUsing the shelf price rather than what settles
TaxThe rate that applies in that marketComparing one channel with tax against another without it
Product costLanded cost in your warehouseLeaving inbound freight out
PackagingBox, filler, labelCounting it only where you buy it separately
Percentage feeThe slice the channel keepsApplying it to the net price when it is charged on the gross
Flat feeThe per-transaction chargeSkipping it because "it is small"
FulfillmentPicking, packing, dispatchCounting it only in the channel that outsources it
Shipping absorbedThe part of delivery you payAssuming free shipping is free
AdvertisingWhat you spend to win that orderSplitting total spend without asking where the order came from
ReturnsA provision per order, not the cost of one returnOnly counting it when it happens
Other variable costsProrated subscriptions, special packagingFiling them under fixed costs and losing sight of them
Contribution marginThe output, not an inputMistaking it for profit

The first eleven are data. The last one is what comes out.

The process, step by step

1. Strip the tax out of every price. If a price includes tax at t per cent, the amount excluding tax is price / (1 + t/100). From here on you work tax-exclusive, in every channel.

2. Turn every fee into euros per order. A percentage applies to whatever base that channel uses — and it is worth checking whether that base is the gross or the net amount. A monthly plan is divided by the orders you got that month. A listing fee is divided by the orders that listing produced.

3. Share out what is common. Product cost and packaging are the same wherever you sell. If they come out different per channel, either the product really is different or something is wrong in your figures.

4. Attribute advertising to the channel that consumes it. This is the step most often fudged. If a channel brings you visits without spend, its acquisition cost is low, and that is a genuine advantage of the channel. Splitting ad spend evenly erases exactly the information you were looking for.

5. Work out contribution per order. Tax-exclusive price minus everything above.

6. Look at the percentage too. Contribution in euros tells you what an order leaves; contribution as a share of price tells you how much room the channel has if the price has to come down.

The formulas

price ex-tax = price charged / (1 + rate/100)

fees = price × percentage + flat fee + payment processing

contribution per order =
    price ex-tax
  − product cost
  − packaging
  − fees
  − fulfillment
  − shipping absorbed
  − returns provision
  − other variable costs
  − advertising attributed

contribution as a share = contribution per order / price ex-tax

That is all of it. The difficulty is in filling the boxes honestly, not in the arithmetic.

A worked example with three channels

A hypothetical shop sells the same item in three places. It costs €12.00 landed in its warehouse plus €1.00 of packaging, the same in all three. The applicable tax rate is 21%.

What it sees in each channel, tax included:

  • Own store: €48.40, with 1.4% payment processing plus €0.25 per transaction, €3.00 to pick and pack, €3.50 of shipping it absorbs and €8.00 of advertising per order.
  • Marketplace A: €53.24, with a 15% referral fee, €4.20 for the channel's logistics, shipping included in that fee, and only €1.50 of advertising because the channel brings the visit.
  • Marketplace B: €50.82, with a 6.5% transaction fee, €0.30 flat, €1.68 of payment processing, €3.50 of shipping absorbed and €3.00 of advertising.

The percentages and amounts in this example are made up so that the method is visible. They are not any real platform's fees: those have to be read on each channel's own page on the day you do the sums.

Normalised, it comes out like this:

ChannelPrice ex-taxPlatform feesFulfillmentShipping absorbedCACContribution per orderOf price
Tienda propia€40.00€0.81€3.00€3.50€8.00€10.4926.2%
Marketplace A€44.00€6.60€4.20€0.00€1.50€17.0038.6%
Marketplace B€42.00€4.71€0.00€3.50€3.00€16.3438.9%

The channel with the highest revenue per order is Marketplace A, at €44.00 ex-tax, and it is also the one leaving the most contribution: €17.00. But the lead over second place is €0.66 per order — that is €66.00 per hundred orders. It is a lead, not a chasm, and one box changing is enough to reverse it.

Look at the own store. It has the lowest price of the three and it also pays the lowest fees: €0.81 against €6.60 in marketplace A. It still leaves the least, €10.49, because it carries €8.00 of advertising and €3.50 of shipping that the other channel does not have. Fees were never the problem.

What happens when the basket grows

Here is the part almost nobody checks. Percentage fees grow with the price and flat fees do not. That means the ranking between channels depends on the basket size, and a comparison built on your average order does not hold for your large one.

Same product, basket 50% larger:

ChannelPrice ex-taxContribution per orderOf price
Tienda propia€60.00€30.2150.4%
Marketplace A€66.00€35.7054.1%
Marketplace B€63.00€35.9857.1%

It has flipped. Marketplace B now wins with €35.98 against €35.70 for the previous leader. And the highest price is still marketplace A's, €66.00, which is no longer the one leaving the most contribution. The channel that bills the most is not necessarily the one that pays you the most, and this table is the demonstration in numbers.

The reason is simple: marketplace A charges a high percentage, so every extra euro of price pays an extra slice of fee. Marketplace B charges less percentage and more flat, and flat does not grow. If your catalog spans very different price points, run this per price band rather than once.

Your costs and the channel's costs

It helps to keep two mental columns.

The channel's costs: percentage fee, flat fee, payment processing, the channel's own logistics. You do not control them. You read them, convert them to euros per order and move on.

Your costs: product, packaging, shipping you absorb, advertising, returns. These you do control, and they explain most of the real differences. In the example above the own store loses on its own costs, not on the channel's.

The distinction matters because the levers differ. Against a channel cost you can only change channel or raise the price. Against your own cost you can negotiate, redesign the packaging, change the shipping policy or stop buying traffic that does not convert.

One check that saves you from yourself

Rename the channels as letters and run the numbers again. The result has to be identical. If it changes, a preference has crept in somewhere that is not in the figures.

In the example above, with the three channels renamed X, Y and Z, the contributions come out exactly the same: yes, they match. It sounds trivial and it is not — it is the fastest way to catch yourself defending a channel instead of measuring it.

Common mistakes

Comparing on revenue. Already said, but it is the dominant mistake.

Mixing tax-inclusive and tax-exclusive prices. If the gap between two channels looks suspiciously like the tax rate, this is why.

Applying the percentage fee to the wrong base. Many platforms charge on the gross amount, not the net. Small per order, large over a year.

Splitting advertising evenly. It erases the one real advantage marketplaces have: they bring the visit.

Ignoring returns until they happen. A return is not an accident, it is a rate. Provision for it per order.

Comparing once. Fees change, your average basket changes and your product mix changes. The comparison expires.

Generalising from one product. A channel can be the best one for your expensive item and the worst for the cheap one.

Warning signs

  • A channel where contribution per order is positive but contribution as a share sits below the others: it will not survive a price cut.
  • A gap between channels explained entirely by one box. Go back and check that box.
  • A channel whose result swings sharply when the basket moves 10%: you are on a boundary, and any promotion pushes you over it.
  • A contribution per order that does not match what you see in the bank at month end. A box is missing.

Limits: what this comparison cannot see

It is a per-order calculation, and it has five limitations worth keeping in view, because some things do not fit in one.

Volume. A channel with lower unit contribution and three times the orders can contribute more in total. Always multiply by each channel's real order count before deciding.

The cost of being there. Keeping a channel alive costs time, photography, listings, customer service and sometimes a subscription. Prorated over few orders, the channel gets much worse.

Concentration risk. Depending on a single channel is a risk even when it is the most profitable one. A suspended account or a fee change leaves you without a business.

The customer. In your own store the customer is yours and you can sell again. In a marketplace, often not. That does not show in first-order contribution but it changes what a customer is worth.

Settlement terms. Two channels with identical contribution and different payout schedules are not the same thing for your cash.

When not to use this method

  • Before you have sold in the channel: you will have no conversion or returns data, and you will be comparing a fact against a guess.
  • When the product is not really the same, however similar it looks.
  • When volume is so low that one odd order moves the average.
  • When the question is not where to sell but whether the business works at all. That is a different calculation.

The procedure

  1. Pick one representative product, not a catalog average.
  2. Fill the eleven input boxes for each channel, using the last ninety days.
  3. Strip out the tax before anything else.
  4. Convert plans and subscriptions to euros per order using real order counts.
  5. Attribute advertising to the channel that consumed it.
  6. Work out contribution per order and contribution as a share.
  7. Repeat with a basket 50% larger and one 30% smaller.
  8. Rename the channels and check the result does not move.
  9. Multiply by each channel's order count to see the total.
  10. Write down which box would have to change for another channel to win, and by how much.
  11. Do it again when fees change or your average basket does.

Frequently asked questions

Sources and methodology

Sources

  • Accounting rule. Spain's Plan General de Contabilidad, Royal Decree 1514/2007, recognition and measurement rule 12, consolidated text in the Boletín Oficial del Estado (BOE-A-2007-19884). It states in terms that VAT charged to customers does not form part of the revenue of the taxed transactions. This is what supports doing the whole calculation on tax-exclusive revenue. Territory: Spain. This is the Spanish accounting framework and it does not carry over to other markets on its own; the same principle exists elsewhere, but you have to open your own market's rules. In force; consolidated text consulted 9 September 2026.
  • Regulator's interpretation. Ruling 5 in BOICAC 96, issued by Spain's Accounting and Audit Institute (ICAC). It confirms that taxes the company must charge on to third parties, and amounts received on behalf of third parties, do not form part of revenue. Territory: Spain. Consulted 9 September 2026.
  • Tax statute. Ley 37/1992, the Spanish VAT Act, consolidated text in the Boletín Oficial del Estado (BOE-A-1992-28740). Article 88.Uno. Used only for the obligation to pass the tax on, the way it is passed on, and the relationship between the taxable person and the customer. It is not used as the basis for the accounting treatment of revenue — that is what the accounting rule above is for. Territory: Spain. In force; consolidated text consulted 9 September 2026.

Platform fee schedules are deliberately not cited here. They change without notice and differ by marketplace. The only valid source is the channel's own fee page on the day you do the sums.

Methodology

Every figure in the example is produced by Profyza's channel comparison calculator, run with the inputs declared above. The tax-stripping step uses the same function as the published calculators. There is no hand-typed number in this text: each one is generated when the page is built, and separately checked against an independent calculation done by hand.

The inputs describe a hypothetical shop. They are not any real company's data and they are not industry benchmarks.

Currency and market: euros, European Union. The statute cited is Spanish.

Last reviewed: 9 September 2026.

Author: Profyza editorial team.

How the figures were produced. Each one is generated by the Profyza calculation engine for that step, using the inputs declared above. Every figure is also cross-checked against an independent arithmetic check — also automated — that recomputes it without calling the engine, which is what catches the text and the calculation drifting apart. It is not a human review, and this piece has not been reviewed by an economist, an accountant or a licensed adviser. If your situation needs that, get it.

Methodology: how all of this is calculated is set out on the methodology page.

Automated mathematical verification: Profyza calculation engines. This is not a human or professional review.

What if a channel forces me to lower the price?

Change the price box and recalculate. Lowering the price does not cut percentage fees in the same proportion as it cuts contribution, so the effect is usually worse than it looks.

Do I count a seller plan subscription?

Yes, divided by the orders you made in that channel that month. Bear in mind that number gets much worse in a quiet month.

Does advertising go above or below contribution?

Either works, but pick one and apply it to every channel. Leaving it out means you are comparing contribution before acquisition — a legitimate comparison, but a different one.

What about VAT I reclaim on purchases?

It does not belong in this calculation. You work tax-exclusive here precisely so you do not have to carry it around.

How often should I redo the comparison?

When channel fees change, when your average basket moves noticeably, or when your shipping policy changes. At minimum, once a year.

Can I compare three channels at once?

Yes, and you should: with two it is easy to talk yourself into what you already believed.

See the calculators

Break-even ROAS calculator

Find out how much you can pay for a sale or a click without losing money.

Etsy profit calculator

Strip out the fees, the tax, the materials, the shipping and the ads.

≈ 4 minutes Calculate my Etsy profit

Contribution margin calculator

What each order really leaves you, and how much of that you can spend winning the customer.

Landed cost calculator

What each imported unit really costs once it is sitting in your warehouse, ready to sell.

≈ 4 minutes Work out my landed cost

Maximum profitable CAC calculator

How much you can afford to pay for a customer without giving up your profit.

≈ 3 minutes Work out my maximum CAC

CAC payback period calculator

How many months it takes to recover what you paid to acquire a customer.

Reorder point calculator

The stock level at which you have to place the order to avoid running out.

Safety stock calculator

How many buffer units you need so a deviation does not leave you out of stock.

≈ 4 minutes Work out my safety stock

Inventory carrying cost calculator

What a full warehouse costs you per year, and what share of your inventory that is.

Stockout cost calculator

What running out of stock really cost you, in lost contribution and extra spending.

Bundle profitability calculator

Whether the bundle you are building leaves more money than selling the same items separately.

Maximum profitable discount calculator

How far you can cut the price without falling below the margin you want to keep.

Discount break-even sales calculator

How many more units you have to sell so a discount does not leave you worse off.

Minimum profitable price calculator

The price below which you lose money, and the one your target margin needs.

Cash conversion cycle calculator

How many days pass between paying your supplier and collecting from your customer.

≈ 4 minutes Work out my cash cycle

MOQ profitability calculator

Whether the supplier's minimum order pays off once you have paid to hold it.

Sales channel profitability comparison

Which sales channel leaves most per order for the same product and its real costs.