Migrating Your WooCommerce Store to SHOPLINE
To help you transition to SHOPLINE quickly while maintaining business continuity, SHOPLINE offers the Multi-platform Store Migration app, which supports fast migration of your WooCommerce store’s products, customers, and other data to SHOPLINE, while keeping your Google channel product feed and data reporting in sync — with no need for manual entry. Using this tool, you can complete the entire migration process, from store authorization and selecting migration modules to handling data that fails to migrate.
This guide explains how to migrate your WooCommerce store to SHOPLINE using the Multi-platform Store Migration app. Follow the steps below to prepare your WooCommerce store, complete the migration, and understand important migration considerations.
For the migration of your WooCommerce or Shoplazza store, refer to the following articles respectively:
Overview of the WooCommerce Migration Process
Migrating from WooCommerce to SHOPLINE involves the following 7 stages:
| Stage | Section | Description |
| 1 | Preparing Your Store For Migration | Complete store configuration checks to avoid triggering unexpected notifications during data migration. |
| 2 | Obtaining WooCommerce Migration Credentials | Generate a REST API in your WooCommerce admin panel and complete store authorization in SHOPLINE. |
| 3 | Selecting the Data Modules to Migrate | Select the products, customers, and 301 redirects you want to migrate, and configure Google Ads feed sync as needed. |
| 4 | Starting the Migration | Begin the migration process in SHOPLINE. |
| 5 | Handling Migration Failures | Review and handle data that failed to migrate. |
| 6 | Secondary Migration: Migrating Incremental Data | If you need to migrate newly added data before switching your domain, you can start another migration. |
| 7 | Completing Migration and Binding Your Store Domain | Finish your store configuration, connect your WooCommerce store’s dedicated domain, and officially go live. |
Preparing Your Store For Migration
Before you start migrating, complete the following preparation steps to avoid disrupting your store’s normal operations during data migration:
- Turn off email notifications: Turn off customer- and order-related email notifications in your store admin panel to prevent customers from being automatically emailed when a customer or order is created during migration.
- Notify your payment channel: Let your payment channel know that your store will be switching SaaS platforms, so your payment functionality isn’t affected.
- Back up your ad data (optional): Before migrating, back up the feed file from your original ad channel and confirm the original product IDs. You can use this as a reference to verify whether your ad data migrated successfully.
- Clear your product data (optional): If you need to migrate your feed, products written by apps other than the migration app can’t be matched to the feed, so be sure to clear your SHOPLINE product data before you begin.
Obtaining WooCommerce Migration Credentials
Before selecting your migration modules, you’ll need to create a REST API in your WooCommerce store admin panel so the Store Migration app can read your store data.
In your WooCommerce Admin Panel, complete the following steps:
- Go to WooCommerce > Settings > Advanced > REST API, and click Add key.
- Enter a description, then click Generate API key.
- Once the key is created, save and copy the generated API key and API secret.
Authorizing Your WooCommerce Store in SHOPLINE
After generating the API key in your WooCommerce admin panel, go to your SHOPLINE admin panel to complete store authorization for the migration app:
- After creating your store, and before setting up your storefront design, go to the SHOPLINE App Store and install Multi-platform Store Migration.
- On the app page, select the WooCommerce channel and click Start Migration.
- Enter your WooCommerce store domain (without the https:// prefix), then paste the Consumer Key and Consumer Secret you obtained earlier. Continue to the next step.
Selecting the Data Modules to Migrate
After completing store authorization, you can select the data modules you want to migrate:
| Module | Description | Dependent Module |
| Products |
Basic product information, including product name, price, description, product images, variant details, tags, and more. Note: For Product categories, only manual categorization is supported. |
— |
| Customers | Basic customer information (customer name, phone number, email, address, etc.). | — |
| Orders | Orders (basic order information, including order items, order amount, recipient, etc.). | Depends on the Products and Customers modules |
| 301 Redirects | 301 redirect data already configured on your original platform, to ensure the corresponding links redirect correctly after migration. | — |
| Product Reviews | Product review data, including reviewer and review content. | Depends on the Products module |
Recommended Module Migration Order
- Products, Customers, 301 Redirects
- Orders, Product Reviews
Strong Dependency Rules
Some modules have strong dependencies between their business data:
- Orders depend on Products and Customers data. If product or customer data hasn’t been migrated, order data will be abnormal and can’t be corrected.
- Product Reviews depend on Products. Product reviews don’t support overwrite updates, so migrating them again will result in duplicate review data.
| Impact: When products are missing, custom products will be created, which affects shipping and returns/refunds. When customers are missing, new customers will be created, causing the customer’s join date to be incorrect. |
If the Orders module is migrated in the same batch as the Products and Customers modules, and the success rate for the dependent modules doesn’t meet the required threshold (below 95%), the system will not continue migrating orders.
|
Note: If abnormal data in a base module can’t be corrected and the success rate can’t reach 95%, which affects the migration of later modules, contact your customer success manager or email erp@shopline.com |
The Orders module can be migrated separately if the following conditions are met:
- The dependent modules’ most recent full migration took place within the last 90 days. A full migration means one without a custom scope set (migration scope is "All"); it doesn’t include migration tasks that were interrupted or terminated.
- The dependent modules’ most recent full migration had a success rate of 95% or higher. If this isn’t met, you can click Retry on the failed data to refresh the success rate.
Syncing Ad Data During Migration
If you're currently running Google or Meta ads, complete the following steps based on your chosen tool to ensure ad performance isn't interrupted after migration:
- Use the official SHOPLINE Smart Feed app (recommended): After completing your core store data migration, we recommend installing the Smart Feed app. It supports migrating your product feed from WooCommerce, and lets you complete all configuration within the app to ensure ID matching. For details, see "Smart Feed (New): Migrating Product Feeds from Shopify, WooCommerce, and Shoplazza (Limited Access)."
- Use the third-party Simprosys app: If you choose to use Simprosys to migrate Google or Meta ad data, you'll need to set feed rules in the migration plugin and complete the migration there. Be sure to clear any non-migrated products already in your SHOPLINE store before starting, to avoid feed matching failures.
Starting the Migration
After selecting everything you want to migrate, click Start Migration to begin migrating your store.
Handling Migration Failures
After migration completes, some data may fail to migrate due to system errors or data that doesn't meet requirements. You can review and handle this failed data by module:
- Once migration ends, review the details of failed migration data on the migration results page.
- Failed data can be exported by module, with an export limit of 10,000 records per migration. If a single module's failed data exceeds this limit, we recommend analyzing and resolving some of the failures first, then clicking Retry before attempting to export again.
Secondary Migration: Migrating Incremental Data
If you've already completed a full migration but still need to migrate newly added data (for example, before switching your domain), you can initiate migration again — this is called a "secondary migration":
- Incremental data: Orders and abandoned checkouts support filtering by creation time, so you can specify a "start time" to precisely target your migration range.
- Already-migrated data: Already-migrated data is not overwritten by default, but you can choose whether to overwrite it:
| Option | Migration Behavior | Use Case |
| Overwrite | Already-migrated data will be overwritten and updated. | Use when already-migrated data needs to be updated or corrected. |
| Do Not Overwrite (Default) | Already-migrated data will be automatically skipped and left unchanged. | Use when already-migrated data hasn't changed. |
Completing Migration and Binding Your Store Domain
Once your data migration is complete, you can continue finishing your store setup, including storefront template configuration, payment configuration, ad pixel setup, meta verification, sitemap submission, and ad feed sync. Your ad pixel setup should match the ID from your original channel.
Once your store is fully set up, you can connect your WooCommerce store’s dedicated domain to SHOPLINE to officially go live.
Important Notes on WooCommerce Store Migration
- SKU migration rules: SHOPLINE generates SKUs based on the Cartesian product of a product’s attribute values — that is, it combines every possible combination of a product’s different attributes to produce all possible product variants. As a result, when an additional SKU generated this way doesn’t exist in WooCommerce (WooCommerce may only have SKUs for some attribute combinations), that SKU’s price and inventory will default to the price and inventory set for the "Any" condition. When an attribute value’s alias differs from its standard name, and that SKU has an attributeless configuration, the product will generate both the standard name and the alias as separate attributes.
- Sale price rules: When a sale price exists and has a time limit, the regular price becomes the SHOPLINE selling price. When a sale price exists without a time limit, the sale price becomes the SHOPLINE selling price. When there’s no sale price, the regular price becomes the SHOPLINE selling price.
- Product short description field: Because WooCommerce’s short description field is in HTML format and SHOPLINE’s is in plain text format, the formats can’t be mapped to each other, so this field can’t be migrated.
- Customer account activation: SHOPLINE supports completing the account registration process without any action needed from the customer. Migrated customers can go to the login page, enter their account and password directly, and complete account activation via an email verification code.
- Phone number login permission: Your store needs to have phone number registration and login enabled, or customers who only have a phone number after migration won’t be able to log in. You can enable this under Settings > Customers.
FAQs About WooCommerce Store Migration
Q1: Why is the displayed quantity of migrated products inconsistent with the actual number of migrated products?
Migration of smart product categorization is not supported. The quantity of migrated products includes the quantity of products, SKUs, categories, and binding relations between products and categorization.
Q2: Why does the number of customers displayed in the admin panel differ from the number of migrated customers?
Because customer statistics are not updated in a real-time manner, there is a data delay of about 1.5 hours (for example, if 40,000 customer data is migrated, the total number displayed in the admin may be only 20,000, and it will take over an hour for the data to be updated and displayed correctly).