If you run Magento 2, either Magento Open Source or Adobe Commerce, and you're weighing a move to Shopify, three questions decide whether it's a good idea: will your data fit Shopify's model, how long will the move take, and what will drive the cost. This guide covers the Magento-specific parts: a data mapping table, what doesn't map cleanly, the phases of a migration and what stretches them, the cost drivers, and a cutover plan.
Redirects and SEO work the same way whatever platform you leave, so we cover them in a separate guide: how to migrate to Shopify without losing rankings. You won't find durations or prices here. They depend on your store, so we list the factors that set them instead.
Check your Magento support dates first
Your Magento version sets a deadline: by that date you either upgrade or leave. Adobe's lifecycle policy (last updated September 18, 2026) lists these dates for Adobe Commerce:
| Version | End of standard support | End of extended support |
|---|---|---|
| 2.4.6 | August 11, 2026 | August 31, 2027 |
| 2.4.7 | May 31, 2027 | May 31, 2028 |
| 2.4.8 | May 31, 2028 | Not announced yet |
| 2.4.9 | May 31, 2029 | Not announced yet |
- 2.4.4 and 2.4.5 are past extended support. They get only a one-time, security-only transitional period that ends May 31, 2027. Version 2.4.6 also gets one, ending May 31, 2028.
- Adobe Commerce on Cloud: from June 1, 2027, Adobe says it will no longer maintain Cloud environments running unsupported versions, and that this includes suspending traffic, so the storefront goes offline.
- Magento Open Source: Adobe's lifecycle policy is written for Adobe Commerce. Don't assume the extended support dates apply to Open Source. Check the release notes and security patches for your release line.
Check your PHP version too. The same Adobe page lists PHP 8.1 as end of life on December 31, 2025 (affecting 2.4.4, 2.4.5 and 2.4.6 where PHP 8.1 is used) and PHP 8.2 on December 31, 2026 (affecting 2.4.6 where PHP 8.2 is used). Adobe says PCI compliance is at risk from those dates and advises planning an upgrade or migration before the end of 2026.
If you're on 2.4.8 or 2.4.9, you have time to plan a migration properly. If you're on 2.4.6 or older, work backwards from your date. A migration squeezed by a support deadline is where corners get cut.
Magento to Shopify data mapping
Magento's data model is flexible (EAV attributes, several product types, a website → store → store view hierarchy). Shopify's is simpler and more fixed. Most of the migration work is deciding where each Magento concept lands.
| Magento 2 | Shopify | What to watch |
|---|---|---|
| Simple product | Product with one variant | Straightforward. Map SKU, weight, price and stock per location. |
| Configurable product and its child simples | One product with variants | Up to 2,048 variants and 3 options per product. Many older articles still quote 100 variants. |
| Configurable product with 4+ attributes | Split into separate products, merge attributes, or use an app | Options beyond three aren't supported natively. Shopify points to App Store apps or line item properties. |
| Custom options (text fields, file uploads, per-order choices) | Line item properties in the theme, or an app | These aren't variants. They don't track inventory. |
| Bundle and grouped products | A bundles app, or a custom build with a Cart Transform function | No one-to-one equivalent. Decide how the bundle should price and deduct stock. |
| Attributes and attribute sets | Metafields (category metafields where Shopify's taxonomy has a match, custom definitions otherwise) and metaobjects | Decide which attributes drive storefront filters. Product CSVs can carry many metafield types. |
| Category tree | Collections plus navigation menus | Collections are flat. Rebuild the hierarchy in menus. Automated collections can match on tags or metafields. |
| Store views (language, currency) | Markets on one store | Markets handle languages, currencies, domains or subfolders and product availability per market (Shopify Markets vs expansion stores). |
| Separate websites (different catalog, settings, team) | Expansion stores on Shopify Plus | Plus includes one main store and nine expansion stores. Products, collections and inventory don't sync between them. |
| Customer groups | Customer tags and segments (retail), or B2B companies (wholesale) | Group-based pricing needs B2B catalogs or an app. |
| Tier prices and wholesale pricing | B2B catalogs with quantity rules and quantity price breaks | Available on all plans, but Basic, Grow and Advanced are limited to 3 active catalogs. Plus has unlimited catalogs. |
| Catalog and cart price rules | Automatic discounts, discount codes, or a Discount function | Rule logic rarely translates one to one. List every active rule and its business purpose. |
| Customers and addresses | Customers | Passwords can't be migrated. Customers need to set up access again (customer accounts guide). |
| CMS pages | Pages | Page Builder markup usually needs cleaning up. |
| CMS blocks and widgets | Theme sections, or metaobjects for reusable content | Rebuild instead of pasting HTML. |
| Product reviews | A reviews app | Pick the app first and check its import format. |
| Orders, invoices, credit memos | Historical orders with transactions | Import via API or a migration app. orderCreate allows only one discount code per order. |
| Gift cards and store credit (Adobe Commerce) | Shopify gift cards and store credit | Migration apps or the GiftCard API. Carry balances, not history. |
Shopify's own guidance is to import products first, then customers, then historical orders, so that orders link to the right products and customers.
What doesn't map cleanly
Custom checkout logic
On Magento, developers can change the checkout in PHP and JavaScript. On Shopify, checkout is customized with checkout UI extensions (interface) and Shopify Functions (logic such as discounts, delivery and payment rules, validation and cart transforms). Two plan rules matter:
- Checkout UI extensions on the information, shipping and payment steps are available only on Shopify Plus.
- Stores on any plan can use public App Store apps that contain Functions, but only Plus stores can use custom apps that contain Functions.
So "we have a custom checkout step" can decide your plan. List every checkout change on Magento and map it to an extension, a Function or an existing app before you pick a plan (what each plan can customize).
Extensions
A typical Magento store runs dozens of modules. For each one, decide which bucket it falls into:
- Shopify does it natively (for example, Markets instead of a currency switcher module).
- An App Store app does it. Note the monthly fee.
- It needs a custom app, because the logic is specific to your business (custom vs public apps).
- Nobody uses it. Drop it. Old Magento stores usually carry modules that no longer do anything.
ERP, PIM and other integrations
Magento stores often have an ERP, PIM, WMS or marketplace connector talking to Magento's APIs. Each of those connections has to be rebuilt against Shopify's GraphQL Admin API or replaced with a connector that supports Shopify. Check that any product sync uses Shopify's current GraphQL product APIs. Shopify's changelog for the 2,048-variant change warns that apps that don't may give a downgraded or broken experience on products with more than 100 variants (REST to GraphQL guide, our integrations work).
Migration timeline: phases and what changes their length
We won't quote a generic duration, because the same phase can take days on one store and months on another. Here are the phases and what stretches each one.
- Discovery. Inventory products, product types, attributes, store views, extensions, integrations, checkout changes and traffic by URL. It takes longer with several websites, undocumented customizations or no access to the original developers.
- Data mapping. Fill in a table like the one above for your store, with a decision for every attribute and rule. Configurable products with more than three options, heavy use of custom options and complex price rules add the most time.
- Build. Theme, apps, custom apps, checkout extensions, integrations and redirects. Integrations and checkout logic usually set the critical path, not the theme.
- Test migrations. Run full rehearsal imports into a Shopify store, then check counts, prices, variants, customer data and order totals against Magento. Plan for more than one run. Shopify documents a limit of five new orders per minute for
orderCreateon development and trial stores, so a large order history can't be rehearsed quickly there. Decide early how much order history you really need. - Cutover. Freeze, delta migration, DNS switch (see below).
- Post-launch. Watch for 404s, failed integration syncs, tax and shipping errors, and customer login support requests. Fix and tune.
The factors that change the total most:
- Number of SKUs, and how many configurable products exceed Shopify's option limit.
- Number of websites and store views, and whether they become Markets or separate stores.
- Number of active extensions that need an app or a custom build.
- Number of integrations, and whether the other systems' vendors support Shopify.
- B2B requirements (company accounts, catalogs, payment terms, quotes).
- Volume and quality of historical data. Dirty data costs more to migrate than big data.
- How quickly your team can make decisions and test.
What drives Magento to Shopify migration cost
Like the timeline, cost follows scope. The drivers, roughly in order of impact:
- Custom logic: checkout changes, pricing rules, configurators and B2B workflows that need Functions, checkout extensions or custom apps.
- Integrations: each ERP, PIM, WMS or marketplace connection that has to be rebuilt and tested.
- Catalog complexity: product types, attribute count and products that break the three-option rule.
- Data volume and cleanup: orders, customers, reviews and gift cards to move, and how much cleaning they need first.
- Store structure: Markets on one store, or expansion stores with their own setup.
- Theme: adapting an existing Shopify theme versus a custom design.
- Rehearsals and QA: how many test migrations, and who reconciles the data.
- Running costs after launch: the Shopify plan (Plus if your checkout or store structure needs it), app subscriptions that replace extensions, and hosting for any custom app with a backend.
For how to read and compare quotes, see Shopify developer cost drivers and how to read a quote. Ask every vendor to split the migration into the six phases above, with assumptions and exclusions.
Magento to Shopify migration checklist
Use this as a one-page summary of the steps above before you ask for quotes or start a project.
- Note your Adobe Commerce or Magento Open Source version, its support end date and your PHP version.
- Export a list of product types, attribute sets, store views, websites and customer groups.
- Flag configurable products with more than three options or more than 2,048 variants.
- List every active extension and put it in a bucket: native, App Store app, custom app or drop.
- List every checkout change and map it to a checkout UI extension, a Function or an app, then confirm the Shopify plan it needs.
- List integrations (ERP, PIM, WMS, marketplaces) and confirm each vendor supports Shopify's GraphQL Admin API.
- Decide how store views and websites map to Markets or expansion stores.
- Decide how much order history you need, and in what order data is imported (products, customers, orders).
- Build the URL redirect map and test it before DNS changes.
- Rehearse the migration at least once and reconcile counts, prices and order totals.
- Agree the freeze window, the delta migration and the customer account message.
Cutover plan
- Agree a freeze window. No catalog, price or content edits on Magento from the last full import until launch. Orders keep coming in.
- Run the last full import before the freeze, then reconcile counts against Magento.
- Turn off staff order notifications before importing orders. Shopify notes that every staff member set to receive new order notifications gets an email for each imported order.
- Run a delta migration at cutover: the customers and orders created or changed since the last full import.
- Import and test redirects before DNS changes (redirect and SEO steps).
- Switch integrations. Point the ERP and other systems at Shopify and stop Magento's order exports so nothing is processed twice.
- Switch DNS. Shopify's manual setup uses an A record to
23.227.38.65(plus an AAAA record) and awwwCNAME toshops.myshopify.com. Allow up to 48 hours for the domain to be fully live. - Place real test orders with each payment method, then refund them.
- Keep Magento read-only and backed up for a while, so you can look up old data.
- Tell customers how to access their account on the new store.
When staying on Adobe Commerce is the right call
Shopify isn't the right move for every Magento store. Consider staying, or at least delaying, if:
- You recently upgraded to 2.4.8 or 2.4.9 and your store works. Standard support runs to May 2028 and May 2029.
- Your B2B workflows are deep and custom, and Shopify's B2B features plus apps can't cover them without a lot of custom development.
- Your products are configurators, with many options, dependent choices or per-order pricing that would need a custom app on Shopify anyway.
- You need several websites that share customers and catalogs in ways that expansion stores, which don't sync with each other, would make harder.
- Your checkout changes need Plus, and Plus doesn't fit your budget.
- You have a strong in-house Magento team and no platform problem to solve, only a version upgrade to do.
In these cases an upgrade, or a move to Adobe Commerce as a Cloud Service, can be cheaper and less risky than a replatform. If your pain is hosting, patching and extension conflicts, Shopify usually removes more work than it adds.
Want help with your Magento migration?
We plan and run Magento to Shopify migrations: data mapping, test migrations, integrations, checkout extensions and cutover. Send us your Magento version, store URL and a list of extensions and integrations through our Magento to Shopify migration service, and we'll tell you honestly whether moving makes sense before we quote.
Sources
- Adobe: Adobe Commerce software lifecycle policy
- Shopify Help Center: Adding variants (variant and option limits)
- Shopify developer changelog: The product variant limit is now 2048 for all merchants
- Shopify Help Center: Transferring data to Shopify
- Shopify Help Center: Importing and exporting customer lists
- Shopify Help Center: Shopify B2B features by plan
- Shopify: Markets
- Shopify Help Center: Expansion stores for Shopify Plus
- Shopify: Function APIs
- Shopify: Checkout UI extensions
- Shopify: orderCreate mutation
- Shopify Help Center: Connect a third-party domain manually


