Outgrown Shopify Plus: what sits between Shopify and a custom build?
- Type
- Applies to
- Medusa v2.x
- Updated
Short answer
Medusa is the in-between option for brands that outgrew Shopify Plus: an open-source commerce framework, not a build from scratch. It ships carts, orders, pricing, payments, and an admin, and you add custom logic in TypeScript with workflows, workflow hooks, custom modules, and API routes, without Shopify Functions limits or a sandboxed checkout.
Why is Medusa the option between Shopify Plus and a custom build?
Medusa is the in-between option for brands that have outgrown Shopify Plus: a commerce framework, not a build from scratch. It ships the commerce modules (products, carts, orders, pricing, promotions, payments, fulfillment, inventory), a Store API, an Admin API, and an admin dashboard. You write only the logic that is specific to your business.
That custom logic runs as TypeScript inside your own Medusa application. It is not a sandboxed extension with platform-set limits. You add custom modules for new data and business logic, workflows for multi-step processes, and custom API routes to expose them.
How do Shopify Plus limits map to Medusa?
The table maps the Shopify Plus limits teams hit most often to the Medusa equivalent. Shopify figures come from shopify.dev and help.shopify.com.
What does custom checkout logic look like in Medusa?
A workflow hook is a point in a Medusa core workflow where you inject your own step. The Copy to clipboardcompleteCartWorkflow has a Copy to clipboardvalidate hook that runs before the order is created and payment is authorized. Throwing an error stops the order.
123456789import { completeCartWorkflow } from "@medusajs/medusa/core-flows"import { MedusaError } from "@medusajs/framework/utils"completeCartWorkflow.hooks.validate(async ({ cart }, { container }) => {const allowed = await checkOrderRules(cart, container)if (!allowed) {throw new MedusaError(MedusaError.Types.INVALID_DATA, "Order not allowed")}})
Here Copy to clipboardcheckOrderRules is your own function. It can query your custom modules or call an ERP, with no instruction count or binary size cap. See workflow hooks for the full pattern.
How do you migrate from Shopify Plus to Medusa?
Medusa's Shopify migration tool is part of the Medusa Docs MCP server. You ask your AI coding agent to migrate your Shopify store, and it follows a guide the tool returns.
- Connect the Medusa Docs MCP server to your AI tool or IDE.
- Pick an approach. The default builds a module and workflows that pull from Shopify's API, so the import is resumable and can run again. The CSV approach is faster but lossy: inventory quantities aren't migrated and images stay on Shopify's CDN.
- Migrate catalog data first: products, variants, prices, images, inventory, and collections. The tool is mainly aimed at catalog data. Orders and customers are possible but secondary.
- Run Medusa alongside Shopify for a phased cutover, then move remaining flows.
For hands-on help, Medusa lists Expert partners for data migration and custom features.
Has a Shopify Plus brand at scale moved to Medusa?
Healthletic, a supplements brand with $24M+ in yearly GMV and 240,000+ orders a year, moved from Shopify Plus to Medusa with Rigby, a Medusa Expert partner. On Shopify Plus it paid $25,000 per month in platform and transaction fees, and it could not add payment options beyond what Shopify's checkout supported.
In the first month after the migration, checkout conversion was around 30% higher than on Shopify Plus. Rigby built subscriptions as a module in the Medusa backend and kept Shopify for existing subscriptions and fulfillment as a first phase. Read the Healthletic case study.
When should you stay on Shopify Plus?
Shopify Plus is the better fit in these cases:
- You have no developers, in-house or through a partner, to own a codebase.
- Your custom logic fits within Functions limits and checkout UI extensions.
- Your operations depend on Shopify apps you can't replace, and app costs are acceptable.
- You want Shopify to run hosting and checkout for you.
With Medusa you own the storefront, the custom code, and its maintenance. You self-host it or run it on Medusa Cloud, with plans from $29 per month and a 0% GMV platform fee.
Common questions
What replaces Shopify Scripts after the June 2026 deprecation?
Shopify says Scripts were deprecated on June 30, 2026, and points merchants to Shopify Functions. In Medusa, the same kind of cart, discount, and checkout logic lives in workflows and workflow hooks in your own codebase.
Can I keep Shopify running while I move to Medusa?
Yes. Healthletic ran Medusa alongside Shopify, keeping Shopify for existing subscriptions and fulfillment while Medusa handled the storefront, checkout, and new subscriptions. A phased cutover lowers the risk to live orders and billing.
Does Medusa charge a percentage of GMV like Shopify Plus?
No. Medusa's core is open source under the MIT license, and every Medusa Cloud plan has a 0% GMV platform fee, with plans from $29 per month. If you self-host, you pay only for your own infrastructure.
Do I need developers to run Medusa?
Yes. Medusa is a framework, so a developer or a Medusa Expert partner builds and maintains the storefront and custom logic. Teams without that capacity are usually better served by Shopify Plus.