S2W – Import Shopify to WooCommerce


Created: 05/2019

Latest updated: 26/2023 – Updated version: 1.1.14

By: VillaTheme

Thank you for purchasing our plugin. If you have any questions that are beyond the scope of this documentation, please feel free to request support at our Support Forum. Thanks so much!

What is S2W – Import Shopify to WooCommerce?

S2W – Import Shopify to WooCommerce help you to import data from Shopify to WooCommerce easily. With only 2 steps your Shopify store data will be imported included store settings, shipping zones, taxes, pages, blogs, coupons, customers, products, orders. The plugin uses Shopify API key to transfer data from Shopify to WooCommerce store directly, your data is kept private.

FEATURES

IMPORT SHOPIFY TO WOOCOMMERCE

You can select to import 9 types of data from Shopify to WooCommerce. Including STORE SETTINGS, SHIPPING ZONES, TAXES, PAGES, BLOGS, COUPONS, CUSTOMERS, PRODUCTS and ORDERS.

  • STORE SETTINGS: site title, admin email, store address, city, country, state, postcode, timezone, weight unit, currency code, currency format.
  • SHIPPING ZONES: shipping zones and shipping methods.
  • TAXES: tax name, tax rate, country, province, zip, shipping.
  • PAGES: title, content.
  • BLOGS: blog title, blog content, categories, tags, featured image.
  • COUPONS: coupon types that WooCommerce support, coupon amount, usage limit, expiry date, minimum amount.
  • CUSTOMERS: first name, last name, phone, company, address, city, province, zip, country.
  • PRODUCTS: products: title, content, excerpt, variations, product image, variations images, product gallery, SKU, stock, regular price, sale price, weight, categories, tags.
  • ORDERS: payment method, shipping method, first name, last name, company, country, address, zip, city, province, phone, total, subtotal, tax, discount, shipping cost, currency, date create, browser IP, customer user agent, line items, discount code, order number, order fulfillment.

ADDITIONAL FEATURES

  • Select to import: in 9 types of data, select to import only necessary data.
  • Download images: choose to download image to your WooCommerce store or use external links to your Shopify store.
  • Import product categories: import product categories from Shopify. Then add successful imported products to.
  • Product status: set up the status of imported products as publish, pending or draft.
  • Product categories: choose to add all imported products to a category.
  • Import progress bar: the plugin display import progress bar, inform you of the import progress.
  • Security: your data is transferred directly from Shopify to WooCommerce without any intermediate serve.
  • Easy to use: the import progress is very simple with only 2 steps. Creating a Shopify private app. Fill the app API private key and password into S2W – Import Shopify to WooCommerce back-end. And click “Import”.
  • Unlimited import: The plugin does not have any limitation of how many products, orders, customers… you can import.
  • Logs: S2W – Import Shopify to WooCommerce provide a logs file to check the import history.

Go to Plugin/Add New /Upload Plugin/Choose file/ select the plugin file installable zip file s2w-import-shopify-to-woocommerce.zip / Install Now/Active Plugin

To import data from Shopify to WooCommerce, you need to fill in your Shopify API information. They include Store address; the Access token of your custom app on Shopify.

Since 2022, Shopify had a change in connecting Shopify API. Creating a Custom App using an Access token will be used instead of the private app which is no longer deprecated. Therefore, new Shopify customers will connect to Shopify API via a custom app.

You can learn the video on how to create a custom app and connect Shopify API using an Access token.

 

After filling in API keys, scroll down to select which data you want to import and click Import.

 

Choose data to import

After filling in the necessary information and click Save. A list will appear for you to select which data you want to import from Shopify to WooCommerce. Select date you want to import and click the “Import” button. The import progress will take several hours, please be patient. Products name, description.. will be imported first. Product images will be imported later in the background so don’t be surprised when some product does not have pictures.

  1. STORE SETTINGS: site title, admin email, store address, city, country, state, postcode, timezone, weight unit, currency code, currency format.
  2. SHIPPING ZONES: shipping zones and shipping methods.
  3. TAXES: tax name, tax rate, country, province, zip, shipping.
  4. PAGES: title, content.
  5. BLOGS: blog title, blog content, categories, tags, featured image.
  6. CUSTOMERS: first name, last name, phone, company, address, city, province, zip, country.
  7. PRODUCTS: products: title, content, excerpt, variations, product image, variations images, product gallery, SKU, stock, regular price, sale price, weight, categories, tags.
  8. PRODUCT CATEGORIES: product categories, sub-categories, add imported products to imported categories.
  9. COUPONS: coupon types that WooCommerce support, coupon amount, usage limit, expiry date, minimum amount.
  10. ORDERS: payment method, shipping method, first name, last name, company, country, address, zip, city, province, phone, total, subtotal, tax, discount, shipping cost, currency, date create, browser IP, customer user agent, line items, discount code, order number, order fulfillment.
  11. ENABLE ALL: Enable this option if you want to import all the data above.
  12. IMPORT: Click on the Import button to import the data selected.
  13. DELETE IMPORT HISTORY: Click on this button to delete the import history.

