BACK TO DIRECTORY

W2S – WooCommerce to Shopify Sync

by Smackcoders Inc.,

1.0
(1 ratings)

WooCommerce and Shopify have no connection between them. Whatever you need to move across the two platforms, the usual answer is exporting CSV files, cleaning columns, re-uploading, and repeating the process every time prices, stock or orders change.

W2S – WooCommerce to Shopify Sync connects a WooCommerce store to a Shopify store directly. What you do with that connection is up to you:

  • Move a catalog, customer base and order history to a new platform, once.
  • Send WooCommerce products to a Shopify storefront and keep sending them.
  • Pull a Shopify catalog into WooCommerce.
  • Keep both stores aligned while you run them side by side.

You set the direction, choose which record types are included, set Create, Update and Delete permissions for each, and decide whether the plugin runs once or keeps running. A one-time migration and a permanent sync use the same connection and the same configuration screen, so a store that starts by testing a migration can leave the same setup running afterwards.

WooCommerce and Shopify Integration in Both Directions

Sync direction is a setting, not a fixed behaviour. You can run:

  • WooCommerce to Shopify – push your WordPress catalog and order history into Shopify.
  • Shopify to WooCommerce – pull a Shopify catalog and order history into WordPress.
  • Both directions – keep the two stores aligned while you operate them in parallel.

For each record type (Products, Orders, Customers) you enable Create, Update and Delete permissions separately, so you can allow new records to flow while blocking deletions, or allow updates in one direction only.

Migrate WooCommerce to Shopify

Enable the WooCommerce to Shopify direction, turn on the record types you want to move, grant Create permission, and save the configuration. Products, customers and orders move with the fields covered in the sync sections below. Category and collection sync is a Pro capability.

You do not have to move everything at once. Because sync runs on a schedule and can target records created within a date range or within the last 24 hours, you can stage a migration over several runs and keep the WooCommerce store live while Shopify fills up.

SEO metadata migration and 301 redirect generation are handled by the Pro SEO Migration suite.

Migrate Shopify to WooCommerce

Select the reverse direction and Shopify products import into WooCommerce with their key details and metadata, Shopify customers join your WordPress user base, and Shopify orders import with their original timestamps and order identifiers intact.

The two directions are not mirror images of each other. WooCommerce to Shopify has the deeper feature set, particularly around SEO migration and redirects, which apply to stores leaving WordPress. Plan accordingly if Shopify is your source.

Sync Products Between WooCommerce and Shopify

Set the direction and product data moves that way: WooCommerce to Shopify, Shopify to WooCommerce, or both. The same fields are covered whether you are sending a catalog to a new storefront once or keeping product data current in two places.

Product sync covers titles, descriptions, SKUs, prices, stock, images and galleries, tags, attributes and variations. Variable products with multiple attribute combinations sync with their variations, images and barcode data. Product tags sync in both directions.

Category and collection sync, including parent and child hierarchy, is a Pro capability.

Every product sync requires a SKU. Mandatory SKU validation in the free plugin blocks records without a usable SKU so unmatched and duplicate entries are caught before they reach the destination store. Matching an incoming record against an existing product by SKU, with fallback matching and unmatched-SKU reporting, is available in Pro.

Advanced product types (grouped, external and bundled products, including child items) are supported in Pro.

Sync Orders Between WooCommerce and Shopify

Order sync runs in the direction you set, so you can bring historical orders into a new store, feed orders one way into whichever platform you use for fulfillment or reporting, or keep order records present on both.

WooCommerce orders sync to Shopify with supported order data including line items, customer details, order totals, taxes and shipping information. Shopify orders sync into WooCommerce with their original timestamps and order identifiers preserved.

WooCommerce and Shopify do not model orders identically, so what transfers is the order data covered by the configured field mapping rather than a byte-for-byte copy of every field on both platforms.

Per-item tax rates, tax classes and shipping tax handling are available in Pro.

Sync Customers Between WooCommerce and Shopify

Customer records sync in either direction with names, email addresses, phone numbers, billing and shipping addresses, and customer metadata.

You do not have to move every account. Customer sync can be restricted to specific WordPress user roles, or to customers who have placed at least one order, which is useful when you want buyers in the destination store without carrying across every registered account.

Passwords and authentication data are not transferred.

Sync Inventory Between WooCommerce and Shopify

Stock levels move alongside product data in the direction and on the schedule you configure. If you are sending products one way, stock travels with them and stays current on the destination store. If both stores are live and selling the same catalog, enable both directions so a sale on either platform is reflected on the other.

