Traffic acquisition Seller Tales

Which Sales Channel Actually Makes You Money: Store vs Marketplace vs Social

Full disclosure: Seller Tales is published by JoyCraft — when we recommend our own tools below, we say so.


Every channel tells you a version of the same story: “sell here, we make it easy.” Your own store says the margin is yours. The marketplace says the traffic is theirs. Social says the reach is free. All three can be true and all three can lose you money on the same product.

The difference between a channel that works and a channel that quietly bleeds margin isn’t the headline fee rate. It’s the full cost of getting an order through that channel — and how much of the sales volume is actually incremental. This guide walks through how to compare channels on real profit, with a method you can run tonight on a spreadsheet.

Full disclosure: Seller Tales is published by JoyCraft — when we recommend our own tools below, we say so.

The channel profit formula

Whatever the channel, the same formula applies:

Channel profit = Revenue − COGS − Channel fees − Logistics − Ads − Refunds/returns

Every line differs by channel. That’s the whole game.

  • Revenue is what the customer paid, not what the platform says you “earned.”
  • COGS is the landed unit cost — the same number whether the order came from your store or a marketplace (see how to build it from a supplier quote).
  • Channel fees are the platform’s cut: commissions, transaction fees, and any monthly subscription tied to selling there.
  • Logistics is shipping to the customer plus any fulfillment service (FBA-style or otherwise), including the fees that change when your product sits in a warehouse longer than expected.
  • Ads are the marketing cost attributable to that channel. Marketplace PPC, social ads, and your store’s own paid traffic all count — and they’re the easiest line to forget because it’s not on the invoice of the sale itself.
  • Refunds and returns are real money per order, not a percentage to shrug at. A high-return channel can erase the profit on three good orders with one bad one.

What each channel’s cost structure actually looks like

The numbers below are examples to show the shape of each channel — check the current official rates before you model your own numbers, because they change.

Your own store (Shopify and similar)

The clean part: no commission on your own sales. You keep the margin after your product, payment processing, and shipping costs. The trade-off is that traffic isn’t free — you pay for it with content, SEO, or ads, and you pay for the platform itself.

An example order at $40 with a $12 landed cost:

  • Payment processing at about 2.9% + $0.30 (example): $1.46
  • Platform subscription spread across orders: a few cents to a dollar depending on volume
  • Ad cost per order if you run paid traffic: often $5–$15 for a first order in competitive niches (example)

So a $40 order can show $27 profit on paper and land near $12–$20 after ads — depending almost entirely on how you got the traffic.

Marketplace (Amazon, Etsy, and similar)

The marketplace sells the discovery for you. That’s valuable, and it’s priced like it: referral/commission fees, closing fees, and often a fulfillment fee if you use theirs. You also typically pay for ads inside the marketplace to stay visible.

The same $40 product, example fees:

  • Referral fee at 15% (example, varies by category): $6.00
  • Fulfillment or handling fee (example): $5.00
  • Marketplace PPC, a modest $0.80–$1.50 average CPC with a few clicks per order (example): $3–$6 per order

That’s $14–$17 in fees and ads before logistics, on top of your $12 COGS. The $40 sale is now a $9–$14 contribution — before you count returns, which tend to run higher on marketplaces than on your own store because the customer never saw your product page.

None of this means marketplaces are bad. They can be the fastest way to a first 100 sales. It means the marketplace’s big number — gross sales — is the least useful number for deciding whether to keep selling there.

Social commerce (TikTok Shop and similar)

Social commerce sells on impulse. The cost structure is commission plus shipping subsidies plus the return rate that impulse buying creates.

An example $30 product, sold on impulse:

  • Commission at 5–8% (example): $1.50–$2.40
  • Shipping subsidy you fund for a promotional window (example): $3
  • Ad or creator cost to get the video that produced the order: $4–$8 amortized (example)

At 10–20% return rates for impulse categories (example, varies widely), every fifth order is refunded. That’s not a footnote — it changes the per-order math substantially.

The trap: counting gross sales as channel success

The most common mistake is comparing channels on revenue instead of profit. A channel that sells $10,000 a month at 8% net margin is worth less than a channel that sells $4,000 a month at 25% net margin — and “worth less” is a lot less once you count the time and the ad budget.

