Skip to content
All posts
DATA · RESEARCH

Etsy Stats vs Your Real Profit: The Six Things Etsy Doesn't Subtract

E
Evgenii
··11 min read

I'm building a profit analytics tool for Etsy sellers. Before I wrote a single line of code, I spent a few weeks doing something boring: I opened Etsy Shop Stats on a test shop, opened the 1099-K form for the same shop, and tried to reconcile them against the actual cash that landed in the bank account.

The three numbers didn't match. Not close.

This wasn't a mistake in Etsy's system. Shop Stats, the 1099-K, and the money in your bank are three different numbers that were never designed to agree. Each of them answers a different question — and none of them answers "what did I actually make."

If you've been selling on Etsy for a while, you've probably sensed this. The math feels off but you can never quite point to where. This article is what I found after digging into the API, the Payments CSV, the ledger entries, and Etsy's own Help docs. I'll walk through the two numbers Etsy reports, the six fees missing from both, and the reason the obvious fix (just download the CSV) doesn't actually fix it.


The two numbers Etsy gives you

Etsy reports two top-line figures for the same sales. Most sellers only look at Shop Stats day-to-day, and only think about the 1099-K once a year in January panic mode. The numbers disagree, and the reason why surprised me when I first worked it out.

Shop Stats "Revenue" is what you see on your dashboard. The formula is simple:

Revenue = Sales  Buyer discounts

Etsy's Help article on this is blunt about what it leaves out:

It's not hidden information — it's in the docs — but most sellers never read that page.

1099-K "Gross Payment Volume" is what Etsy reports to the IRS. Different formula:

Gross = Item price + Shipping + Gift wrap (+ some sales tax)

This one also skips every Etsy fee and every refund you issued. But unlike Shop Stats, the 1099-K does include shipping charges and gift wrap.2

So for the same shop in the same year, you get two different numbers. A shop that sold $50,000 in items plus collected $5,000 in shipping would show roughly $50,000 in Stats and roughly $55,000 on the 1099-K. The gap confuses sellers at tax time every year. It's not wrong — both numbers are doing exactly what they're designed to do. They're just designed for different purposes.

Neither one accounts for the money Etsy took from you.

The six things missing from both

Once I started pulling apart the fees line by line, the pattern was obvious. The gap between "top-line" and "what you kept" is small charges stacked on each other. Here's every fee that comes out before money hits your Payment account. None of these show up in Stats. None show up on the 1099-K.

01Listing fee: $0.20 per listing, renewed on every sale

Etsy charges $0.20 when you create a listing. It renews — for another $0.20 — when a buyer purchases a unit from it, or every four months if it hasn't sold.3 For a multi-quantity listing, each unit sold triggers a renewal. Sell 100 units in a month, that's $20 in renewal fees. Small per order, but it compounds fast on high-volume shops. You won't find it broken out anywhere in Stats.

02Transaction fee: 6.5% of the whole order

This one catches people. Etsy's 6.5% applies to item price plus shipping, gift wrap, and any personalization add-ons.3 If you charge $35 for the item and $5 for shipping, Etsy takes 6.5% of the full $40, not just the $35. That's $2.60 in fees on a $40 order.

The "free shipping" trick — rolling shipping cost into the item price — doesn't save you anything. The transaction fee applies either way. It just improves your search ranking.

03Payment processing fee: 3% + $0.25 in the US

Charged on the full grandtotal, not item price alone. On a $40 order that's $1.45. Other countries run higher — UK is 4% + £0.20, most EU countries 4% + €0.30. Etsy's processing fees article has the full country table.4

04Offsite Ads: 12% or 15%, capped at $100 per order

I went through dozens of threads in r/EtsySellers and Etsy Seller Facebook groups to understand which fees actually make sellers angry. Offsite Ads came up more than all the others combined.

Here's the structure. All sellers are enrolled in Offsite Ads by default.5 If your shop has made less than $10,000 in the past 365 days, you can opt out, or stay in and pay 15% on attributed orders. If your shop has made $10,000 or more in the past 365 days, participation becomes mandatory and the rate drops to 12%. The fee hits once the buyer clicks an ad on Google, Facebook, Pinterest, or wherever — then buys anywhere in your shop within 30 days.

There's a detail sellers often miss. Once your shop crosses the $10,000 threshold even once, you're locked in at 12% for the lifetime of the shop. If your sales drop back below $10,000 later, you stay at 12% and you can't opt out.35 A single good year enrolls you permanently.

The reason Offsite Ads makes sellers angry isn't the fee itself. It's that you don't know which orders will be attributed until after the fact. And it stacks on top of the 6.5% transaction fee you've already paid. A $40 order that gets attributed costs you another $4.80 on top of everything else. On a 30% margin product, one Offsite Ads attribution can flip the order from profitable to break-even.

05Currency conversion: 2.5% when currencies don't match

If you list in one currency and get paid out in another, Etsy charges 2.5% to convert.3 Common for sellers outside the US who list in USD, or US sellers listing in local currencies for international markets.

