/* Full article bodies — keyed by article id, attached to ARTICLES at runtime */

window.ARTICLE_BODIES = {
  'tiktok-fees-decoded': [
    { type: 'p', text: 'TikTok Shop is the fastest-growing channel for independent sellers in 2026, and it is also the most misunderstood at the unit-economics level. The headline fee is simple. The hidden costs are not.' },
    { type: 'h', text: 'The headline fees' },
    { type: 'p', text: 'TikTok Shop currently charges a 6% commission on the sale price plus a $0.30 flat transaction fee per order. On a $25 sale, that is $1.80 — about 7.2% of revenue. On a $50 sale, it falls to 6.6%. The fee structure scales gracefully with AOV, which is one reason higher-ticket sellers find TikTok attractive.' },
    { type: 'h', text: 'The hidden return clawback' },
    { type: 'p', text: 'Here is what the rate card does not tell you. When a TikTok Shop order is returned, TikTok deducts the platform commission on the original sale, not the net of the return. The $0.30 transaction fee is also non-refundable. With live-commerce return rates running in the 14–18% range for fashion and beauty, the effective fee on net retained revenue is meaningfully higher than the headline 6%.' },
    { type: 'q', text: 'Always model TikTok unit economics on net retained revenue, not gross.' },
    { type: 'h', text: 'Promo voucher economics' },
    { type: 'p', text: 'TikTok offers platform-funded vouchers that appear seller-neutral but are not. Many vouchers split cost between TikTok and the seller on a sliding scale tied to your seller tier. Read the fine print on every campaign before opting in.' },
    { type: 'h', text: 'The operator move' },
    { type: 'p', text: 'Build your TikTok unit economics on a 15% return assumption, your category referral, $0.30 per order, and your real ad-attributed acquisition cost. If the math still pencils, you have a real channel. If it only pencils on the headline 6%, you have a problem.' },
  ],

  'amazon-referral-by-category': [
    { type: 'p', text: 'Amazon\'s referral fee is the single largest variable in your Amazon unit economics, and it ranges from 6% to 45% depending on category. The category code Amazon assigns to your listing is the most consequential decision you will make on the platform — and most sellers do not even check it.' },
    { type: 'h', text: 'The 2026 working table' },
    { type: 'p', text: 'Most consumer goods land in the 8% (Personal Computers), 12% (Furniture, Appliances), or 15% (default rate for most categories including Beauty, Home, Toys, Tools) buckets. Apparel sits at 17% above $15. Jewelry and watches stack tiers at 20%/5% and 16%/3% respectively. The painful end of the spectrum: Amazon Device Accessories at 45%.' },
    { type: 'h', text: 'Why category drift matters' },
    { type: 'p', text: 'Amazon assigns category by a combination of your selected browse node and the item\'s detected attributes. A product listed in the wrong node can be paying 17% when it should be paying 8%. On a $40 SKU at 100K units annual, that is $360,000 in surplus fee per year.' },
    { type: 'h', text: 'The audit move' },
    { type: 'p', text: 'Pull your Seller Central referral fee report. Sort by category. For any SKU paying above your category baseline, file a recategorization request with documentation. The change is retroactive on a forward basis, not historical, but the compounding savings are immediate.' },
  ],

  'fba-vs-fbm': [
    { type: 'p', text: 'When Amazon FBA fees raise twice in a year, FBM (Fulfilled by Merchant) starts looking attractive. It is sometimes the right move. It is more often a margin trap dressed up as a margin save.' },
    { type: 'h', text: 'The decision tree' },
    { type: 'p', text: 'There are four variables that decide FBA vs FBM: your unit weight tier, your storage velocity, your return rate, and your willingness to manage SLA risk. Get any one of these wrong and the cheaper-looking option becomes the more expensive one.' },
    { type: 'h', text: 'When FBM wins' },
    { type: 'p', text: 'FBM wins when your unit is oversize or heavy (the FBA pick fee on a 5lb+ unit is brutal), when your sell-through is slow enough to incur long-term storage fees, or when you have an existing 3PL with sub-$3 pick costs. It also wins for hand-made or custom items where personalization is impossible inside FBA.' },
    { type: 'h', text: 'When FBA wins' },
    { type: 'p', text: 'FBA wins for small, light, fast-moving SKUs. Prime eligibility lifts conversion 30–50% on competitive listings. The buy box algorithm favors FBA. And the customer service burden — refund handling, lost packages, chargebacks — is absorbed by Amazon.' },
    { type: 'q', text: 'FBA is rarely the cheapest fulfillment, but it is often the highest-net.' },
    { type: 'h', text: 'The honest model' },
    { type: 'p', text: 'Run both scenarios in a calculator. Add a Prime conversion lift assumption (use 1.35x as a baseline for non-commodity items). Subtract your real customer-service cost on FBM. The number that wins net, wins.' },
  ],

  'etsy-listing-math': [
    { type: 'p', text: 'Etsy\'s $0.20 listing fee looks immaterial. For a seller doing $50 average order value, it is. For a seller doing $8 stickers and $12 keychains, it is the line item that decides whether the business is profitable.' },
    { type: 'h', text: 'The math nobody runs' },
    { type: 'p', text: 'A $10 sticker on Etsy: $0.20 listing + 6.5% transaction ($0.65) + 3% + $0.25 processing ($0.55) = $1.40 in fees. That is 14% of revenue gone before COGS. On a $40 print, the same fee stack is $3.30 — 8.25%. Same listing, half the percentage drag.' },
    { type: 'h', text: 'Why low-AOV Etsy sellers struggle' },
    { type: 'p', text: 'Sub-$15 AOV on Etsy is structurally unprofitable for most makers. The fixed-fee components ($0.20 listing + $0.25 processing = $0.45) eat 4.5% of a $10 sale before any percentage fee touches it. Bundle pricing — selling stickers in 3-packs at $25 — is not a marketing tactic. It is a survival mechanism.' },
    { type: 'h', text: 'The pricing rule' },
    { type: 'p', text: 'Set a $20 floor on AOV before you list anything on Etsy. If your category does not support $20 AOV, sell in bundles, sell on Shopify with email-driven LTV, or do not sell that SKU at all.' },
  ],

  'shopify-true-cost': [
    { type: 'p', text: 'Shopify markets itself as the fee-free alternative to marketplaces. The base plan starts at $39/month. The story sells. The story is also incomplete.' },
    { type: 'h', text: 'What the headline price hides' },
    { type: 'p', text: 'On Shopify Basic, you pay 2.9% + $0.30 per online transaction through Shopify Payments — exactly the same as Stripe direct. If you use a different gateway, Shopify charges an additional 2% transaction fee, which is the lever that locks you in. On Plus ($2,000/month), the gateway fee drops to 2.5% + $0.30, and the third-party gateway penalty falls to 0.15%.' },
    { type: 'h', text: 'The app stack tax' },
    { type: 'p', text: 'A working Shopify store carries Klaviyo (~$150/mo at scale), a reviews app (~$30), a subscriptions app (~$60), shipping rules (~$20), and a half-dozen smaller utilities. The realistic app stack on a $2M store is $400–800/month — meaningful at low margin, immaterial at high.' },
    { type: 'h', text: 'The attribution leakage' },
    { type: 'p', text: 'iOS 14.5+ broke server-side attribution. Most Shopify stores under-attribute paid social by 20–40% versus the platform-reported number. If you are ad-driven, your real CAC is higher than your dashboard says. Build that into your unit economics.' },
    { type: 'h', text: 'When Plus pencils' },
    { type: 'p', text: 'Shopify Plus pencils when (a) your monthly GMV times 0.4% (the gateway-fee delta) exceeds the $1,961 monthly upgrade, and (b) you actually use the Plus features — Launchpad, Flow, B2B, checkout extensibility. Otherwise it is a status purchase.' },
  ],

  'cogs-landed-cost': [
    { type: 'p', text: 'Cost of goods sold is not the price you paid your supplier. It is everything required to put one sellable unit on the shelf in the country you sell in. Most sellers undercount COGS by 15–30%, and discover it only when the bank account empties faster than the dashboard suggests.' },
    { type: 'h', text: 'What belongs in landed COGS' },
    { type: 'p', text: 'The full stack: factory unit price; inbound freight (allocate per unit); duties and tariffs (which moved materially in 2025); inbound port and customs broker fees; inbound 3PL receiving fees; inserts and packaging; QC inspection cost (allocate per unit); and a returns reserve sized to your category.' },
    { type: 'h', text: 'The freight allocation trap' },
    { type: 'p', text: 'A common mistake: allocating freight by unit count when units have wildly different weight or volume. A 1lb SKU and a 6lb SKU on the same container should not carry the same freight allocation. Allocate by weight or volumetric weight, whichever is higher.' },
    { type: 'h', text: 'The returns reserve' },
    { type: 'p', text: 'Reserve for returns at the COGS line, not the revenue line. If your category returns at 12% and you scrap 30% of returns, your effective COGS uplift is roughly 3.6%. Build it in. The accounting that does not is the accounting that surprises.' },
  ],

  'ad-spend-attribution': [
    { type: 'p', text: 'Blended ROAS is the most over-cited metric in performance marketing. Stop using it as a decision input. Here is what to use instead.' },
    { type: 'h', text: 'Why blended ROAS lies' },
    { type: 'p', text: 'Blended ROAS divides total revenue by total ad spend, including organic revenue that would have happened anyway. A growing brand with strong organic will look like a marketing genius on blended ROAS. A struggling brand with weak organic will look incompetent. Neither read is true.' },
    { type: 'h', text: 'The MER alternative' },
    { type: 'p', text: 'Marketing Efficiency Ratio (revenue divided by all marketing spend, including agency, creative, and tooling) is more honest than blended ROAS. It is still not a unit-economics metric.' },
    { type: 'h', text: 'The number that matters: ad cost per unit' },
    { type: 'p', text: 'Compute ad spend per unit shipped (total ad spend / units sold in same period). That is your real customer acquisition cost. Plug it into your net-profit calculation per SKU. If the channel net per unit is positive after your real CAC, the channel works. Anything else is storytelling.' },
    { type: 'h', text: 'The attribution discount' },
    { type: 'p', text: 'Apply a 25% haircut to platform-reported attributed revenue from Meta and TikTok. That is the rough conservative discount for iOS attribution loss. Yes, it is unfair. Yes, the platforms over-report. Build the discount in until the platforms fix it.' },
  ],

  'pricing-for-profit': [
    { type: 'p', text: 'Almost every e-commerce seller prices forward: take COGS, add a multiple, see what the market accepts. The reverse method — picking a target net profit per unit and building the price up to it — is rarer, harder, and almost always produces a more defensible price point.' },
    { type: 'h', text: 'The reverse model' },
    { type: 'p', text: 'Start with the net profit you need per unit (say $8 on a $40 product = 20% net). Add your real ad CAC ($6). Add fulfillment cost ($5). Add platform fees ($4 at 10%). Add landed COGS ($14). The price that produces an $8 net is $37 — and you discover the math, rather than guessing it.' },
    { type: 'h', text: 'Why nobody does this' },
    { type: 'p', text: 'Reverse pricing requires you to know your real CAC, fulfillment, and landed COGS to two decimal places. Most sellers do not. They guess, ship, and re-engineer the price downward when the bank account complains. The reverse method front-loads the painful arithmetic.' },
    { type: 'q', text: 'You cannot price what you cannot measure.' },
    { type: 'h', text: 'When the price the model produces is too high' },
    { type: 'p', text: 'If the reverse-priced number exceeds market clearing price, you have three options: cut COGS, cut CAC, or do not sell that SKU. The fourth option — "absorb the margin" — is how brands die slowly.' },
  ],

  'returns-reserve': [
    { type: 'p', text: 'A 12% return rate is not a 12% revenue hit. The accounting is more punishing, and most sellers do not run the math until the year-end shrinkage report makes them.' },
    { type: 'h', text: 'The compounding cost of a return' },
    { type: 'p', text: 'When a unit returns, you lose: the platform commission (often non-refundable), the original outbound shipping, the inbound return shipping, the labor to inspect the unit, and — if the unit cannot be resold — the entire COGS. On a typical $40 SKU at 12% return rate, the realistic net hit is closer to 18% of revenue, not 12%.' },
    { type: 'h', text: 'The reserve calculation' },
    { type: 'p', text: 'Reserve at the unit level: (return rate) × (commission lost + roundtrip shipping + inspection labor + scrap probability × COGS). Add this to your effective COGS line in every unit-economic model. It will move your net profit per unit by 2–6% of revenue.' },
    { type: 'h', text: 'The category benchmarks' },
    { type: 'p', text: 'Apparel: 25–35% return rate. Beauty: 5–10%. Electronics: 8–15%. Home goods: 10–18%. Use the high end of the band when you are new to a category. Use your real number when you have 90+ days of data.' },
  ],

  'multi-channel-allocation': [
    { type: 'p', text: 'You have 800 units of a hero SKU coming off the water. TikTok Shop wants velocity for the algorithm. Amazon needs a 60-day FBA buffer. Etsy is a long-tail trickle. Shopify is your highest-margin channel but has the lowest unbranded discovery. How do you split the inventory?' },
    { type: 'h', text: 'The allocation framework' },
    { type: 'p', text: 'Allocate by net profit per unit, weighted by sell-through velocity, capped by channel-specific operational requirements. The math: per-channel allocation = min(channel cap, total units × (channel net per unit × channel velocity) / sum of all channel weights).' },
    { type: 'h', text: 'The 800-unit example' },
    { type: 'p', text: 'Suppose Shopify nets $12/unit at 80 units/week, Amazon nets $8/unit at 200/week, TikTok nets $7/unit at 120/week, and Etsy nets $9/unit at 25/week. Velocity-weighted profitability points roughly to Amazon getting the largest share, Shopify second, TikTok third, Etsy a small reservation. The rough split: 380 Amazon, 240 Shopify, 150 TikTok, 30 Etsy.' },
    { type: 'h', text: 'The override layer' },
    { type: 'p', text: 'Override the math when (a) Amazon FBA storage fees are about to tier up, (b) a TikTok creator drop is scheduled, (c) Shopify is running a paid campaign that needs inventory cover, or (d) Etsy is a trickle channel that does not justify reserved units.' },
    { type: 'q', text: 'Allocate to the math, override for the calendar.' },
  ],

  'tax-2026': [
    { type: 'p', text: 'Sales tax in 2026 is a moving target. Marketplace facilitator laws have closed most of the obvious gaps, but the edge cases — Shopify direct sales, multi-state operations, and the new economic nexus thresholds — are where omnichannel sellers still get caught.' },
    { type: 'h', text: 'The marketplace facilitator shield' },
    { type: 'p', text: 'When you sell through Amazon, Etsy, or TikTok Shop, the platform collects and remits sales tax on your behalf in every state. You generally do not have a remittance obligation on those marketplace sales — but you may still have a registration obligation in some states for income or franchise tax purposes.' },
    { type: 'h', text: 'The Shopify gap' },
    { type: 'p', text: 'Shopify is not a marketplace facilitator. If you sell direct on Shopify and cross a state\'s economic nexus threshold (typically $100K in sales or 200 transactions, but states vary), you must register, collect, and remit. This is where multichannel sellers commonly get tripped up.' },
    { type: 'h', text: 'The tracking move' },
    { type: 'p', text: 'Run a quarterly nexus review using Shopify-direct revenue only (not blended). Use a service like TaxJar, Avalara, or Anrok to monitor thresholds. Register proactively in any state approaching threshold rather than reactively after.' },
    { type: 'p', text: 'This article is not tax advice. Consult a CPA who specializes in e-commerce before making any registration decisions.' },
  ],
};
