← All guides8 min read

How to migrate from Magento to Shopify with Move to Shopify

A walkthrough of every step in the Move to Shopify wizard: creating a read-only Magento admin, filling the wizard, watching the build, reviewing staging, and transferring to your Shopify account for €129.

This is the same walkthrough we send to every merchant who emails us asking what the wizard actually does. It maps every step in the /start wizard to what is happening on our end and what you need to do on yours. Read it once before you click Start your migration.

Before you start: create a read-only Magento admin

The wizard needs a Magento admin account it can log into to read your catalogue, customers, and orders. Create a fresh one rather than sharing your own login — you can delete it the moment we are done.

In your Magento admin:

  1. System → User Roles → Add New Role. Name it migration-read. On the Role Resources tab, choose Custom and enable only the view permissions you need (Catalog, Customers, Sales, Stores, Content). No save / delete / write checkboxes.
  2. System → All Users → Add New User. Username migration-read, any password you like, role = the role you just created.
  3. Note the username and password. You will paste them into the wizard.

If your store is behind a firewall or IP allow-list, allow our migration runner's outbound IP for the duration of the build (we will email you the IP once the request is in).

Step 0 — How this works

When you land on /start?source=magento, the first screen is a read-once briefing: four cards explaining what the deal is. Read it, click Get started.

We show this every time because the deal really is this simple, and about half the merchants who land here have been quoted thousands by other agencies and need a moment to recalibrate.

Step 1 — About you

Two required fields: your name and the email address you check daily. The optional Role chips help us label the request internally — pick whatever fits.

The email is where the staging link, payment link, and final transfer confirmation will arrive. Pick an inbox you actually read. Shared info@ aliases tend to lose the staging email in triage.

Step 2 — Connect Magento

This is the only step where typos cost you anything. The fields are:

  • Magento store URL — your live admin domain. The wizard strips https:// and any path, so you can paste either shop.example.com or the full https://shop.example.com/admin/ and it will normalise to a hostname before submitting.
  • Admin usernamemigration-read, the user you created above.
  • Admin password — paste the password you set. It is stored encrypted at rest with a per-merchant key, used only by the migration runner, and we delete it on request after the migration is finished.
  • I confirm this admin account has read-only permissions — check this. The wizard will not let you continue without it. We read this as your standing instruction that we have permission to log in once and pull data; we never write anything back.

When you click Continue, our backend probes your store at the domain you gave us. We are not migrating anything yet — we just try to log in. If we cannot, the wizard tells you why with a specific error in front of the right field:

ErrorWhat we found
"That doesn't look like a valid Magento store domain. Hostname only, no https://."The URL did not parse. Strip the protocol and path.
"We couldn't reach that domain. Is the store online and resolvable on the public internet?"DNS or a firewall blocked us.
"We couldn't log into Magento with those credentials."Login form rejected the username/password.
"Magento rate-limited our login attempt. Wait a minute and try again."Too many recent failed logins. Pause, retry.

Fix the field, click Continue again. The probe re-runs.

Step 3 — Your new store

Three fields plus an optional one.

  • Desired shop name — the subdomain we will reserve on Shopify. Lowercase letters, numbers, and hyphens; 3 to 60 characters. The wizard pre-strips invalid characters as you type. Pick something close to your live brand: nordkap, vela-living, acme-eu. The result will be <name>.myshopify.com. You can attach a custom domain later — Shopify makes this trivial.
  • Target country — sets the default tax, shipping, and address formats on the new Shopify store.
  • Default currency — auto-fills from the country, but you can override (multi-currency stores typically pick the base currency here and add the rest as Shopify Markets after launch).
  • Notes for the migration (optional) — anything unusual about your Magento data: custom attributes, weird taxonomies, multi-store filters, legacy extensions. These notes are read by a human before the build kicks off. We do not do design work, but data quirks are fair game.

A representative note we found useful:

We use a custom 'kit-of-the-month' product attribute on bundles. Two stores share the same Magento install. We only want products from store_id=1.

Step 4 — Review & submit

The review screen lists every value you entered, with the password masked. Read once, hit Submit & start migration.

Submitting does not charge anything. There is no card on file. The €129 is charged the moment you click Pay €129 & transfer store on the staging page, and only then.

You are redirected to your status page at /status/<token>. The URL is unguessable; bookmark it.

What we do next