The second trap is double-counting the same customer. If you run ads that send someone to your marketplace listing, and they buy there instead of your store, the marketplace fee just cost you money for a sale you might have captured yourself. Traffic you paid for landing on a commission-taking platform is the most expensive way to sell your own product.

Before scaling any channel, ask: is this sale incremental — a customer who wouldn’t have bought anywhere else — or is it cannibalizing a cheaper channel? Incremental sales justify channel costs. Cannibalized ones don’t.

The free method: a channel profit ledger

You don’t need software for the first pass. A spreadsheet with one row per order, or per batch of orders, will show you the truth faster than any dashboard.

Set up columns for: date, channel, product, revenue, COGS, channel fee, logistics, ad cost, and refund status. Monthly, sum by channel. What you’re looking for is contribution margin per channel — the number left after every line except your fixed costs.

Three things make this ledger honest:

  1. Attach ads to the channel that generated them. Marketplace PPC goes against marketplace orders. Social ad spend goes against social orders. “Marketing” as a single lump hides which channel is actually paying for itself.
  2. Count refunds where they happen. A refund on a marketplace order is a marketplace cost. If you average refunds across everything, you hide the channel with the worst return behavior.
  3. Use actual fees, not remembered fees. Look up the current official rate for each platform when you model — fee structures change, and a referral-fee change of 2% is a real margin change.

Run this for two or three months and the pattern shows up: one channel carries the business, one barely breaks even, and one is probably eating the profit of the other two without you noticing.

When a channel is worth scaling

The decision rule is simple: scale the channel with the highest incremental contribution margin, not the highest sales volume.

If your own store makes $18 contribution per order and the marketplace makes $9, then a paid-traffic order to your store is worth twice a marketplace order — even if the marketplace “sells more.” If social sells fast but returns eat a third of the contribution, it’s not growth, it’s a loan to the customer.

There’s also a volume reality: channels that need the least attention per dollar of profit are the ones you can actually sustain. A channel that needs daily video production to keep selling is a job, not a passive line. Count your time in the ledger too — it’s the line everyone forgets and the one that decides whether a channel is truly “making money.”

The honest number is the only number

Every platform shows you a big, flattering revenue figure. None of them shows you the profit after their fees, your ads, and the returns. The difference between those two numbers is where stores quietly decide their strategy on the wrong information.

Build the ledger, run the real rates, attach the ads to the right channel, and count the returns where they happen. Three months of that beats three years of “I think the marketplace is our biggest channel.”

If you want to skip the manual rows, this is exactly what CostPilot Pro was built for: landed unit cost next to selling price, per-channel fees and ad cost, so the profit per channel is a column you can read instead of a feeling.

Worked example: the same product, three channels

Here’s the shape of it with example numbers, so you can see how fast the gap appears. All figures are examples, not market data.

A product with a $12 landed cost, sold for $40:

LineOwn storeMarketplaceSocial
Revenue$40.00$40.00$35.00 (promo price)
COGS−$12.00−$12.00−$12.00
Channel fees−$1.46 (processing)−$11.00 (referral + fulfillment)−$2.00 (commission)
Logistics−$4.00included above−$3.00 (subsidy)
Ads−$8.00−$4.00−$5.00
Refund allowance−$2.00−$4.00−$4.50
Contribution$12.54$9.00$8.50

The marketplace channel shows the most gross sales and the most orders. It also shows the lowest contribution per order — and with the ad budget you’d need to grow it, the gap widens further. The point isn’t that marketplaces are bad. The point is that the ranking by “how much we sold there” and the ranking by “how much we kept” are rarely the same list.

If your actual numbers show the marketplace carrying the business, that’s fine — the ledger will say so, and then you scale it with confidence. The method matters more than any default answer, because every product and every category shifts these numbers.


A sales channel is just a set of costs attached to a customer. The channel that “performs best” in your reports is usually the one that generates the most revenue — and the channel that actually makes you money is the one where the contribution margin survives all six lines of the formula.

Build the ledger. Run the real rates. Attach ads to the channel that earned them, and count refunds where they land. Then scale the number that’s left — not the number at the top of the dashboard.

Seller Tales is a publication by JoyCraft. When we link to our own tools, we say so, and some of those links carry tracking parameters.

More tools from JoyCraft

Independent tools, one small team — by JoyCraft.

Seller Tales is a publication by JoyCraft. When we link to our own tools, we say so, and some of those links carry tracking parameters.