Help center

Everything you need to move your WooCommerce store to Shopify with GSP WooCommerce Migration: from creating API keys to switching your domain.

Getting started

  1. Install GSP WooCommerce Migration from the Shopify App Store and open it in your Shopify admin.
  2. Create read-only API keys in WooCommerce (how).
  3. Click New migration, enter your store URL and keys, and click Test connection. You'll see how many products, customers, orders, coupons, posts and pages your store has.
  4. Choose what to migrate. Everything is selected by default.
  5. Run a free preview, or buy a plan and start the full migration.
  6. Review the result and the report, keep Shopify up to date with Migrate changes, then follow the go-live checklist.
Your WooCommerce store keeps running during the whole process. The app only reads from it; nothing in WooCommerce is changed.

Before you start

Create WooCommerce API keys

  1. In WordPress, go to WooCommerce → Settings → Advanced → REST API.
  2. Click Add key. Enter a description (e.g. “Shopify migration”), choose an administrator as the user, and set Permissions to Read.
  3. Click Generate API key and copy the Consumer key (starts with ck_) and Consumer secret (starts with cs_). The secret is only shown once.
  4. After going live, you can revoke the key on the same screen. The app also deletes it from our servers 48 hours after you uninstall.
Read-only keys are enough: the app never writes to WooCommerce. Your keys are encrypted (AES-256) before they're stored.

Connect your store