General Settings

1. Store address: Fill in your Shopify store URL, it should look like myshop.myshopify.com.

Important note: Since 2022, Shopify had a change in connecting Shopify API. Creating a Custom App using an Access token will be used instead of the private app which is no longer deprecated. Therefore, new Shopify customers will connect to Shopify API via a custom app.

2. Access token: Get Access token in your Shopify custom app and paste in the Access token field of this plugin.

For the former Shopify customers, you can keep using the private app to connect the Shopify API. (options 3 and 4)

3.  API key: Fill in your Shopify private app API key.

4. API secret (Password): Fill in your Shopify private app API secret (password).

5. Learn how to get an API key: Click to see the video on how to create a custom app and connect Shopify API using an Access token.

6. Request timeout(s): an option helps to increase the request timeout(s) of your website. Increase this number when you get the request timeout(s) error while importing products.

7. Fill in your Auto Update key to enable the auto-update key feature.

User Capability

You can manage who can be able to change settings or use plugin using the user capability feature.

  • Only Administrators can access required user capability settings, API credentials and Auto update key
  • manage_options = only Administrators can access
  • manage_woocommerce = both Administrators and Shop managers can access

The plugin’s settings can be managed including: Change the plugin’s main settings and import data via API, Import CSV, Change Cron product sync, Change Cron orders sync, Change webhooks settings, Import by ID, Failed Images, Logs.

 

Import Products options

A. Below the General options, you can configure the import product options.

1. Products per AJAX request: this option allows you to choose how many will be imported with a single AJAX request.

2. Restrict results to after the specified ID: Shopify product IDs go bigger (1,2,3,4…), this option allows you to choose import product from a specific ID (4,5,6…)

3. Filter results by product type: choose to import a specific product type by entering the product type in this field.

4. Filter results by product Vendor: choose to import a specific vendor. Similar to the import product type option, you just need to enter the Vendor into this field.

5. Filter results by Collection ID: choose to import a specific collection ID. Similar to the import product type option, you just need to enter the Collection ID into this field.

6. Import products created after date: Enter the date you want to import the product created after that date.

7. Import products created before date: Enter the date you want to import the product created before that date.

8. Import products published after date: Enter the date you want to import the product published after that date.

9. Import products published before date: Enter the date you want to import the product published before that date.

10. Import Products sequence: choose a sequence for imported products. There are 6 options for you to select “Order by Title Ascending”, “Order by Title Descending”, “Order by Created Date Ascending”, “Order by Created Date Descending”, “Order by Updated Date Ascending”, “Order by Updated Date Descending”.

 

B. Options below allow when you import/update products with other methods such as webhook, CSV…

1. Use global attributes: Choose to create global WooCommerce Attributes instead of creating custom attributes for each imported product.

2. Import images: Product mages will be imported in the background.  It’ much faster to import products while turning off this option. You can import images later that after all products are imported by going to Products.

3. Migrate description images: Import images from product description to your WordPress server. If disabled, images in description will still use shopify cdn link.

4. Disable background processing: Product images and description images will be added to Failed images list so that you can go there to import all images with one click. This is recommended if your server is weak or if you usually have duplicated image issues.

5. Keep product slug: The product slug will remain, same as in your Shopify store. If this option is turned off, WooCommerce will automatical generate product slug from the product name.

6. Variable product SKU: This option allows you to choose Shopify product ID or Shopify product lug to use as your WooCommerce variable product SKU

7. Product status mapping: Choose a status for imported products “publish”, “private” or “pending”.

