The true cost of e-commerce in Kenya — Shopify vs custom

What you actually pay to launch and run an online store in Kenya, broken down honestly: platform fees, M-Pesa rates, theme + app costs, and when the build-vs-buy line moves.

Every founder we meet asks the same thing about e-commerce: Shopify or build custom? The honest answer depends on three numbers — your monthly transaction volume, your average basket size, and how much your differentiation depends on bespoke flows. This post breaks down what each actually costs in Kenya, in KES, with zero hand-waving.

Shopify in Kenya — the real bill

Base subscription: USD 39 / month (Basic) — about KES 5,000 / month. That gets you the storefront, Shopify-hosted infrastructure, basic analytics, and one sales channel.

You will need add-ons:

  • M-Pesa app(Pesapal, Flutterwave, or a dedicated Daraja app) — KES 0–2,000 / month, plus transaction fees of 1.5–3.5% on top of M-Pesa's own fees.
  • Theme — KES 0 (free Dawn theme is good) to KES 50,000 one-off for a premium theme. Custom theme work runs KES 250,000+.
  • Apps — reviews (Judge.me free tier), email (Klaviyo free under 250 contacts then ~KES 4,000/mo), upsells, currency conversion. Easily KES 5,000–15,000 / month in apps for a serious store.
  • Domain — KES 1,500 / year through Truehost or KENIC.

Run rate for a small Kenyan store: KES 12,000–25,000 / month, plus transaction fees of roughly 3–5% on every sale (Shopify Payments isn't available in Kenya, so you pay both your card processor and a Shopify gateway fee).

WooCommerce in Kenya

Cheaper on paper. Hosting (Truehost, NodeOne, Hostpinnacle) starts at KES 1,500 / month. WooCommerce itself is free. Daraja plugins are free. Themes are KES 5,000–15,000.

The hidden cost is uptime and security. WordPress sites get attacked every day. You will pay for a managed-WP host (KES 5,000–15,000 / month) or a developer retainer to keep it patched. We have inherited too many broken WooCommerce stores to recommend it for serious operators — but for a side-hustle doing 30 orders a month it is genuinely the cheapest option.

Custom e-commerce (Medusa, Saleor, or bespoke Next.js)

Open-source headless commerce — Medusa.js, Saleor — gives you full control over checkout, product flows, payments, and admin. You pay for development (one-off, KES 800,000– 2,500,000) and infrastructure (Vercel + Postgres + S3, ~KES 8,000–25,000 / month).

The break-even moment, in our experience:

  • Below KES 1.5M / month in revenue → Shopify is cheaper after you account for development time.
  • Above KES 5M / month, or with 5+ payment methods, or with custom subscription/B2B pricing → custom Medusa pays for itself in 12–18 months.
  • In between → it depends on whether your differentiation is a checkout flow Shopify can't do.

M-Pesa fees: the part nobody talks about

Safaricom's C2B (Customer-to-Business) tariff is tiered. For an Lipa Na M-Pesa Buy Goods till, the merchant pays:

  • 0–100 KES → KES 0
  • 101–500 KES → KES 5
  • 501–1,000 KES → KES 10
  • ... up to KES 105 for transactions over KES 50,000.

On top, payment aggregators (Pesapal, Flutterwave, Cellulant) usually charge 1.5–3% on M-Pesa transactions to handle the API plumbing. Direct Daraja access removes the aggregator fee — but you take on the integration and reconciliation work yourself, which is not free either.

The honest comparison

For a store doing KES 800,000 / month in revenue, 200 orders, average basket KES 4,000:

  • Shopify Basic + Pesapal: ~KES 18,000 / month run rate + 4% in fees = KES 50,000 / month total.
  • WooCommerce on managed hosting: ~KES 12,000 / month + 2.5% in aggregator fees = KES 32,000 / month.
  • Custom Medusa on Vercel: KES 12,000 / month infra + KES 100,000 amortised monthly cost of build (over 24 months) + 1% direct Daraja = KES 120,000 / month, but with full control and no platform lock-in.

Our default recommendation

Start on Shopify with a custom theme. It buys you 12–18 months to find product-market fit without committing to infrastructure. When (a) your monthly revenue crosses KES 3M consistently, (b) your checkout differentiation matters, or (c) Shopify app fees exceed KES 25,000 / month, migrate to a custom headless Next.js + Medusa build. We have done this migration for two clients and it pays back within a year both times.

Want help scoping it for your numbers? Email hello@thenodenest.com with your monthly revenue, and we will send you a one-page recommendation, free.

Chat on WhatsApp