Skip to content
Migration · Magento to Shopify

Magento to Shopify migration Move your store without losing what you built over the years.

We pull products, variants, customers and orders via the Magento API, verify whether prices already include VAT, rebuild the features that lived in extensions, and redirect every old URL to its new address. Your Magento store stays live until launch day.

Page-by-page redirects Fixed quote after review Usually 2–6 weeks
Short answer

What does a Magento to Shopify migration involve?

It means pulling data through the Magento API — via a dedicated integration, not the regular admin account, because 2FA blocks direct admin tokens — and writing it into Shopify, with automated verification at the end. We always check whether prices include VAT, because Magento's API typically returns prices without VAT. Every old URL from your sitemap or the url_rewrite table gets mapped to its new address with a permanent redirect. Grouped and configurable products, technical specs and categories get converted to their Shopify equivalents; custom extensions get rebuilt by hand, because there's no automatic path for them. It's quoted after a store review, usually takes 2–6 weeks, and your Magento store stays live until cutover.

Real reasons

Why merchants leave Magento

Not because Magento is weak. Because maintaining it costs people and money a mid-sized store spends better on marketing.

Fixed costs

Hosting and updates are billed separately

Dedicated hosting, security patches, backups, monitoring. On a hosted platform, all of that is folded into the subscription.

Dependency

Every change needs a developer

A new section on the product page or a different promotion means a ticket to an agency. On Shopify, you handle many of those yourself from the editor.

Authentication

Magento 2.4+ complicates API access

Two-factor authentication, on by default, blocks getting a token straight from the admin account. Every data pull needs a dedicated, carefully managed integration.

Risk

Delayed updates become breaches

An unpatched Magento install is a target. On a hosted platform, the security side of the system is the provider's job, not yours.

If none of this applies to you, you don't have a reason to migrate. We'll say so on the first call, even if it means we don't end up working together.

Entity by entity

What we move from Magento, and how

Not a generic export-import. Every data type has its own path through the Magento API, with its own pitfalls.

What we moveHow, technically
ProductsVia the Magento API (GET /V1/products), with price, stock, status and image gallery; grouped products have no dedicated endpoint — read via the parent product's "associated" links.
VariantsConfigurable products list their children via /V1/configurable-products/:sku/children; mapped onto Shopify's option system, capped at 3 option types per product.
ImagesEach image's full URL (media base + catalog/product + file path) is downloaded and re-uploaded straight to Shopify, which re-hosts it on its own CDN.
SpecsTechnical attributes (EAV) become Shopify metafields, with labels translated from the attribute's options — not the internal code.
CategoriesThe category tree becomes collections. Multi-level structure has no direct equivalent; it's rebuilt through the new theme's navigation menu.
BrandsIf brand is a separate attribute (common in Magento), it becomes a metafield or a collection filter.
CustomersVia /V1/customers, with addresses and price group. Passwords can't be moved — see below.
Order historyRecreated as history, with current stock untouched (inventoryBehaviour: BYPASS), so units already sold don't get deducted again.
PagesCMS pages (cmsPage) become Shopify pages; images in the content get re-hosted and internal links updated to the new addresses.
BlogIf the store has a news/blog module, articles become Shopify blog posts, with old addresses redirected.
ReviewsMagento has no REST API for reviews. Pulled via GraphQL (reviews on each product) or directly from the database tables, then imported into a dedicated Shopify reviews app.
CouponsCatalog price rules get recreated as Shopify discounts; very complex multi-condition rules get simplified.
RedirectsMagento doesn't expose old URLs (url_rewrite) through an API. The source of truth is a direct database export or the existing sitemap, mapped one by one to the new addresses.
Google/Meta feedsReconnected with a Shopify feed app. If you want to keep your Google Ads history, you need a custom product identifier — see below.
Upfront and honest

What can't move anywhere, and how we work around it

Four things have no direct technical path, no matter who does the migration.