8. Product categories: Choose a category to add all imported products to. For example “Shopify products”. Please take note that categories from Shopify will be imported as well, so if you use this option, an imported product will be added to at least 2 categories.

9. Import Shopify product type as: Map the product type on shopify with the respective field on WooCommerce, it can be: category, tag, post meta. It is possible to choose a taxonomy to import Shopify product type to. For example, Taxomony brand from Perfect Brands for WooCommerce by Quadlayers.

10. Import Shopify product vendor as: Map the product vendor on shopify with the respective field on WooCommerce, it can be: category, tag, post. It is possible to choose a taxonomy to import Shopify product vender to. For example, Taxomony brand from Perfect Brands for WooCommerce by Quadlayers.

11. Import Shopify product barcode as post meta: If you want to import the barcode of shopify products as a post meta, enter the post meta key there.

12. Product author: Set the author for imported products. If left empty, the user who runs the import will be the product author.

Import order options

Configure options of orders imported from Shopify to WooCommerce.

  1. Orders per AJAX request: select how many orders will be imported per an AJAX request.
  2. Restrict results to after the specified ID: choose to imported only orders with an ID greater than a specific one.
  3. Import created/imported at or after date: choose to import only orders which created /imported after the selected date.
  4. Import created/imported at or before date: choose to import only orders which created /imported before the selected date.
  5. Filter order by financial status: Choose the financial status of the orders you want to import.
  6. Filter order by fulfillment status: Choose the financial status of the orders you want to import.
  7. Import Orders sequence: select the sequence of imported orders “from latest to oldest” or “from oldest to latest”.
  8. Order status mapping: configure the status of each order type when imported from Shopify to WooCommerce.

Import Customers options

In the import customer options, you can choose how many customers will be imported each AJAX request.

1. Customer per ajax request:  Import a number of customer data per ajax request.

2. Customer role: Set role for imported customers

3. With Purchase(s) only: Only import customers who have at least 1 purchase.

Import Coupon options

The plugin allows you to import coupons from Shopify to WooCommerce. You can select how many coupons will be imported per AJAX request.

  1. Coupon per Ajax request: select how many coupons will be imported per an AJAX request.
  2. Import Coupon starting after date:: Enter the date you want to import the coupons after that.
  3. Import Coupon starting before date:: Enter the date you want to import the coupons starting before that.
  4. Import Coupon ending after date:: Enter the date you want to import the coupons starting after that.
  5. Import Coupon ending before date:: Enter the date you want to import the coupons ending before that.
  6. Not used yet: Enable it if you want to import the coupons whose times used is zero.

Import Blog options

If you want to update an existing blog while importing, select some options to update. Leave it blank to skip existing blogs.

*This option only works if your blogs are imported since version 1.0.9

 

Import products by ID

Choose to import some specific products from Shopify to WooCommerce with the Import products by ID option. You just need to enter Shopify product IDs and click Import.

Import Products by CSV

The plugin allows you to import products using CSV files. To use this option, you need a valid Shopify product CSV file. You can export this file from your Shopify store.

Then in your WooCommerce store, go to Dashboard/ Shopify to Woo/ Import CSV, and update the CSV file.

Then in the next step, mapping fields from Shopify to WooCommerce. And configure settings with options like import directly.

Then click Import and wait for the products to be imported.

 

Webhooks

This feature allows you to stay in sync with Shopify or execute code after a specific event occurs on a shop. The following guide helps you configure a webhook using the API.

1. From your Shopify admin, go to Settings > Notifications.

2. In the Webhooks section, click Create a webhook.

3. Select the event type you want to listen for, the format (JSON or XML), and the URL where you want to receive notifications.

Event: You can choose one of these event as your need: Order creation, Order update, Product creation, Product update, Customer creation; Customer update.

4. URL: Copy respective URL in S2W plugin to URL field in shopify and save the webhook.

5. Save the webhooks.

6. Copy the Order webhook URL from Import Shopify to WooCommerce and paste it to the URL in the Add Webhook area in Shopify dashboard.

7. Copy the Secret key you have just created on Shopify and paste to the Webhooks shared secret field in S2W and save the settings.

* Note:

  • If you want to only import new order when one is created at your Shopify store, create a webhook with event Order Creation and use this URL for the webhook URL.
  • If you want to both create new order when one is created and update existing order when one is updated at your Shopify store, create a webhook with event Order Update and use this URL for the webhook URL.
  • Similarly, the above notes with Product and Customer creation and update are the same.

 