06Regulatory Operating Fee: varies by country

Sellers in the UK, France, Italy, Spain, Turkey, Canada, India, and Vietnam pay a Regulatory Operating Fee — Etsy's way of passing on local digital services tax costs.6 Rates currently range from 0.29% (India) to 2.27% (Turkey). UK and Italy sit around 0.32%, France 0.47%. Small per order, but the fee shows up as an "Adjustment" in your payment account with no explanation attached. US sellers don't pay this fee.

One more category: refunds

Refunds deserve a seventh spot. Etsy Stats doesn't factor a refund into Revenue until the refund actually processes, which can take days.1 If you issue a $200 refund late in December and it settles in early January, the timing creates a mismatch between what Stats shows and when the money actually moved. For month-over-month tracking — and for reconciling against a tax period — this creates a mess.

Why "just download the CSV" doesn't work

The obvious move, once you realize Stats is lying, is to skip the dashboard entirely. Download your Etsy Payments CSV and calculate things yourself. That's where I started too.

It didn't work. Here's why.

All the fees come as one number

I pulled the Payments CSV for a test shop and opened it. Every row has a single fees field. One number. That number combines every fee type listed above — listing fee, transaction fee, payment processing, Offsite Ads (if it applied), currency conversion, regulatory fees. Etsy doesn't break them out.

Then I checked the API. Same answer. Etsy's Payments endpoint returns a field called amount_fees, and it's the aggregated total for that order.7 If you want to know how much of a $9.05 fee was Offsite Ads versus transaction fee, you have to decompose it yourself using Etsy's documented formulas.

What the API returns
$9.05
amount_fees
One number per order. No breakdown.
What it actually contains
  • Listing fee$0.20
  • Transaction fee$2.60
  • Payment processing$1.45
  • Offsite Ads$4.80
You have to reverse-engineer which fees apply.

For single-item orders, that's doable. Write the fee formulas out. Compare your expected transaction + processing fees to the actual total. Whatever's left over was Offsite Ads or a regulatory adjustment.

For multi-item orders, it gets worse. The aggregate fee is for the whole order, and Etsy doesn't allocate it to individual items. If you want per-listing profit — which is the whole point of knowing profit at all — you have to split it proportionally:

item_fee_share = total_fees × (item_price + shipping) / grandtotal

The formula is straightforward. Etsy doesn't apply it for you. A five-item order in your CSV shows one fee line, not five.

And the aggregate isn't always clean to begin with. Offsite Ads fees have a quirk I ran into on my own test shop. The ledger entries that should link them to specific orders sometimes have a reference_id of 0. That means Etsy itself didn't attribute the fee to any specific receipt in their own ledger. Reconciling those takes pattern matching — look for fees that are exactly 12% or 15% of the order total, within the $100 cap.

None of this is impossible. It's just a lot more work than "download a CSV and you're done."

A worked example

Here's a real order from the test shop I was working with. One item at $34.99, $4.99 shipping, no gift wrap. US buyer. Shop has done more than $10K in the past year, so Offsite Ads attribution is mandatory. This particular order came through an Offsite Ad.

Item price:$34.99
Shipping:$4.99
Gift wrap:$0.00
Grandtotal:$39.98

Here's the fee breakdown I had to reconstruct:

Listing fee:−$0.20
Transaction fee (6.5% × $39.98):−$2.60
Processing (3% × $39.98 + $0.25):−$1.45
Offsite Ads (12% × $39.98):−$4.80
Total Etsy fees:−$9.05

After Etsy took its cut, $30.93 landed in the Payment account. But that's still not profit — there's the shipping label bought through Etsy and the cost to make the item:

Net from Etsy:$30.93
Shipping label:−$3.42
COGS:−$8.50
Actual profit:$19.01

So on one $40 order, here are the three numbers Etsy reports or could report:

NumberAmountWhat it tells you
Stats "Revenue"$39.98What the buyer paid
1099-K "Gross"$39.98What the IRS sees
Payment account net$30.93What hit your Etsy balance
Actual profit$19.01What you kept
52%
gap between top-line and actual profit on this order

The gap between top-line and actual profit is 52%. When I first ran this on a test shop across a full year of orders, the aggregate gap was wider than I expected. Stats said one number. The bank said something much smaller.

If you want to plug in your own numbers and see the math, there's an interactive version at getbrimley.com/etsy-fee-calculator.

What the picture should actually look like

After a few weeks of this, I had a clear picture of what a retrospective profit view needs. Looking at sales that already happened, this is what Etsy's native tools don't give you.

Per-listing breakdown. Not shop-aggregate. A shop with a 20% blended margin can have listings at 40% margin and listings losing money. Averaging hides both. The unprofitable ones keep running until you notice, which is usually after a bad quarter.

Fees broken out by type. Not one amount_fees number. You want to see which orders hit Offsite Ads, which listings have outsized processing costs from frequent small orders, which state regulatory fees are showing up and why.