In the app, click New migration, enter your store URL (e.g. https://your-store.com, including the folder if WordPress is installed in one) and your keys, then click Test connection. You'll see a summary of your store and can choose what to migrate: products, categories, customers, coupons, blog posts, pages and orders. Categories are always included with products, so products land in the right collections.

Free preview

Before buying, run a free preview: 10 products (plus all categories, and up to 10 customers, orders, coupons, posts and pages) are imported so you can check how your data looks in Shopify. Preview products, posts and pages are hidden drafts and no redirects are created. When you run the full migration, the preview records are updated and published, never duplicated. Previews can be deleted from your migration history.

Plans and pricing

One-time payments, billed through Shopify on your Shopify invoice. No subscription.

Basic

$49

one-time

  • Unlimited products, customers and orders
  • 1 WooCommerce store, migrated once
  • Everything listed below: all products, customers, orders, content and SEO
  • Free preview before you buy
  • Detailed migration report
  • Email support

Advanced

$149

one-time

  • Unlimited products, customers and orders
  • Unlimited WooCommerce stores, each migrated once
  • Everything listed below, for every store
  • Merge several stores into one Shopify store
  • Free preview before you buy
  • Priority support

Migration Update add-on

$29

one-time, per store

  • 30 days of unlimited Migrate changes runs for one store
  • Available on both plans

What's migrated

Products

  • Title, description, short description, status, tags, vendor (brand) and product type
  • Variants and options (size, colour…), including “Any” variations
  • Regular and sale prices (compare-at price), SKUs and barcodes (GTIN/EAN/UPC)
  • Stock levels at your main location, backorders, weight and tax status
  • Product images and variant images
  • Product attributes (e.g. Material: Cotton) as metafields
  • Custom fields (product meta, ACF) as metafields with editable definitions
  • Published to your Online Store sales channel

Categories

  • Categories become collections, with description and image
  • Products are added to their collections

Customers

  • Name, email and phone number
  • Billing and shipping addresses
  • Customer custom fields
  • Tagged “woocommerce-migration”; existing Shopify customers are updated, not duplicated

Orders

  • Original order numbers and dates
  • Line items linked to the migrated products and variants
  • Taxes, shipping, discounts (coupons), fees and refunds
  • Payment status, fulfillment status and payment method
  • Linked to the customer (guest orders included)
  • Order notes and order custom fields
  • No emails to customers, stock levels untouched

Coupons

  • Percentage, fixed and free-shipping coupons become discount codes
  • Expiry date, minimum spend, usage limits, once per customer
  • Product, category and customer restrictions

Blog posts and pages

  • Blog posts become articles: content, excerpt, author, date, featured image, categories and tags
  • Pages (About, Contact, policies…)
  • Images inside posts and pages copied to Shopify

SEO

  • SEO titles and meta descriptions (Yoast, Rank Math, All in One SEO)
  • URL handles kept from WooCommerce
  • 301 redirects from old product, post and page URLs, so you keep your Google rankings

Safety and control

  • Choose exactly what to migrate
  • Read-only access: your WooCommerce store is never changed
  • Currency check before migrating
  • Safe to re-run: records are updated, never duplicated
  • Resumes automatically after interruptions
  • Detailed report of every warning and error

How your data is mapped

WooCommerceShopifyNotes
Simple productProduct with one variantPublished to the Online Store if it was published in WooCommerce; otherwise a draft.
Variable product + variationsProduct with options and variantsShopify allows up to 3 options and 2,048 variants per product; extra options are dropped and reported. “Any size”-style variations become one variant per value.
Grouped / external productDraft product / productGrouped products have no price of their own; external buy-button URLs aren't migrated.
Sale pricePrice + compare-at priceThe regular price becomes the struck-through compare-at price.
Stock (managed)Tracked inventory at your primary locationOut-of-stock products that didn't track stock are imported as tracked at 0.
Short descriptionMetafield woocommerce.short_descriptionShopify has no short-description field; show it in your theme with a dynamic source.
Attributes (non-variant)Metafields attributes.<name>e.g. Material = Cotton, as a list field.
Custom fields / ACFMetafields woocommerce.<field>With definitions, so they're editable in Shopify admin. Plugin bookkeeping (SEO, page-builder, view counters) is skipped.
CategoryCollectionShopify collections are flat; sub-categories become their own collections.
CustomerCustomer with addressesPhone numbers are converted to international format. Marketing consent isn't invented: customers aren't subscribed to email unless the source records an opt-in.
Order statusPayment / fulfillment statusCompleted → paid + fulfilled · Processing → paid · Pending / On hold → payment pending · Cancelled / Failed → voided · Refunded → refunded. A woo-<status> tag keeps the original status.
CouponDiscount codeExcluded products, maximum spend and “exclude sale items” have no Shopify equivalent and are reported. Existing Shopify codes with the same name are never overwritten.
Blog postArticle in the “Blog” blogCategories and tags become article tags.
PagePageWooCommerce's shop, cart, checkout and account pages are skipped (Shopify has its own). Page-builder layouts (Elementor, Divi…) are converted to clean content styled by your theme.

What isn't migrated

To let customers log in, invite them from Shopify (Customers → select → Send account invite), or turn on Shopify's passwordless customer accounts.

During the migration

Migrate changes (updates)

Your WooCommerce store keeps taking orders while you set up Shopify. With the Migration Update add-on, click Migrate changes on a completed migration to bring over what changed since the last run. Only changes are read, so it's fast even for large stores.

Nothing is duplicated, customers are never emailed, and inventory isn't restocked when an order is cancelled. Records you deleted in Shopify are not brought back for orders.

Go-live checklist

  1. Review products (variants, prices, images, stock), collections, customers and a few orders.
  2. Set up shipping rates, taxes and payment providers in Shopify Settings.
  3. Choose and customise your theme; add menus (Online Store → Navigation).
  4. Place a test order.
  5. Shortly before switching, run Migrate changes to bring over the latest orders and customers.
  6. Point your domain to Shopify (Settings → Domains). The 301 redirects created by the migration (Online Store → Navigation → URL redirects) start working once your domain points to Shopify.
  7. Remove the store password, then invite customers to activate their accounts.
  8. Revoke the WooCommerce API key once you no longer need updates.

Troubleshooting

“WooCommerce rejected these API keys”

Copy the keys again (no spaces), make sure they belong to an administrator, and that the key wasn't revoked.

“These API keys don't have Read access”

Edit the key in WooCommerce → Settings → Advanced → REST API and set Permissions to Read (or Read/Write).

“We couldn't reach your store”

Check the URL (with https://, and the folder if WordPress isn't at the root). Security plugins or firewalls (e.g. Cloudflare bot protection) can block our requests: allow-list the app or pause the protection while migrating.

“Couldn't find the WooCommerce REST API”

Make sure WooCommerce is active and that a plugin isn't disabling the WordPress REST API.

Products show “Sold out”

The stock is at a location that isn't in a shipping profile. Add your primary location in Settings → Shipping and delivery.

Prices are in the wrong currency

Prices are copied as numbers. Set your Shopify store currency to match WooCommerce, then run the migration again.

Images are missing

Shopify couldn't download them from your site: check they open in a private browser window, and that hotlink or bot protection isn't blocking them. Then run Migrate changes or Resume.

A page looks different

Pages built with page builders are converted to clean content styled by your Shopify theme. Edit them in Online Store → Pages, or rebuild key pages with theme sections.

“Phone … not accepted by Shopify”

The phone number isn't valid for Shopify. The customer is still migrated; the number is kept on the address.

FAQ

Will my WooCommerce store be changed or go offline?

No. The app only reads from WooCommerce, and your store keeps working normally.

Can I run the migration more than once?

Each store is fully migrated once. Use Migrate changes to bring over later updates; existing records are updated, never duplicated.

How long does it take?

It depends on store size and how fast your host responds: small stores take minutes, stores with tens of thousands of orders can take a few hours. You can close the page while it runs.

Will I lose my Google rankings?

No: SEO titles and descriptions are migrated, URL handles are kept, and 301 redirects send old product, post and page URLs to the new ones.

Are customers emailed during the migration?

No. No order confirmations, shipping notifications or account invites are sent by the migration.

What happens to my data if I uninstall?

Everything migrated stays in your Shopify store. The app deletes its own copy of your keys and migration history 48 hours after uninstall.

Privacy and security

Read-only access to WooCommerce, encrypted API keys, and customer and order details transferred straight to Shopify without being stored by us. Read the full privacy policy and terms of service.

Contact support

Email contact@gsptechnologies.com with your Shopify store address and, if possible, a screenshot of the migration report. We reply within 2 business days.