Pro adds a dedicated inventory sync engine: bidirectional, queue-based stock sync with hourly reconciliation that corrects drift between platforms automatically, plus a manual reconciliation control for when you need to force a check immediately.

Scheduled Sync, On-Save Sync and Real-Time Sync

The three modes behave differently, and the difference matters when you are choosing between free and Pro:

  • Manual sync (free) – you save a configuration and the plugin processes the matching records.
  • Scheduled sync (free) – hourly, daily, weekly or a custom interval, run through WP-Cron. Every free sync run evaluates the records matching your configuration. Pro adds incremental sync, so after the first full run only records changed since the last successful sync are picked up. You can also target only records created in the last 24 hours or within a chosen date range.
  • Real-time webhook sync (Pro) – product, order, customer and inventory changes sync between platforms through HMAC-verified webhooks, with queued retry processing so events are not lost during traffic spikes or brief outages.

Scheduled sync depends on WP-Cron, which fires when your site receives traffic. On low-traffic stores, a server-level cron job gives more predictable timing.

Selective Sync and Filtering

The Selective Sync screen provides presets and dedicated controls for running a targeted sync without changing your main configuration.

Free sync targets records by date: sync everything, sync a custom date range, or sync only records created in the last 24 hours. Customer sync can additionally be limited by user role or to customers with at least one order.

Pro adds filtering by category, tag, product status, order status, payment status, stock status, customer role and date range, which is what you need for partial migrations, staged rollouts and syncing only a section of a large catalog.

Field Mapping

The plugin ships with default mappings between WooCommerce and Shopify fields for products, orders and customers, so most stores can run a first sync without manual configuration. The Mapping tab shows every mapped field grouped by record type, including custom field mappings and vendor or supplier fields on product exports. Pro adds Smart Mapping on top of these mappings: value transforms, IF/THEN rules and formatting applied to a field before it is written to the destination store.

Audit Logs and Sync Monitoring

Every sync action is recorded with a timestamp, entity type, success or failure status and error message. The audit log is searchable and filterable by status, and exports as a chunked CSV for reporting or for handing to a developer during troubleshooting.

The Reliability tab provides a read-only test sync that checks both connections before any records are created or changed, sync failure email alerts, low-stock notifications, an optional backup before sync, duplicate product detection, currency mismatch warnings and last successful sync tracking.

Large Catalogs and High-Volume Stores

Products, orders and customers are paginated and processed in batches. Long-running jobs can be paused, resumed or cleared from the admin. Shopify access tokens refresh automatically during long-running and scheduled jobs, WooCommerce REST API connections retry on SSL and hostname errors, and order sync uses a GraphQL fallback with rate-limit handling to reduce failures on high-volume stores.

The plugin does not impose a record limit. Real-world throughput still depends on your hosting resources, WP-Cron reliability and the API rate limits of both platforms, so test with a filtered subset before committing a large catalog.

Authentication and Data Handling

You connect the two stores using credentials you generate yourself:

  • WooCommerce – a Consumer Key and Consumer Secret created in your WordPress admin.
  • Shopify – an Admin API access token from a custom app, or Client ID and Secret through the OAuth flow.

Credentials are stored in your WordPress database and are used to authenticate API requests to the two stores you connected. The plugin communicates directly with your WooCommerce site and your Shopify store. There is no intermediary sync server operated by Smackcoders sitting between them, and no data is sent to any service other than the two connected stores. Colour indicators (green, yellow, red) show connection status, and stores can be disconnected and reconnected at any time.

Full setup steps: Authentication Setup Guide.

How It Works

  1. Connect – authenticate WooCommerce with a Consumer Key and Secret, and Shopify with an Admin API token or OAuth credentials.
  2. Configure – set the sync direction, enable Products, Orders or Customers, set Create, Update and Delete permissions, and choose a frequency.
  3. Test – run the read-only test sync from the Reliability tab.
  4. Sync and monitor – run the sync and review results in the audit log.

Full documentation: WooCommerce to Shopify Sync documentation.

W2S Sync Pro

W2S Sync Pro extends the free plugin. It requires W2S Sync (free) 3.2 installed and active, is configured from the same admin screens, and uses no license key.

Sync engine – real-time webhook sync for products, orders, customers and inventory with HMAC verification, queued retry and exponential backoff. Incremental sync, so after the first full run only records changed since the last successful sync are processed, tracked per pairing, entity and direction. Sync preview lists the exact creates, updates and deletes a run would make before anything is written.

Inventory – a dedicated queue-based inventory engine with hourly reconciliation that corrects drift, manual reconciliation on demand, safety stock buffers, threshold rules, sync suppression, Shopify location priority and transition-based alerts.

