Nobody searches "Shopify migration cost" out of curiosity. You're on WooCommerce, Magento, BigCommerce, or something custom your last developer built, you've decided the platform is holding you back, and now you need a number you can put in front of a finance person without getting laughed out of the room. The problem is that most answers you'll find are either a single misleading figure ("migrations start at $5,000!") or so hedged they're useless. This guide does neither. It breaks a migration into its actual line items, gives you published pricing where published pricing exists, gives you honest market ranges where it doesn't, and tells you plainly which variables move your number the most. Where a figure comes from a vendor's own pricing page, we say so. Where it's a market range triangulated from what agencies charge, we say that too — because the difference matters when you're building a budget you'll have to defend.
The Shopify subscription is the smallest number in this entire guide
Start here because it's the only part with a public price list, and because it anchors people in the wrong place. Per Shopify's published pricing, the self-serve plans run $39/month for Basic, $105/month for Grow (the plan formerly just called "Shopify"), and $399/month for Advanced, dropping to roughly $29, $79, and $299 respectively on annual billing. Shopify Plus starts around $2,300/month on a longer-term contract and shifts to a revenue-share platform fee above a certain GMV — our Shopify Plus pricing breakdown covers the mechanics, and the general Shopify pricing guide covers the self-serve tiers in full.
Here's why that's the smallest number: over a three-year ownership window, a store on Advanced pays roughly $10,800 in subscription. A mid-market migration project routinely costs more than that as a one-time build. If you're weighing platforms on monthly subscription alone, you're optimising the least significant variable in the decision.
The subscription does matter in one specific way during migration planning, though: your plan tier changes your payment economics. Shopify's published pricing shows a third-party transaction fee applied when you use a gateway other than Shopify Payments — roughly 2% on Basic, 1% on Grow, 0.6% on Advanced, and 0.2% on Plus, layered on top of whatever your gateway already charges. If you're migrating from a platform where you had a hard-won direct relationship with a processor and you intend to keep it, price that surcharge into your first-year number before you commit, because at real volume it can exceed the plan fee several times over.
Everything else in this guide is project cost, and project cost is where the real money is.
Theme and design: free, premium, or built for you
A migration is a rebuild of your storefront, and there are three genuinely different paths here with an order-of-magnitude spread between them.
Free theme, lightly configured. Shopify's own free themes — Dawn, Horizon, and their siblings — are considerably better than the free themes of five years ago, and for a brand with a clean catalogue and no unusual layout needs, a free theme configured properly is a legitimate answer, not a cop-out. Cost: $0 for the theme, plus whatever configuration and content work you or your agency do.
Premium theme from the Shopify Theme Store. Premium themes are one-time purchases, typically in the $180–$400 range based on current Theme Store listing prices, with individual popular themes sitting around the $200–$380 mark. Add a few thousand dollars of customisation — brand colours, typography, custom sections, PDP layout changes — and you have a store that looks deliberate rather than templated. This is where a large share of small and mid-size migrations land.
Custom design and front-end build. Designed from your brand system rather than adapted from a template. Our custom Shopify website cost guide walks through this tier in detail; the short version is that custom design work on a migration typically starts in the five figures and scales with page count, how far the design departs from Shopify's native patterns, and how many bespoke templates your catalogue needs.
One honest note that saves people money: if your existing site's design is working — converting, on-brand, tested — a migration is not automatically the moment to redesign it. Porting your current design onto a Shopify theme is meaningfully cheaper than a redesign, and it removes a huge confounding variable if conversion moves after launch. Redesigning and replatforming simultaneously is a common, expensive decision that also makes post-launch diagnosis much harder.
Data migration: the DIY app route vs. done-for-you
This is the line item people most want a number for, and fortunately it's the one with the most published pricing.
Self-serve migration apps. LitExtension publishes an Automated Migration package starting at $59, with final pricing driven by a calculator based on your product, order, customer, and blog post counts. Cart2Cart works the same way — an entity-count estimator rather than a flat fee. Both also sell a done-for-you tier: LitExtension's All-in-One Migration Service is expert-run, includes most paid add-on options, and is priced from the same calculator base. Add-ons that frequently cost extra on the automated tier — customer password migration, SEO URL migration, 301 redirect generation — are worth pricing explicitly, because they're exactly the options people skip and then regret.
Matrixify is the other tool worth knowing, and it works differently: it's a bulk import/export app rather than a platform-to-platform connector, priced as a subscription. Per Matrixify's published pricing, Demo is free, Basic is $20 per 30 days (up to 5,000 products and 2,000 customers per job), Big is $50 per 30 days (50,000 products, 20,000 customers), and Enterprise is $200 per 30 days with those per-job limits removed. Those limits apply per import/export job rather than per month, which matters when you're doing repeated test runs. Most agency migrations use Matrixify for the last mile — cleaning, transforming, and re-importing data — even when a connector tool did the bulk lift.
What the app doesn't do. This is the gap that turns a "$300 migration" into a five-figure project. A connector tool moves records. It does not decide how your old platform's configurable products map to Shopify's variant model, which caps at three options per product. It does not reconcile a customer table where 12% of email addresses are duplicated. It does not know that your "shipping class" field encodes fulfilment logic that now needs to live in metafields or a Flow automation. It does not clean fourteen years of order history into something your finance team can reconcile.
Realistic budget shape: for a clean catalogue under a few thousand SKUs with tidy data, the tooling cost is genuinely in the low hundreds of dollars and the human cost is modest. For anything with messy data, non-trivial variant structures, or historical orders that matter, expect data work to be a substantial share of the total project — mapping, transformation, test imports, and reconciliation, not a single button press. Platform-specific pathways differ too: WooCommerce to Shopify and Magento to Shopify have very different data shapes and very different typical effort profiles.
Redirect mapping and the SEO workstream
Every platform has its own URL structure, and Shopify's (/products/handle, /collections/handle, /blogs/handle/post) will not match what you have now. A 301 redirect map is what stops that from resetting your organic rankings, and it's a line item that gets omitted from cheap quotes with remarkable consistency.
On capacity, Shopify's own documentation is clear: you can create up to 100,000 URL redirects on standard plans, and up to 20,000,000 on Plus, with bulk CSV import available from the URL redirects screen in admin. So the platform is not the constraint for most stores — the work is.
The work is building a two-column map of every legacy URL to its correct Shopify equivalent. Product to specific product, category to specific collection, blog post to blog post, with the homepage used only as a genuine last resort. That's a crawl of the old site, a mapping pass, a QA pass to confirm every redirect resolves in a single hop with a real 301 rather than a chain or a 302, and a post-launch monitoring period to catch what the first pass missed. On a few hundred URLs this is a day or two of careful work. On a 40,000-URL catalogue with a decade of retired products and blog content, it's a workstream with its own owner.
Budget it as a distinct line, ask any agency quoting you to show it as a distinct line, and treat its absence as a red flag rather than a discount. The technical detail behind doing it properly is in our migrating to Shopify without losing SEO rankings guide.
Apps: replacing what your plugins used to do
On WooCommerce or Magento, a lot of your store's behaviour lives in plugins or modules — some free, some one-time purchases, some already subscriptions. On Shopify, the equivalent functionality is overwhelmingly delivered as monthly SaaS. That's a real change to your cost structure, and it's the one most first-time migration budgets get wrong, because it converts a capitalised expense into a permanent operating one.
The exercise worth doing before you get any quote: list every plugin currently active on your store, and for each one write down what it actually does for the business, not what it's called. Then price the Shopify equivalent. Subscriptions, reviews, loyalty, advanced search and filtering, bundles, back-in-stock, subscriptions billing, wishlist, multi-currency logic beyond what Markets handles natively — each has a Shopify app, and each has a monthly price.
A modest stack of five or six paid apps commonly lands somewhere in the $50–$300/month range in total, and app-heavy stores run well past that. The variance is enormous because several categories — subscriptions, loyalty, personalisation — are priced as a percentage of the revenue they touch or by order volume, so your app bill grows as you do.
Two things reduce this line meaningfully. First, a real audit: a surprising share of plugins on an old store are either unused or duplicating something Shopify does natively. Second, checking whether a need is genuinely app-shaped — Shopify Functions, metafields and metaobjects, and Flow automations solve a lot of what merchants reflexively reach for an app to do, at a one-time build cost instead of a permanent subscription. That trade — one-time engineering cost versus perpetual SaaS — is worth running explicitly on your top three most expensive candidate apps.
Custom development: rebuilding what the old platform did custom
This is the single most variable component and, on complex migrations, usually the largest. Everything your current platform does that isn't standard commerce has to be rebuilt, replaced, or consciously dropped.
The categories that show up repeatedly:
- Integrations. ERP, accounting, CRM, 3PL or WMS, PIM, tax engines, EDI. Each connection is its own scoping, build, and testing exercise. Some have solid off-the-shelf Shopify connectors that cost a subscription and a day of configuration. Others need a custom app, and a custom app is engineering work priced in the thousands to tens of thousands depending on the complexity of the sync — see our custom Shopify website cost guide for how feature complexity maps to cost.
- Custom checkout or cart logic. Anything your old platform did at checkout has to be re-expressed through Shopify Functions or Checkout Extensibility, and the deeper customisations are Plus-tier capabilities.
- Pricing and promotion logic. Customer-group pricing, quantity breaks, complex stacking rules — common on Magento, and rarely a one-to-one port.
- Custom storefront functionality. Configurators, quote builders, made-to-order flows, unusual search or filtering behaviour.
The honest framing for this section: the more of your business logic lives in custom code today, the closer your migration is to a rebuild than a move. Two stores with identical SKU counts and identical revenue can differ by 5x in migration cost purely on this variable. If you want this scoped properly rather than guessed at, that's what our Shopify engineering work exists to do.
The seven variables that actually move your number
When an agency's quote for you differs from the range in an article like this one, it's almost always one of these:
SKU and variant count. Not just how many products, but how they're structured. Shopify allows three options per product on standard configurations; a catalogue built around configurable products with six attributes needs a real mapping strategy, not an import. A 500-SKU catalogue with complex variants can cost more to migrate than a 5,000-SKU catalogue of simple products.
Order history volume and how far back you need it. Migrating three years of orders is materially different from migrating fourteen. Ask yourself what you actually need historical orders in Shopify *for* — customer service lookups, returns eligibility, lifetime-value reporting — because the answer sometimes justifies migrating only recent history and archiving the rest, which can remove a large chunk of cost and risk.
Number and depth of integrations. The count matters less than the depth. One bidirectional ERP sync with real-time inventory and order writeback is more work than five read-only integrations.
Multi-store and multi-currency. Multiple storefronts, multiple markets, market-specific pricing and catalogues, and localised content each multiply the QA surface, even where Shopify Markets handles the underlying mechanics natively.
B2B requirements. Company accounts, custom catalogues per customer, volume pricing, net payment terms, quote workflows. Shopify's native B2B capability improved substantially in 2026, but B2B migrations still carry more configuration and testing than a straight DTC move.
How much custom functionality existed before. Covered above, and worth repeating because it's the biggest single swing factor.
Data quality. The least glamorous and most consistently underestimated. Duplicate customers, inconsistent SKU conventions, product descriptions with hardcoded HTML pointing at old-domain image paths, categories nobody has used since 2019. Every one of these is either cleaned before migration or carried into the new store, and cleaning is cheaper than living with it.
Three tiers, with defensible ranges
These are typical market ranges for agency-delivered migrations, not quotes, and not published rates — they're the bands most specialist ecommerce agencies operate in, and any specific project can sit outside them for the reasons listed above. Treat them as a sanity check on a quote you receive, not as a price list.
Tier 1 — Small catalogue, simple migration. Roughly $5,000–$15,000. A few hundred to a couple of thousand simple SKUs, clean data, a premium or free theme configured to brand, an app-based data migration with human QA, a redirect map in the hundreds-to-low-thousands of URLs, a handful of standard app integrations, and no meaningful custom development. Timeline typically measured in weeks. If your store is genuinely in this shape and someone quotes you six figures, ask what they're seeing that you're not.
Tier 2 — Mid-market. Roughly $15,000–$75,000. This is where most serious brands land. Larger or structurally complex catalogue, custom or heavily customised theme, real data transformation work, a substantial redirect map, two to five integrations including at least one that needs custom work, and some rebuilt business logic. Timeline typically two to four months. The spread inside this band is driven almost entirely by integration depth and how much custom functionality is being ported.
Tier 3 — Complex and enterprise. Roughly $80,000 to $200,000+. Shopify Plus replatforms off Magento, Salesforce Commerce Cloud, or a bespoke stack. Deep ERP/PIM/OMS integration, B2B or multi-store architecture, custom checkout work through Checkout Extensibility, large historical data sets, and a QA and UAT process that is itself a project phase. Timeline typically four months and up. At this tier the platform subscription genuinely is a rounding error against the build.
Two practical notes. First, whichever tier you're in, hold back a contingency — 15–20% of the project value is a reasonable planning figure for post-launch fixes, data corrections, and the things nobody scoped. Second, your own team's time is a real cost that never appears on an agency invoice: product, marketing, and ops people reviewing data, approving templates, and testing. On a mid-market project that's routinely dozens of hours of internal time.
The ongoing costs almost nobody budgets for
A migration quote is a one-time number. Your actual cost of ownership is that number plus a recurring one, and the recurring one compounds.
App subscriptions. Covered above, but worth restating as an ownership cost: the stack you assemble during migration is a monthly bill you'll pay indefinitely, and several categories scale with revenue rather than sitting flat. Model this over three years, not one month.
Transaction fees if you're not on Shopify Payments. Shopify's published pricing applies an additional platform fee on third-party gateway transactions — roughly 2% on Basic, 1% on Grow, 0.6% on Advanced, and 0.2% on Plus — on top of your gateway's own rate. On a store doing meaningful volume, the difference between plan tiers here can be worth more than the plan upgrade costs.
Card processing itself. With Shopify Payments, published online rates run around 2.9% + 30¢ on Basic, 2.7% + 30¢ on Grow, and 2.5% + 30¢ on Advanced. This isn't a migration cost — you're paying processing somewhere already — but it changes when you switch, and it belongs in the comparison.
Maintenance. Apps update and break theme compatibility, Shopify deprecates API versions on its own schedule, and campaigns need building all year. Post-migration especially, the first three to six months surface edge cases that no pre-launch QA catches. Whether that's an internal developer, a retainer, or ad-hoc project work, it's a real line — our maintenance and support retainer cost guide breaks down what each tier actually includes, and care and support is how we handle it for clients post-launch.
The mistake to avoid: approving a migration budget on the one-time number alone, then discovering the ongoing number six months later. Build a three-year total-cost-of-ownership view before you sign anything, including on the platform you're leaving, because that comparison is usually the strongest part of the business case for moving.
How to actually get an accurate quote
Agencies pad quotes when they can't see the shape of the work. The fastest way to a tighter, more honest number is to arrive with the information that removes their uncertainty. Here's what a competent agency needs from you to price a migration properly.
Platform and access. Which platform, which version, and read access to the admin — or at minimum a full data export. A quote produced without anyone looking at your actual data is a guess with a margin baked in.
Counts, precisely. Number of products, number of variants, number of customers, number of orders, and how many years of order history you want migrated. Also the number of indexed URLs — a Screaming Frog crawl or a Search Console export is ideal.
Your plugin or module list, with what each one does. Not the names alone. "We use this one for the wholesale price tiers our top 40 accounts get" is far more useful than a plugin slug.
Every system your store talks to. ERP, accounting, 3PL, CRM, email and SMS platform, review platform, PIM, tax engine, subscriptions. For each, note whether data flows one way or both, and how time-sensitive the sync is.
Whatever is custom. Anything a developer built specifically for you. If you have documentation, share it. If you don't, a list of "things our site does that we think are unusual" is genuinely valuable.
Design intent. Are you porting the current design, adapting a theme, or redesigning? This single answer can swing a quote by a factor of three, and it's the most common source of misaligned expectations.
Your constraints. Hard launch date, peak trading periods to avoid, budget ceiling, and what "done" means to you. An agency that knows your ceiling can tell you what fits inside it rather than quoting a scope you were never going to approve.
If you'd rather work through that list with someone than fill it in cold, that's exactly what a migration scoping conversation is for — and you can get in touch here.
Our take
The most expensive Shopify migrations we see aren't the ones with the biggest catalogues. They're the ones where nobody scoped the custom functionality honestly at the start, so the project discovers halfway through that a "simple move" is actually a rebuild of six years of accumulated business logic. The second most expensive are the ones that redesigned, replatformed, and restructured their information architecture in a single launch, then couldn't tell which of the three caused the conversion drop.
If you take one thing from this guide, make it this: the number you should be comparing across platforms is three-year total cost of ownership, not migration cost. Migration cost is a one-time hit against a decade of operating cost, app subscriptions, processing fees, and maintenance. A migration that costs 30% more but removes a recurring problem is straightforwardly the better deal, and a cheap migration that skips redirects and data cleanup is the most expensive option on the table — you just pay for it in lost organic traffic and support tickets instead of on the invoice.
If you want a real, scoped number for your specific store rather than a range from an article, talk to us. We'll tell you honestly which tier you're in, and if a straightforward app-based migration is genuinely all you need, we'll say that too.
If any of this sounds like your situation, talk to us. We'll tell you exactly where your revenue is leaking and what it would take to fix it. Explore Strategy & Consulting →

