Shopify → Next.js migration — decision criteria and ROI analysis
Shopify remains a solid platform up to a certain threshold of complexity and cost. When fees, third-party apps, and performance limits become constraints, migrating to a custom stack is worth evaluating. We present the decision criteria and an ROI calculation model.
Shopify remains the right choice when...
- Annual revenue under €500,000
- Catalog under 1,000 SKUs
- Standard functionality (checkout, coupons, reviews)
- Non-technical team that wants to make changes themselves
- No specific performance requirements (under 2s LCP is enough)
- You pay under €5,000/month total for Shopify + apps
Signs that Shopify has become a limit
1. Monthly costs grow without limit
Shopify Plus: €2,000/month. Plus per-transaction fee: 0.15–0.25% on top of card processing. Plus essential apps (Klaviyo €600+, ReCharge €300+, Tapcart €500+, Loyalty Lion €400+) = €4,000–€6,000/month without selling anything. At €500,000 annual revenue, you pay €60,000+/year to the Shopify ecosystem.
2. Performance capped
Liquid template engine + 47 third-party scripts from apps inevitably slow things down. Core Web Vitals are hard to keep under 2.5s LCP at medium traffic. Optimizations are limited by the platform architecture.
3. Customization impossible
Want a custom three-step checkout? Shopify Plus allows it, but it is hacky development through theme app extensions. Want a product page with an interactive calculator? Plugin or Storefront API + separate frontend — meaning you are already headless in practice.
4. Vendor lock-in increasingly painful
Customer data, product variants, discount rules — all in a Shopify schema you do not control. Migration becomes harder with every month.
Migration cost — concrete figures
| Scenario | Migration cost | Timeline |
|---|---|---|
| Headless Shopify (Next.js + Shopify Storefront API) | €15,000 – €40,000 | 3–5 months |
| Full migration to Medusa / Saleor | €30,000 – €80,000 | 5–9 months |
| Full custom on Next.js + Stripe + own DB | €50,000 – €120,000+ | 6–12 months |
ROI calculation — at what volume it pays off
Migrating to Next.js Commerce frees you from:
- Shopify Plus subscription: €24,000/year
- Essential apps (5–7): €30,000–€50,000/year
- Per-transaction fees: 0.15–0.25% × your revenue
At €1,000,000/year revenue, you save approximately €60,000–€80,000 annually. With an initial investment of €40,000–€60,000, ROI is under 12 months.
At €500,000/year: ROI 18–24 months. At €300,000/year or below: not worth it — Shopify remains more efficient.
Migration strategy — without losses
- Phase 1: Headless — New frontend on Next.js + Shopify Storefront API. Backend stays Shopify. Immediate win: performance, customization, SEO.
- Phase 2: Custom app migration — Replace expensive apps with your own functionality (loyalty, reviews, recommendations).
- Phase 3: Backend migration — Only if justified by scale. Migrate catalog, orders, customers to Medusa or your own platform.
Pitfalls to avoid
- Big-bang rewrite — Total migration in one release = suicide. Small phases, continuous deploy.
- SEO loss — 301 redirects for every Shopify URL, preserve slug structure, updated sitemap.
- Inconsistent data — Bidirectional sync during transition = conflicting sources of truth. Pick one.
- Underestimation — “It's just a website” = 9 months later, still in dev. Add 30% buffer.