Customer passwords

Magento encrypts passwords (Argon2ID13, SHA256, or even MD5 on older accounts) in a way nobody — including Magento itself — can reverse. On new Shopify stores, this isn't a practical problem anymore: customers sign in with a one-time code emailed to them the first time they log in.

Old order dates

Shopify's API doesn't allow backdating an imported order's creation date. Old orders show up chronologically as "new" in the customer's account. We tag them invisibly so your new store's theme can hide or flag them separately.

Google Ads history

The official Google & YouTube app generates a new product identifier you can't edit directly. If active ads rely on the old identifier, we use a third-party app with a custom ID or a parallel feed — an optional, separately priced add-on, not something we build in by default.

Extensions and content widgets

Page Builder {{widget}} directives embedded in old descriptions have no automatic Shopify equivalent. They get identified and rebuilt by hand, with an app or theme code — not "migrated".

Magento-specific

The gotchas we check as standard

These are exactly where a generic migration gets it wrong, by treating Magento like "any platform."

  • VAT on prices. By default, Magento's API returns prices without VAT. If your store displays VAT-inclusive prices to customers (common for EU retailers), we verify the exact setting (Stores > Configuration > Sales > Tax) before writing any price to Shopify — otherwise products come out cheaper than they were.
  • 2FA blocks admin tokens. Magento 2.4.x has two-factor authentication on by default, which won't hand out a token straight from the admin account. We create a dedicated integration, with minimal permissions on catalog, customers, orders and CMS, deactivated right after extraction.
  • Grouped products have no endpoint of their own. Read via the parent product's "associated" links — there's no separate "grouped products" API, because it doesn't exist.
  • Redirects don't come from an API. The url_rewrite table isn't exposed via REST. We work from a direct database export or the existing sitemap.
  • Shopify's free "Store Migration" app doesn't list Magento at all. It only supports Square, WooCommerce, Etsy, Wix, Amazon, eBay, Clover and Lightspeed — none of which is Magento. For Magento, a dedicated tool or a third-party provider (Matrixify, LitExtension, Cart2Cart) remains the only option, each with its own limitations.
Quality control

Automated verification at the end

Once data is written to Shopify, we count and compare — we don't assume it "probably worked".

  • Counts: how many products, customers and orders landed in Shopify, compared against Magento.
  • Product sample: we manually check price, stock, images and specs on a sample, not just the first results.
  • Redirect coverage: we verify what percentage of old URLs has a new mapped destination.
  • A written report, with what moved, what's left to verify manually, and what we need you to confirm.
The cutover

Launch day, step by step

Order matters. Most problems happen when the domain switches before everything else is verified.

  1. Final sync

    We re-run extraction for any order, stock change or new customer that appeared on Magento since the last pull.

    a few hours before
  2. Domain switch

    Technically redirecting the store's address, ideally during a low-traffic window.

    highest-impact step
  3. The checks

    An old product URL lands in the right place, cart and checkout work, prices and stock are correct, an existing customer can log in.

    manual, on a sample
  4. Google feed

    We turn on the new product feed and verify the ad history isn't lost.

    before traffic
  5. Conversions

    Tracking scripts (Google Ads, Meta, Analytics) installed correctly on the new store, so running ads keep counting sales without a gap.

    after launch
No invented numbers

What it costs, and what moves the price

The price is quoted after we see your store — there's no fixed rate that works fairly for everyone.

  • How many products and variants you have, and how many are grouped or configurable.
  • How many custom extensions need replacing with Shopify apps or theme code.
  • How clean your current URL structure is — a few thousand disorganised URLs cost more to map than a few hundred tidy ones.
  • Whether you also want reviews migrated — a secondary path, not a direct API one.
  • How many integrations (couriers, invoicing, payments) need testing before launch.

As a reference, a new Shopify store build starts from €950 + VAT. A full migration is typically a larger project, because it includes verifying the old data too.