Sync Imported Products

A. Sync products manually.

You can sync products from Shopify to WooCommerce manually on the product list page. You can select to sync each product, a number of products, or sync all products manually.

From the Dashboard > All Products:

 

 

Click on the Shopify sync button, a popup appears to let you choose which product properties you want to sync.

You can sync a product:

 

Or sync a number of products:

 

* Options for syncing products manually.

After selecting (a)products to sync, a popup appears and lets you choose product attributes for syncing. You can tick for what product attributes you want to sync. They include Title; Inventory; Status; New variations; Variation SKU; Tags; Metafields; Price; Description; Images; Variation attributes; product slug; Published date.

An option to show the selected options when clicking on the “Sync” button on each product.

 

B. Sync products automatically

You also can set up the plugin to automatically update products. Go to Dashboard/ Shopify to Woo/ Cron Update Products.

  1. Enable cron: Enable the automatic update option.
  2. Run update every: Select how often you want to update products from Shopify.
  3. Run update at: Schedule time to run the update.
  4. Only update products with status: Select the products you want to update by status.
  5. Only update products of these categories: Select the products you want to update by categories. You can leave this field empty to update all products.
  6. Select options to update: Choose to update product price, inventory and new variations.

 

 

Sync Metafields

You can sync metafields from Shopify to WooCommerce.

For example, if you want to sync meta title and meta description in Shopify to the title and description in WooCommerce, you have to use the Sync Metafields feature.

 

Step 1: In your WooCommerce Product list, click “Shopify sync” button. The sync option popup will appear, just click on the Metafields box.

Step 2: What you need to do is to fill the right metafield keys (which are stored in WooCommerce) reference with them in Shopify.

* Note: How to find the right metafield keys in Shopify and WooCommerce.

– Metafield keys in Shopify: Shopify has default metafields and other metafields created by shopify apps. If you need to sync page title and meta description, you can use default metafield keys for title: title_tag and description: description_tag . For other metafields, you need to find out the metafield keys in each shopify app.

– Metafield keys in WooCommerce: You can ask the author of the WordPress plugin which manage the custom metafields. Or you can export products which have the respective data fields, make sure to export all custom meta, then look for the meta keys in the respective column in the file.

Step 3: Click the Sync selected button and save the settings if needed.

 

For example:

  • If you use the Rank Math for SEO in WooCommerce, so the product meta key for description is rank_math_description in WooCommerce and in Shopify is description_tag; And for title is rank_math_title in WooCommerce and in Shopify is title_tag.
  • If you use the Yoast SEO in WooCommerce, so the product meta key for description is _yoast_wpseo_metadesc in WooCommerce and in Shopify is description_tag; And for title is _yoast_wpseo_titlein WooCommerce and in Shopify is title_tag.

 

If use Rank Math If use Yoast SEO

 

 

Sync Imported Orders

A. Sync Imported Orders Manually.

With the very same options with the “Sync Imported Product” feature, the Sync Orders feature allows you to sync the orders you imported from Shopify to WooCommerce.

The sync orders options

The fields you can choose to update

The options for update a single order

A. Sync Imported Orders Automatically.

You also can schedule to sync imported orders. Go to Dashboard/ Shopify to Woo/ Cron Update Orders.

  1. Enable Cron: Enable the option to auto-update imported orders.
  2. Run update every: Select how often you want to update orders.
  3. Run update at: Select the time to run the update progress.
  4. Only update orders with status: Select the orders you want to update by status.
  5. Only update orders created in the last (x) days: Choose to only update order in last 30 days, for example.
  6. Select options to update: Select fields that you want to update. Status, billing address, shipping address, fulfillments.

Failed images

If you enable the option “Background processing” in the Import Product option,  product images and description images will be added to Failed images list so that you can go there to import all images with one click. This is recommended if your server is weak or if you usually have duplicated image issues.

1. Download all: Click to import all images

2. Delete all: Click to delete all images

3. Download: Click to import each image one

4. Delete: Click to delete each image one

 

 

 

Logs

The log feature helps to record all import history which allows you to check the imported time, which imports, and import status: success, failed, or any errors.

 

Extra Information


Thank you for your attention!

If you have any question, please create a topic at our FORUM, we will support within 24 hours.