Catalog and commerce – bidirectional category and collection sync with parent and child hierarchy, SKU-based matching with fallback and unmatched-SKU reporting, Smart Mapping with value transforms and IF/THEN rules applied before write, advanced filtering by category, tag and status, field-level sync controls, price rules, coupon and discount sync, per-item tax handling, subscriptions, and grouped, external and bundled products.

Conflict handling – field-level rules for records changed on both sides (WooCommerce wins, Shopify wins, merge, skip, or the source default), with conflict history and duplicate SKU and product name tooling.

Monitoring – Sync Health dashboard for connection, queue and failure status, Sync Hospital for retrying failed records with dead-letter handling, analytics dashboards, and a JSON audit log viewer.

Scale – multi-store pairing with its own direction, webhooks and filters per pairing, plus native Dokan, WCFM and WC Vendors support with per-vendor routing.

SEO migration – transfers meta titles, descriptions, focus keywords and Open Graph data from Yoast SEO or Rank Math, generates 301 redirects from old WooCommerce URLs, and runs an SEO audit and broken URL check.

AI Product Matching – scores unmatched products by title, SKU and product type, with optional AI re-ranking, and queues the best candidate for review; nothing links automatically, an administrator must Approve, Reject or Ignore each suggestion.

AI Error Explainer – turns a raw sync error into a plain-language explanation with a severity rating, confidence level and suggested next action, available directly from Sync Hospital and the Logs screen.

AI Sync Health Assistant – generates an on-demand, plain-English health briefing covering your connection, recent sync activity and queue status, with a 0-100 health score; it is diagnostic only and never changes any setting or data on its own.

AI Auto-Fix – scans for common product issues such as missing SKUs and proposes a specific fix with a before-and-after preview, expiring after 72 hours if not approved.

AI migration assistance – pre-migration catalog analysis that flags issues before a move, AI-assisted rewriting of product titles and descriptions, and a usage dashboard. This is separate from AI Auto-Fix above, which targets issues found in ongoing sync activity rather than a one-time pre-migration scan.

Every AI suggestion across all of these tools requires explicit human approval before anything is applied to your store.

Priority support for Pro users.

View W2S Sync Pro Page View W2S Sync Pro Documentation Sign up free trial to explore in our sandbox Choose ‘All in One Bundle’ option from the list of sites.

External Services

This plugin connects to the following external services to synchronize data between WooCommerce and Shopify:

  1. WooCommerce REST API

* What: Product data, orders, customer records and store metadata.
* When: During manual, on-save or scheduled syncs as configured by the user.
* Why: To read data from, or write data to, the WooCommerce store based on the configured sync settings.
* Where: The WooCommerce site domain, which is the site where the plugin is installed.

  1. Shopify Admin API (myshopify.com)

* What: Product details, orders, customers and store configuration data are sent and received.
* When: When the user initiates a sync manually, on save, or through a scheduled job (hourly, daily, weekly or custom).
* Why: To send WooCommerce data to Shopify, or to fetch Shopify data into WooCommerce.
* Where: The Shopify store domain provided by the user, for example yourstore.myshopify.com.
* Terms of Service: https://www.shopify.com/legal/terms
* Privacy Policy: https://www.shopify.com/legal/privacy

No other services are contacted. API credentials are stored in the WordPress database of the site where the plugin is installed.

Screenshots

Authentication screen showing WooCommerce Consumer Key and Secret fields, Shopify access token or Client ID and Secret fields, and connection status indicators.

Authentication screen showing WooCommerce Consumer Key and Secret fields, Shopify access token or Client ID and Secret fields, and connection status indicators.

Field Mapping tab showing default product field mappings between WooCommerce and Shopify, with custom field rows.

Field Mapping tab showing default product field mappings between WooCommerce and Shopify, with custom field rows.

Reliability tab with the read-only test sync control, failed sync email alerts and low-stock notification settings.

Reliability tab with the read-only test sync control, failed sync email alerts and low-stock notification settings.

Sync Configuration dashboard for selecting sync direction, record types, Create/Update/Delete permissions and sync frequency.

Sync Configuration dashboard for selecting sync direction, record types, Create/Update/Delete permissions and sync frequency.

Audit Log listing sync history with entity type, timestamp, status and error details, plus filtering and CSV export.

Audit Log listing sync history with entity type, timestamp, status and error details, plus filtering and CSV export.

Plugin Details

Active Installs
90
Total Downloads
2,301
Version
3.3
Requires WP
6.0
Requires PHP
7.4
Tested Up To
7.0.4
Added
2025-07-11
Last Updated
2026-09-04 1:07pm GMT

Ratings

5
0
4
0
3
0
2
0
1
1