To sync orders between two WooCommerce sites automatically, you need either a dedicated synchronization plugin, a webhook-based bridge, or a checkout redirect solution that transfers order data in real time. This guide covers every proven method, from native REST API integrations to specialized plugins like CODARAB Redirect, so you can choose the approach that fits your store architecture and risk level.

- Sync orders between two WooCommerce stores is achievable without custom code using the right plugin or API approach.
- CODARAB Redirect offers automatic, immediate order synchronization between a high-risk site and a low-risk site.
- WooCommerce REST API and webhooks are the foundation of any reliable sync solution.
- Order status updates, customer notifications, and product name masking can all be handled from the primary store only.
- Choosing the wrong sync method can expose your payment processor account to detection and suspension.
- A dual-store strategy with proper order sync protects merchant accounts while maintaining a seamless customer experience.
- Sync orders between two WooCommerce sites requires a real-time data bridge, not a manual export/import process.
- CODARAB Redirect synchronizes orders instantly and sends customer notifications only from the main store.
- The WooCommerce REST API allows direct order creation on a second site when a purchase is made on the first.
- Product names can be replaced with order numbers to protect your payment processor account during sync.
- An iFrame checkout approach keeps customers on your primary domain while processing payments on the secondary site.
- Always test your sync flow end-to-end before going live to avoid duplicate or missing orders.
- Why You Need to Sync Orders Between Two WooCommerce Sites
- How WooCommerce Order Sync Works Under the Hood
- Method 1: CODARAB Redirect — Automatic Sync for High-Risk Stores
- Method 2: WooCommerce REST API and Webhooks
- Method 3: Third-Party Sync Plugins
- Method 4: iFrame Checkout with Order Data Transfer
- Method 5: Custom Checkout Redirect with Cart Data Bridge
- Comparison Table: Sync Methods Side by Side
- Step-by-Step Setup Process for Dual-Store Order Sync
- Common Mistakes to Avoid When You Sync Orders Between Stores
- Frequently Asked Questions
Why You Need to Sync Orders Between Two WooCommerce Sites
The need to sync orders between two WooCommerce stores arises in several real-world scenarios. The most common is the dual-store strategy, where a high-risk store captures the customer and a low-risk store processes the payment through a safer payment gateway.
Without proper synchronization, orders exist only on the secondary store and your primary store has no record. This creates serious problems: customers receive emails from an unknown domain, your CRM data is split, and fulfillment becomes chaotic. When it comes to sync orders between, preparation matters more than speed.
A second scenario is multi-regional selling, where one store serves one currency and another serves a different market. Syncing orders gives you a unified view of all sales in one dashboard.
A third scenario involves business continuity. If your primary payment processor suspends your account, a pre-configured secondary store with synchronized orders lets you keep selling without customers noticing any disruption. This is exactly the protection that solutions like the WooCommerce dual-store strategy are designed to provide. Anyone dealing with sync orders between should keep this step in mind.
How WooCommerce Order Sync Works Under the Hood
To sync orders between two WooCommerce installations, data must travel from one WordPress database to another in real time. Understanding the mechanism helps you choose the right tool and troubleshoot failures.
WooCommerce stores all order data in the wp_posts and wp_postmeta tables (or the newer wc_orders table if High-Performance Order Storage is enabled). A sync solution must read this data from Site A and write it to Site B using one of three transport methods:
- REST API push: Site A sends a POST request to Site B’s WooCommerce REST API endpoint (
/wp-json/wc/v3/orders) every time a new order is created. - Webhook listener: WooCommerce on Site A fires a webhook on order creation, and a custom endpoint on Site B receives and processes the payload.
- Plugin-to-plugin bridge: A dedicated plugin installed on both sites handles the communication using its own encrypted channel.
The most reliable approach combines webhooks for triggering the sync with the REST API for writing the data. This ensures near-zero latency and avoids the polling delays that come with scheduled cron-based solutions. This is exactly why sync orders between deserves a documented, methodical approach.
Order status updates must also be propagated back. When Site B marks an order as Completed, Site A should reflect the same status so that customer emails and fulfillment workflows trigger correctly from the primary store.
Method 1: CODARAB Redirect — Automatic Sync for High-Risk Stores
CODARAB Redirect is the most complete solution to sync orders between a high-risk WooCommerce store and a low-risk payment store automatically and immediately. It was specifically designed for merchants who sell digital products, IPTV subscriptions, dropshipping items, or other high-risk categories.
When a customer clicks Add to Cart, Buy Now, or Proceed to Checkout on Site 1 (the high-risk store), CODARAB Redirect transfers the cart data to Site 2 (the low-risk store) and creates a matching order on both sites simultaneously. The customer never leaves the domain of Site 1.
Key synchronization features of CODARAB Redirect include:
- Instant order creation: Orders appear on both stores at the same moment the customer initiates checkout.
- Single notification source: Customers receive order status emails (Processing, Completed, Canceled, On Hold, Failed) only from Site 1, avoiding confusion.
- Product name masking: Product names are replaced with the WooCommerce order number on payment receipts, protecting your account from automated detection by payment processors.
- iFrame checkout option: The checkout page of Site 2 is displayed inside Site 1 via an iFrame, so the customer sees the Site 1 domain at all times.
- Three redirect triggers: You can choose to redirect on Add to Cart, on Proceed to Checkout, or when a specific payment method is selected.
This approach is ideal for merchants whose primary domain is already flagged or blacklisted by a payment processor. You can learn more about how this works in the detailed CODARAB Redirect order sync guide. Everything described above applies directly to sync orders between.
Method 2: WooCommerce REST API and Webhooks
Using the WooCommerce REST API to sync orders between two sites is the most flexible DIY approach. It requires developer knowledge but gives you full control over what data is transferred and when.
The setup involves three steps on the source site (Site A):
- Generate REST API keys in WooCommerce Settings > Advanced > REST API with Read/Write permissions.
- Create a webhook under WooCommerce Settings > Advanced > Webhooks, set the topic to Order Created, and point the delivery URL to a custom endpoint on Site B.
- Optionally add webhooks for Order Updated and Order Deleted to keep statuses in sync.
On the destination site (Site B), you register a custom REST endpoint that receives the webhook payload and uses the WooCommerce REST API to create or update the order. Authentication uses the Site B API keys embedded in the receiving script. For more background on this subject, see WooCommerce official documentation.
The main limitation is maintenance. Any WooCommerce update that changes the order data structure can break the sync. You also need to handle authentication, error logging, and retry logic for failed requests. Planning ahead for sync orders between saves both time and money later.
This method works well for developers who want a lightweight, dependency-free solution and who are comfortable maintaining custom code over time.
Method 3: Third-Party Sync Plugins
Several third-party plugins can sync orders between WooCommerce stores without requiring custom development. These plugins typically install on both sites and establish a secure connection using API keys or a shared secret.
When evaluating a third-party sync plugin, look for these capabilities:
- Real-time sync vs. scheduled sync: Real-time is always preferable for order data. Scheduled syncs (every 15 or 30 minutes) create gaps where an order exists on one store but not the other.
- Bidirectional sync: Status updates made on Site B should propagate back to Site A, not just the initial order creation.
- Conflict resolution: If both stores update the same order simultaneously, the plugin needs a clear rule for which version wins.
- Data mapping: Product IDs, customer IDs, and shipping zones are almost always different between two separate WooCommerce installations. The plugin must map these correctly.
- Logging and alerts: A sync failure that goes undetected can result in unfulfilled orders. Good plugins provide a sync log and email alerts on failure.
For high-risk merchants, a generic sync plugin may not be sufficient because it does not address the payment processor detection problem. In that case, CODARAB Redirect is the more appropriate choice since it combines order sync with checkout cloaking and product name masking. Most questions about sync orders between come back to these same basics.
You can find a curated list of tools in the best WooCommerce plugins for high-risk merchants overview.
Method 4: iFrame Checkout with Order Data Transfer
The iFrame method lets you sync orders between two sites while keeping the customer visually on the primary domain throughout the entire purchase journey. This is the most seamless user experience option available.
Here is how it works in practice. Site 1 displays its own product pages, cart, and checkout page. When the customer reaches the payment step, the actual checkout form rendered inside the page is loaded from Site 2 via an iFrame. The customer sees the URL of Site 1 in their browser but completes payment on Site 2’s checkout infrastructure.
When the payment is confirmed on Site 2, a callback creates the corresponding order on Site 1 and triggers the customer notification from Site 1. The customer never realizes two separate stores are involved. A structured response to sync orders between always beats a rushed one.
This approach has specific technical requirements:
- Both sites must be on HTTPS to avoid mixed-content browser warnings that break the iFrame.
- The Site 2 checkout page must be stripped of its header, footer, and navigation to look native inside the iFrame.
- Cross-origin communication between the iFrame and the parent page must be handled carefully to avoid security issues.
CODARAB Redirect includes this iFrame checkout feature as a built-in option, removing the need to build the cross-origin communication layer from scratch. See the WooCommerce checkout inside iFrame guide for implementation details.
Method 5: Custom Checkout Redirect with Cart Data Bridge
A custom checkout redirect with a cart data bridge is a lighter alternative to the full iFrame approach. Instead of embedding Site 2 inside Site 1, the customer is redirected to Site 2’s checkout with all cart data pre-populated, then redirected back to Site 1’s thank-you page after payment. Anyone researching sync orders between will recognise this pattern quickly.
The cart data bridge works by encoding the cart contents (product IDs, quantities, prices, customer details) as URL parameters or a temporary session token. Site 2 reads this data and reconstructs the cart before displaying the checkout page.
The main advantage over iFrame is simplicity: no cross-origin issues, no stripped checkout page requirement, and easier debugging. The main disadvantage is that the customer briefly sees the Site 2 URL, which can raise questions if the two domains look very different.
To minimize this issue, Site 2 should use a neutral, generic domain name that does not reveal it is a secondary store. The guide on setting up a low-risk WooCommerce backup store covers domain selection and configuration in detail. Keeping written notes on sync orders between makes the next decision easier.
Comparison Table: Sync Methods Side by Side
Choosing how to sync orders between your two WooCommerce stores depends on your technical resources, risk level, and user experience requirements. The table below summarizes the key differences.
| Method | Real-Time Sync | No-Code Setup | Hides Site 2 URL | Product Name Masking | Best For |
|---|---|---|---|---|---|
| CODARAB Redirect | Yes | Yes | Yes (iFrame option) | Yes | High-risk merchants |
| REST API + Webhooks | Yes | No (dev required) | No | Manual | Developers |
| Third-Party Sync Plugin | Varies | Yes | No | Rarely | Standard multi-store |
| iFrame Checkout | Yes | No (dev required) | Yes | Depends on plugin | UX-focused merchants |
| Cart Data Bridge Redirect | Yes | Partial | No (brief redirect) | Manual | Simple dual-store setups |
Step-by-Step Setup Process for Dual-Store Order Sync
The following process applies to the most common scenario: using CODARAB Redirect to sync orders between a high-risk Site 1 and a low-risk Site 2. Adapt the steps if you are using a different method.
After the initial setup, monitor the sync log in the CODARAB Redirect dashboard for the first week. Look for any failed sync events and resolve them before they accumulate. A failed sync means an order exists on Site 2 but not on Site 1, which breaks your fulfillment workflow.
For merchants using the REST API method instead, the process differs at Step 2: you configure webhooks on Site 1 and a receiving endpoint on Site 2, then test with WooCommerce’s built-in webhook delivery log. That single detail changes the outcome of sync orders between completely.
Common Mistakes to Avoid When You Sync Orders Between Stores
Even well-configured setups fail when merchants overlook certain details. Here are the most frequent mistakes when you sync orders between two WooCommerce installations.
Sending duplicate customer notifications. If both Site 1 and Site 2 have order emails enabled, customers receive two sets of emails for every order. Always disable all transactional emails on Site 2 and keep them active only on Site 1.
Mismatched product IDs. Site 1 and Site 2 have separate product catalogs with different database IDs. A sync that maps by product ID will fail or create incorrect orders. Always map by SKU or product name, and keep SKUs consistent across both stores. Testing everything before going live keeps sync orders between predictable.
Ignoring order status sync. Many merchants set up the initial order creation sync but forget to sync status updates. An order marked Completed on Site 2 should automatically update to Completed on Site 1. Without this, fulfillment workflows and customer notifications break. See the WooCommerce order status sync guide for the correct configuration.
Not testing the full purchase flow. Always complete a real test transaction from product page to thank-you page on Site 1 before going live. Check that the order appears on both stores, that the customer receives exactly one email, and that the order number is consistent.
Using a blacklisted domain for Site 2. If Site 2’s domain is already on a payment processor blacklist, the sync will work but payments will still be rejected. Choose a clean, neutral domain for your low-risk store. The guide on detecting payment blacklists can help you verify your domain status before setup. Small adjustments often improve sync orders between more than a full rebuild.
Skipping SSL on either site. Both stores must use HTTPS. Without SSL on Site 2, the iFrame checkout will trigger mixed-content warnings in modern browsers and the checkout will not load for customers.
Not configuring a fallback. If the sync fails during a peak traffic period, you need a fallback plan. Configure webhook retry logic and set up email alerts for sync failures so you can intervene quickly rather than discovering the problem hours later. For more background on this subject, see WordPress platform resources. The same logic applies to sync orders between in almost every setup.
Frequently Asked Questions
What is the easiest way to sync orders between two WooCommerce sites?
The easiest way to sync orders between two WooCommerce sites is to use a dedicated plugin like CODARAB Redirect, which handles the entire process automatically without requiring custom code. It transfers order data in real time, masks product names, and sends customer notifications only from the primary store. No developer skills are needed for the basic setup.
Can I sync orders between two WooCommerce sites for free?
A basic sync using the WooCommerce REST API and webhooks can be implemented for free if you have developer skills. However, free generic sync plugins rarely offer real-time synchronization, product name masking, or checkout cloaking. For high-risk merchants, a paid specialized solution like CODARAB Redirect is more reliable and includes features that protect your payment processor account.
Will customers know their order is being processed on a different site?
Not if you configure the sync correctly. With the iFrame checkout option in CODARAB Redirect, customers see only the primary store’s domain throughout the purchase. All order confirmation emails come from the primary store. Customers have no visibility into the secondary store unless you accidentally leave its email notifications enabled or expose its URL during the redirect. Reviewing sync orders between early prevents costly mistakes later on.
How do I sync orders between two WooCommerce sites in real time?
Real-time sync requires either webhooks or a plugin that uses webhooks internally. Avoid solutions that rely on cron jobs or scheduled polling, as these introduce delays of up to 30 minutes. CODARAB Redirect and the WooCommerce REST API with webhooks both achieve near-instant synchronization, typically completing the data transfer within one to two seconds of order creation.
Does syncing orders between two sites affect SEO?
Order sync itself does not affect SEO because order data is not indexed by search engines. However, the checkout redirect method can affect SEO indirectly if customers land on Site 2 pages that are indexed. To prevent this, add a robots.txt disallow rule on Site 2 for the checkout and order confirmation pages, and ensure the canonical tag on any shared product pages points to Site 1.
What happens to order sync if one site goes offline?
If Site 2 goes offline, the sync will fail and orders will only be recorded on Site 1. If Site 1 goes offline, customers cannot place orders at all. Most webhook-based systems include a retry mechanism that queues failed deliveries and retries them when the destination site comes back online. Always configure email alerts for sync failures and choose a hosting provider with high uptime guarantees for both stores. Clear expectations make sync orders between far simpler to manage day to day.
Can I sync order status updates from Site 2 back to Site 1?
Yes, and this is a critical step that many merchants overlook. When you configure your sync, set up bidirectional status propagation so that when Site 2 marks an order as Completed or Refunded, Site 1 reflects the same status automatically. CODARAB Redirect handles this bidirectional sync natively. With a manual REST API setup, you need to configure a second webhook on Site 2 that posts status changes back to Site 1.
Is it legal to use two WooCommerce stores with order sync?
Running two WooCommerce stores and synchronizing orders between them is entirely legal. Businesses commonly operate multiple storefronts for different markets, risk levels, or payment processors. The key requirement is that you comply with the terms of service of your payment processor on each store. Using a secondary store specifically to hide high-risk product names from a payment processor may violate that processor’s acceptable use policy, so always review the terms carefully before proceeding. Support teams resolve sync orders between faster when the information is complete.
What data is transferred when orders sync between two WooCommerce sites?
A complete order sync transfers the customer name, email, billing address, shipping address, line items (product names, quantities, prices), order total, applied coupons, shipping method, and payment method. Some plugins also sync custom order meta fields and order notes. Product name masking, when enabled, replaces the actual product names with the order number before the data reaches the payment processor’s systems.
How do I test that my order sync is working correctly?
Place a test order using a real payment method (or a test card if your gateway supports sandbox mode) and verify four things: the order appears in both Site 1 and Site 2 admin panels with the same order number, the customer receives exactly one confirmation email from Site 1, the order status on both sites updates simultaneously when you change it on either store, and no product names appear on the payment receipt — only the order number.
Learning how to properly sync orders between two WooCommerce stores is one of the most impactful steps you can take to protect your revenue and deliver a professional customer experience. Whether you choose the REST API approach for maximum flexibility or CODARAB Redirect for a no-code, high-risk-ready solution, the key is real-time synchronization with bidirectional status updates and a single notification source. To get started with the most complete dual-store sync solution available for high-risk WooCommerce merchants, visit the WooCommerce order redirect plugin for automatic two-site sync and configure your stores today.