As soon as you submit, our pipeline runs through these phases. The status page reflects each one in real time and polls every 10 seconds for updates. You can leave the tab open or come back later — the URL is permanent.

  1. Received. Pipeline queued. Usually we start the build within one business hour.
  2. Building (read). We log in to your Magento store with the credentials you gave us, pull the catalogue, customers, orders, categories, and the URL rewrite table. Read-only, single connection.
  3. Building (transform). Magento's data shape (configurable products with EAV attributes, customer groups, M1/M2 URL keys) gets reshaped into Shopify's product/variant/metafield model.
  4. Building (load). A fresh Shopify development store is created at <your-name>.myshopify.com and every record we pulled is pushed in. The status page shows a running counter: records loaded, records failed, current phase.
  5. Ready for review. You get an email with a private staging link. The status page flips to Ready to ship and the transfer card appears with the €129 button.

Reviewing staging

Spot-check the things that matter to your team. There is no time pressure: staging stays parked for 30 days. We send you exactly one follow-up email, 14 days in, if there has been no movement. Never sooner.

A useful order to walk through:

  1. Top 20 products. Open them on staging. Confirm title, price, variants, images, and SEO copy match Magento.
  2. Sample 10 customers. Open their accounts. Confirm address book, customer notes, and order count.
  3. Last 50 orders. Browse the orders list. Confirm order numbers preserve their Magento sequence, totals match, and refunds are present.
  4. Categories → Collections. Confirm the tree depth and the hand-picked collections still hold the right products.
  5. URL Redirects. In Shopify Admin, Online Store → Navigation → URL Redirects. Sample your top 50 ranking URLs from Search Console; every one should resolve to the right Shopify URL.

If anything is off, reply to the staging email. We re-run the migration with corrections at no cost. Re-runs are safe: anything already loaded is skipped on the next pass, so you do not get duplicates. Mappings are versioned, so we can roll back to any prior pass with one click.

Paying and transferring

When you are happy, click Pay €129 & transfer store on the status page. Stripe handles the payment. Once it clears:

  1. The status page flips to Paid. Our team picks up the transfer.
  2. We change the Shopify store owner email to yours and confirm the transfer. Shopify emails you a one-time login link.
  3. The status page flips to Transferred. The card on the right becomes Open Shopify admin with a direct deep-link.

From this point, you own the store. Theme, apps, and design choices are yours. We will introduce you to a partner agency if you want help with those, but they are not part of the €129.

Common questions we get on this flow

Will it disrupt my live Magento store? No. We open one read session, pull data, and disconnect. Your live store keeps taking orders the entire time.

What if I have multiple Magento storefronts on one install? Use the Notes for the migration field on Step 3 to tell us which store_id you want and whether you want the others to become separate Shopify stores or land as Shopify Markets on the same store. We will reply within a business day with a plan before starting.

What if I have one Magento store but multiple brands across several Magento installs? That is a multi-migration job, and the self-serve Graftport platform is the better shape for it. Email us first either way.

What about my customers' passwords? Shopify rotates the customer authentication token between stores, so every customer has to do a one-time password reset on the new Shopify store. We migrate the account, the order history, and the marketing consent — only the password rotates. Shopify auto-emails the reset link to every customer when you launch.

What if I find something wrong on staging? Reply to the staging email. We re-run with corrections, no charge. You only pay the €129 when you accept and transfer.

Where does my data live during the migration? EU-hosted infrastructure. Source credentials are encrypted at rest with a per-merchant key. Once the store is transferred, we delete the credentials. The staging Shopify store is parked for 30 days, then auto-deletes if untransferred.

Ready to start? Begin the wizard. About two minutes of typing, and we will have a staging store in your inbox when it is ready to look at.

Ready to migrate?

Connect your Magento store, dry-run a migration, see the exact Shopify result before a single record lands. €995 only when you accept.

Start the wizard How it works
Related guides
Magento multi-store to Shopify: how the migration works
How Move to Shopify handles Magento installations with multiple stores or websites: splitting into separate Shopify stores or consolidating
Migrating Magento customers and orders to Shopify
How Move to Shopify handles Magento customer accounts, order history, passwords, marketing consent, and order status when migrating to a fre
After the Magento migration: launching your Shopify store
What to do after your Magento store is built on Shopify: reviewing staging, paying and transferring, connecting a domain, configuring paymen