Honestly

When migration isn't worth it

If your Magento store runs well, you have a developer handling updates, and the real monthly cost doesn't exceed what you'd pay on a hosted platform plus a few apps, you don't have a technical reason to migrate. Migration makes sense once maintenance — hosting, security patches, a developer for every small change — has grown to cost more than a Shopify subscription, not "because Shopify is trendy." A small catalog, with no custom extensions and no meaningful organic traffic to protect, can try a simpler import with lower risk.

The genuinely risky part

How we protect your Google rankings during the move

This is where migrations fail. Not in the product transfer, but in old URLs left without a redirect.

  1. URL inventory

    We pull every existing URL from the sitemap and, if needed, from a database export, with each one's traffic and rankings.

    before anything else
  2. One-by-one mapping

    Every old URL gets a new destination. Anything without a direct match goes to the closest matching category, not the homepage.

    the tedious part
  3. Permanent redirects

    Set at cutover, tested in bulk, checked for chains or loops.

    on launch day
  4. Post-launch monitoring

    New sitemap submitted to Search Console and Bing, indexing errors tracked daily for the first few weeks.

    after launch

See how we handle the same work for other platforms: WooCommerce migration or PrestaShop migration.

Frequently asked questions

Questions about Magento migration.

Can't find your answer? Message us on WhatsApp at +40 785 735 820.

How much does a Magento to Shopify migration cost?

It's quoted after we review your store, because the price depends on how many products and variants you have, how many custom extensions need replacing, and how clean your current URL structure is. You get a fixed quote before we start. As a reference, a new Shopify store build starts from €950 + VAT.

Will I lose my Google rankings after migration?

The risk drops a lot when the migration is done properly. We pull every URL from your current sitemap, map each one to its new address and set up permanent redirects, keeping the titles and copy that were already ranking. A temporary dip of a few weeks is normal; pages disappearing without a redirect is not.

Do Magento prices already include VAT when we move them to Shopify?

We never assume: we check directly in your Magento admin whether customer-facing prices include VAT. Many Magento installs return prices without VAT from the API, and writing that value straight into Shopify would make products appear cheaper than they really were. We fix this before any price is written.

What transfers and what doesn't?

Products with variants, images and technical specs transfer, along with categories, customers and order history. Passwords don't transfer (they're encrypted beyond recovery), and neither do Magento extensions: every custom-built feature has to be rebuilt as a Shopify app or theme code. That's exactly what we check before quoting.

How long does a Magento migration take?

Usually two to six weeks, depending on the number of products, how many are grouped or configurable, and how many special features need rebuilding. Your Magento store stays live until launch day, so you don't lose sales while we work.

What happens to customers' old orders?

We recreate them in Shopify as history, without touching current stock. The real limitation: Shopify won't let you backdate an order's creation date, so they show up chronologically as "new" in the customer's account. We tag them so your new theme can treat them separately if you want that.

Why leave Magento if it's working fine?

If it works and you have a developer maintaining it, you don't need to. People migrate because they're paying separately for hosting, security patches and every small change, and the total cost ends up higher than a hosted platform. If that's not your situation, we'll tell you honestly it's not worth it.

Sell Easy First step

Send us your store's address.

We look at how many products you have, which extensions you use and what your current URLs look like, then tell you what can move, what needs rebuilding and what it costs. The review doesn't commit you to anything.

Your free plan, within 24 hours:

  • how many people search Google for what you sell, and what a click costs;
  • a 29-point check of your current store;
  • 3 fixed, written price options to choose from.

No obligation. I check every plan personally before it goes out. The team takes on at most 5 new projects a month. Andrei Alexandru, founder

Prefer to talk? WhatsApp or +40 785 735 820.

In the contract: the store, the domain and the data are in your name · projects are paid 50% at the start and 50% at launch · ads and maintenance can be cancelled month to month, with no exit fee.