
A Magento to Shopify migration moves your catalogue, customers and order history reliably. It does not move your theme, your extensions, your URL structure, your customer passwords, or any business logic that lives inside a Magento module. For a mid-sized store, 2,000 to 20,000 SKUs, expect ₹3,00,000 to ₹12,00,000 and six to ten weeks end to end. Data-only migration on an existing theme can land under ₹1,50,000. Anything quoted at ₹40,000 for a full replatform is a CSV import with a free theme on top, and you will pay for it twice.
We have run this migration for brands on Magento 1 that never upgraded, on Adobe Commerce installs with eleven paid extensions, and on stores where the Magento developer had left two years earlier and nobody had the server credentials. The pattern is consistent: the data is the easy part.
These move with a migration tool or a custom script, and they survive the move intact:
Two things to know about order history. Migrated orders are read-only records: you cannot refund against them, edit them, or link them back to a Razorpay transaction. And customer lifetime value calculations in Shopify's reporting will pick them up only if the customer email matches exactly, so deduplicate before import, not after.
Passwords. Magento hashes them differently and there is no way to bring them across. Every customer has to reset. If you are on Shopify's new customer accounts, this is less painful than it sounds because login is a one-time code to email, no password at all. Communicate it anyway, ideally in the first post-launch email, or your support inbox fills up on day two.
Configurable products with more than three attributes. Magento lets you build a product with size, colour, fit, fabric and sleeve length. Shopify allows three options per product. The variant ceiling has been raised well past the old 100-variant limit, but three options is still three options. Apparel and furniture catalogues hit this hardest. The workarounds are real but each has a cost: split into multiple products and lose the single PDP, or add a variant-option app and accept an extra script in your critical rendering path.
Custom attributes. Magento's EAV model means you may have forty attributes on a product, and half of them drive layered navigation. On Shopify these become metafields plus tags. Metafields are fine, they are queryable in Liquid and in the Search & Discovery filters, but somebody has to define the schema and map every value. On a 12,000-SKU catalogue this is the single largest line item in the data workstream, and it is manual work no tool does well.
Extensions. Every paid Magento extension is a decision. Some map one-to-one to a Shopify app. Some map to native Shopify features you no longer need to pay for. Some have no equivalent and you are looking at a custom build, which is where a private app or a theme app extension earns its cost. Tiered B2B pricing, quote-to-order flows, complex multi-warehouse shipping matrices and customer-group-specific catalogues are the four that most often force a rethink.
Multi-store. Magento's single-admin, multiple-storeviews setup does not exist on standard Shopify. Two brands or two country stores means two Shopify stores, two subscriptions, two app bills. Shopify Markets covers currency, language and domain routing for one brand selling internationally, and for most Indian D2C brands expanding into the UAE or the US, Markets is enough. Two genuinely separate catalogues is where you start pricing Shopify Plus and its expansion stores.
This is where migrations go wrong permanently. Magento product URLs typically end in .html and sit at the root or under the category path. Shopify forces /products/, /collections/, /pages/ and /blogs/ prefixes. You cannot change that. So every indexed URL on your site changes, and every one needs a 301.
Build the redirect map from three sources, not one: a full crawl of the live Magento site, your Google Search Console page report for the last 16 months, and your top landing pages from GA4. Crawls miss orphaned pages that still earn traffic. Upload the map as a CSV in Shopify admin before DNS switches, not after.
Two Shopify limitations to plan around. Redirects ignore query strings, so your layered navigation URLs (?product_list_filter=colour) cannot be redirected individually. Canonicalise them to the parent collection instead and let them drop. And Shopify will not redirect a URL that currently resolves to a live page, so watch for handle collisions.
Even with a clean map, expect organic traffic to wobble 10 to 25 percent for two to six weeks while Google reprocesses. It recovers. What does not recover is a migration launched with a partial redirect map, and we have inherited enough of those to say it plainly. If organic is more than a third of your revenue, budget for a redirect audit and post-launch monitoring as a separate line, not as a favour thrown in at the end.
Shopify Payments is not available in India, so you are on Razorpay, Cashfree, PayU or a similar gateway. Shopify applies an additional transaction fee on third-party gateways depending on your plan, on top of your gateway MDR. Model both before you sign, because on a ₹2 crore annual run-rate the difference between plans is real money.
COD is the bigger change. On Magento you probably had a custom module doing pincode-based COD availability, an OTP check, a partial advance, and an order-value cap. On Shopify each of those is an app or a Shopify Function. Functions are genuinely good now: payment customisation and delivery customisation rules run server-side at checkout with no script tax. But payment customisation Functions require Shopify Plus. On Basic or Growth you are hiding COD with a workaround, and the workarounds are visibly worse.
GST invoicing is not native. You need an app, or a connector into your accounting stack, and the tax invoice needs your GSTIN, HSN codes and place of supply. Set HSN as a product metafield during migration rather than adding it later across 8,000 SKUs. If you sell packaged food, carry FSSAI licence numbers and declarations over as metafields too, so they render on the PDP without a theme edit per product.
Nothing from your Magento front end transfers. Not the PHTML templates, not the LESS, not the Knockout components. You are rebuilding in Liquid on an Online Store 2.0 theme, and this is where most of the timeline goes.
The upside is measurable. Magento stores we have migrated typically arrive with a 3.5 to 5 second LCP on 4G, weighed down by Require.js bundles and eight extension scripts. A clean Dawn-based build with properly sized images and no more than five apps loading on the storefront lands under 2 seconds, often near 1.5. That is not a theoretical benefit. On mobile-heavy Indian traffic, where a large share of sessions are on mid-range Android over patchy networks, it shows up in add-to-cart rate within a fortnight.
Resist rebuilding your Magento theme pixel for pixel. Half of what is in there is Magento working around Magento.
Rough ranges from our own project history, for an agency in India delivering to Indian, UAE or US brands:
Shopify Plus starts around $2,300 a month billed annually. It is worth it if you need B2B on the same store, payment customisation Functions, checkout extensibility beyond the basics, or expansion stores. It is not worth it at ₹5 crore GMV with a single D2C catalogue and no B2B. We tell brands that regularly and lose the upsell. Our full breakdown of Shopify development costs in India goes deeper on where the money actually goes.
Order of operations that works:
Do not launch in the fortnight before a festive peak. We have said no to October cutovers for exactly this reason. A migration launched three weeks before Diwali gives you no room to fix a checkout edge case, and there is always one.
If your revenue is mostly B2B with negotiated per-customer price lists, credit terms and quote workflows, Adobe Commerce still does that better out of the box than Shopify does without Plus. If you have 500,000 SKUs with deep attribute-driven navigation, Shopify's three-option limit and collection model will fight you every week. And if you already have an in-house PHP team who know the codebase, the ongoing cost argument for Shopify is weaker than the sales decks suggest.
Everyone else, and that is most D2C brands under ₹100 crore, is spending more on Magento hosting, patching and developer retainers than the entire Shopify stack would cost.
If you want a real number rather than a range, send us your extension list, your SKU count and a Search Console export of indexed pages. That is enough for us to scope a migration properly, and we will tell you if the answer is to stay put. A free audit is the fastest way to start.