Drill-down to the specific transaction. Any profit figure should let you click through to the underlying orders, and any order should let you click through to the actual Etsy receipt. If the math is right, you should be able to verify it in under a minute. If you can't, the tool is asking you to trust it blindly. That's the complaint that shows up again and again in reviews of existing profit tools — "I see the number, but I don't know where it comes from."

Reconciliation against your bank. What Etsy says you got paid and what your bank actually received should match. When they don't, you want to know why — and the answer is almost always in the fee breakdown Etsy doesn't show.

Your data is all there. It's just aggregated in ways that protect Etsy's simplicity, not your profitability.

What to do right now, without any tool

If you want a reasonable picture of actual profit this quarter, here's the manual path. It's tedious but it works at the shop level.

  1. Download the Monthly Statement CSV. Shop Manager → Finances → Monthly statements → View all monthly statements → pick the year and month → Generate CSV → wait for the email from Etsy → Download CSV.8 It's not an instant download — the file generates in the background and the link arrives by email, usually within a few minutes.

  2. For each month, calculate net cash in. The statement has a Type column — Sale, Fee, Tax, Refund, Shipping, Deposit. Filter and sum:

    Σ(Sales) − Σ(Fees) − Σ(Shipping labels) − Σ(Refunds) = Net cash in

    If you're more comfortable in Excel, open the CSV, filter by Type, sum the Net column for each type. Subtract the outflows from sales and you have the real net for the month.

  3. Compare to Stats Revenue for the same month. The gap tells you how much Etsy's "Revenue" was overstating what hit your account.

  4. If you're using Offsite Ads, flag the high-fee orders. Non-Offsite orders typically run 10–12% in fees as a ratio of the order total. Offsite-attributed orders jump to 22–25%. There's a clear gap between the two bands, so filter for orders where fees / grandtotal > 18% and you'll catch most attributed orders without false positives. It's still pattern matching, not official data — the API doesn't flag these — but the fee ratio is a reliable signal.

  5. For taxes, this gives you the Schedule C inputs. Gross Payments (minus refunds) goes on Part I, Line 1.9 On the expense side, Etsy's platform fees (transaction, listing, payment processing) belong on Line 10 (Commissions and fees). Offsite Ads and Etsy Ads go on Line 8 (Advertising). Shipping labels usually go on Line 27a (Other expenses).10 The IRS rule: claim each fee once, don't double-count across lines. Your CPA will confirm the exact mapping for your shop.

What this won't give you: per-listing profit. That requires allocating fees proportionally across items in multi-item orders. Doing it by hand in Excel takes hours every month on a shop with real volume. At some point, automation is worth more than the hours.

But at the shop level, the manual version is good enough to answer the real question: did I actually make money this month, and was it more or less than last month.

FAQ

Does Etsy Shop Stats show my actual profit?

No. Shop Stats Revenue shows your sales minus buyer discounts. It doesn't subtract fees, shipping costs, or refunds.1 For actual profit, deduct every Etsy fee, your shipping labels, and the cost of goods sold.

Why is my 1099-K higher than what landed in my bank account?

The 1099-K reports gross payment volume — what buyers paid Etsy before any fees were deducted. It includes shipping charges and gift wrap.2 Your bank received the net after Etsy took 10–25% in fees. A gap of several thousand dollars per year is normal for an active shop.

What's the difference between Shop Stats Revenue and my 1099-K?

Stats Revenue is sales minus buyer discounts, no shipping included. The 1099-K adds shipping, gift wrap, and some sales tax. They're calculated differently and will disagree on the same sales. The 1099-K is almost always higher because it includes the shipping charges Stats excludes.

Can I see the breakdown of Etsy fees per order?

Not directly. Etsy's Payment account and their API return one aggregated fees number per transaction — listing, transaction, processing, Offsite Ads, currency conversion, and regulatory fees all combined.7 To see the breakdown, you have to reconstruct each component from the order details using Etsy's documented fee formulas.

Is Etsy's 6.5% the full transaction fee?

No. The 6.5% is just the transaction fee. On top of it you pay $0.20 per listing renewal (triggered by each sale in multi-quantity listings), payment processing (3% + $0.25 for US sellers), and potentially 12–15% for Offsite Ads attributed orders.3 Standard orders run 10–12% in total fees. Offsite Ads orders run 22–25%.

Footnotes

  1. Etsy HelpShop Stats Revenue 2 3

  2. Etsy HelpHow the 1099-K form from Etsy is calculated 2

  3. EtsyFees & Payments Policy (primary source for listing, transaction, currency conversion, and Offsite Ads lifetime lock) 2 3 4 5

  4. Etsy HelpPayment Processing Fees

  5. Etsy HelpHow Etsy's Offsite Ads Work 2

  6. Etsy HelpWhat is a Regulatory Operating Fee

  7. Etsy DevelopersOpen API v3 documentation 2

  8. Etsy HelpHow to Manage Your Payment Account

  9. IRSAbout Schedule C (Form 1040)

  10. IRSInstructions for Schedule C