Install the Omnisend for WooCommerce plugin to sync contacts, products, and orders between your store and Omnisend. You'll automate abandoned cart recovery, order confirmations, and segmentation – no manual setup required.
This guide covers installation for both wordpress.org and wordpress.com.
If you want to use Omnisend for WordPress without WooCommerce, see Omnisend for WordPress Plugin.
Didn't find what you need? Post a thread on the WordPress forum and support the community by getting the answers you need.
Before You Begin
You must create a new empty store before connecting WooCommerce. Each platform requires its own brand in Omnisend to prevent data mixing.
To create a new store: Go to Account Settings → Stores → Add New Store. Once created, return to WordPress and click "Connect your account" to link WooCommerce to this new store. Learn more about managing multiple stores.
If you haven't been using Omnisend before connecting to the WooCommerce store, you're connecting now; proceed with the steps below.
WordPress has two versions:
wordpress.org – Self-hosted; you install plugins manually.
wordpress.com – Hosted by Automattic; plugins install via marketplace.
Both are compatible with Omnisend. Follow the instructions for your version below: wordpress.org and wordpress.com.
Integrating Omnisend with WooCommerce
Installation Process for wordpress.org
Step 1. Navigate to your WordPress Admin Dashboard → Plugins → Add New → search for Omnisend for WooCommerce → click Install Now.
If you're new to WordPress, read Managing Plugins.
⚠️ Choose Email Marketing for WooCommerce by Omnisend. The generic WordPress plugin lacks WooCommerce-specific features.
Step 2. The plugin will be installed in a few seconds, and the 'Activate' button will appear. Click it to activate Email Marketing for the WooCommerce by Omnisend plugin.
Step 3. After activation, a banner appears at the top of the page. Click Connect your store to Omnisend.
Step 4. You'll land on the connection page.
Have an Omnisend account? Click Connect your account.
New to Omnisend? Click Create new account.
Step 5. If you selected "Connect your account" and have an empty store ready, you'll see an approval popup. Click Approve.
If you selected "Create new account," complete registration first, then approve.
⚠️ If you see an error instead of the Approve popup, go to Troubleshooting Store Connection.
Step 6. The plugin sends a verification request to Omnisend, and your store connects. You'll land on the Brand Assets page.
Installation Process for wordpress.com
Step 1. Navigate to your WordPress Admin Dashboard → Plugins → Add New → search for Omnisend for WooCommerce → select it.
Step 2. Click Install and activate on the Omnisend plugin page in the Plugin Marketplace.
Step 3. After installation, click Manage plugin.
Step 4. You'll land on the connection page.
Have an Omnisend account? Click Connect your account.
New to Omnisend? Click Create new account.
Step 5. If you selected "Connect your account" and have an empty store ready, you'll see an approval popup. Click Approve.
If you selected "Create new account," complete registration first, then approve.
⚠️ If you see an error instead of the Approve popup, go to Troubleshooting Store Connection.
Step 6. The plugin sends a verification request to Omnisend, and your store connects. You'll land on the Brand Assets page.
⚠️ If you face any problems with your store connection, jump to the troubleshooting section.
WooCommerce Plugin Benefits
Once you connect WooCommerce to Omnisend, you get access to:
Channels: Email, SMS, Facebook Custom Audience, Google Customer Match.
Signup forms: Wheel of Fortune, Popups, Landing Page, etc.
Automations: Welcome emails, Abandoned Cart, Order Confirmation, etc.
Expanded segmentation with enriched data.
Complete reports for campaigns, forms, automations, and deliverability.
💡 Omnisend WooCommerce plugin includes all standard Omnisend features. Need custom workflows? Use the Omnisend API to pass additional data.
Multisite Support
Omnisend is fully compatible with WordPress Multisite installations (plugin version 1.16.0 and above).
You can connect and manage multiple WooCommerce stores under a single multisite setup - no need to install Omnisend separately on each site manually.
This works whether your multisite is configured by a sub-domain (e.g. store1.example.com) or sub-directory (e.g. example.com/store1). Ideal for agencies or multi-brand sellers looking for centralized management and streamlined integration.
Add Plugin Permissions
Allow WooCommerce plugin permissions for the integration to run smoothly.
Step 1. Go to your WordPress admin panel and open the Omnisend plugin page.
Step 2. Update the Omnisend plugin to the latest version if needed.
Step 3. Click Add permissions.
Step 4. Click Approve in the WooCommerce consent window.
After updating the plugin:
If you updated the Omnisend plugin but still see a connection banner or red warning:
Wait 5–10 minutes for changes to propagate.
Clear your browser cache and refresh the page.
If the banner persists, check Troubleshooting Store Connection.
If you don't see the "Add permissions" button, go to WooCommerce → Settings → Advanced → REST API → select Omnisend key → Revoke. Then follow the steps above; the button should appear.
Data Synchronization
After connecting WooCommerce, Omnisend syncs all historical data from your store: contacts, products, and orders. Initial sync may take up to 24 hours. After that, assets populate instantly.
Data type | Contacts | Carts/Checkout | Orders | Products | Product categories |
Timeline | Instantly | Instantly | Instantly | Instantly | Instantly |
💡 By default, checkout emails sync as non-subscribed. To collect subscribers, enable the opt-in checkbox below.
Email Opt-In at Checkout
Go to the Omnisend Plugin and check Add an opt-in checkbox to the checkout page. You can customize the consent text and preselect the checkbox if desired.
Once enabled, customers who check the box during checkout will sync to Omnisend as email subscribers.
SMS Opt-In at Checkout
Go to the Omnisend Plugin and check Add an SMS opt-in checkbox to the checkout page. Customize the consent text as needed.
Customers who check the box during checkout will sync to Omnisend as SMS subscribers.
WooCommerce 8.3+ (New Checkout Blocks):
For WooCommerce versions 8.3 and higher, Omnisend automatically detects the new checkout blocks and positions the checkbox under the email field. Both classic and block checkouts are supported.
Checkout experience for different WooCommerce versions | Checkout Preview |
WooCommerce versions 8.2 and lower
(Classic Checkout experience) |
|
WooCommerce versions 8.3 and higher
(For the New Checkout (8.3+), the checkbox will appear right under the email field) |
|
Sync Status & Resync Options
On the plugin page, you'll see a sync status table showing Success, Error, Pending, or Skipped for contacts, products, and orders.
Self-service actions:
Resync – Retry failed syncs.
Resync all contacts – Use after major account changes (e.g., permanently deleting contacts).
💡 Make sure to enable Omnisend signup forms and consider alternative opt-in methods for the customers to trigger your automated emails (Automation).
Contact property priority:
Note that when syncing contact information, our system follows a priority-based approach for mapping first_name and last_name properties:
Priority 1: We first check the WordPress User first_name field.
Priority 2: If first_name is missing, we consider shipping_first_name.
Priority 3: If still unavailable, we look at billing_first_name for first_name.
Property | Priority 1 | Priority 2 | Priority 3 |
| WordPress User | WordPress User | WordPress User |
| WordPress User | WordPress User | WordPress User |
Order Status Mapping for Automation Workflows
Omnisend doesn't replace any of the automatic responses you have in your WooCommerce store.
Omnisend doesn't replace WooCommerce automatic responses. If you want to replace them, disable WooCommerce order confirmation emails and enable corresponding automations in Omnisend.
WooCommerce and Omnisend use different order status logic. See the table below for mapping:
Customise Omnisend with WordPress Filter Hooks
In WordPress, filter hooks are a type of hook that allow developers to modify data before it is displayed or processed. They provide a way to change WordPress functionality without directly modifying core files, making customization easier and updates safer.
How Do Filter Hooks Work?
Filter hooks use the apply_filters() function, which allows developers to modify or extend data before it is returned. Developers attach custom functions to a specific filter hook using add_filter(), which lets them change content dynamically.
Filter Hooks Provided by Omnisend
omnisend_contact_data
Allows customizing contact data before sending it to Omnisend (available properties can be found in our API Documentation).
add_filter( 'omnisend_contact_data', 'example_modify_omnisend_contact_data', 10, 2 );
function example_modify_omnisend_contact_data( $omnisend_contact, $wordpress_user ) {
if ( str_ends_with( $wordpress_user->user_email, '@gmail.com' ) ) {
array_push( $omnisend_contact['tags'], 'gmail_users' );
}
return $omnisend_contact;
}
omnisend_cart_line_item
Allows customizing every cart line item that gets sent to Omnisend as part of added product to cart and started checkout events
add_filter( 'omnisend_cart_line_item', 'example_modify_omnisend_cart_line_item', 10, 2 );
function example_modify_omnisend_cart_line_item( $omnisend_cart_line_item, $woocommerce_cart_item ) {
$omnisend_cart_line_item['special_product_category'] = $woocommerce_cart_item['special_product_category'];
return $omnisend_cart_line_item;
}
omnisend_cart_checkout_url_item
Allows adding additional properties to the cart item that gets encoded into checkout_url property in added product to cart and started checkout events that are used for cart recovery. These additional properties are automatically passed to WooCommerce during cart recovery.
add_filter( 'omnisend_cart_checkout_url_item', 'example_modify_omnisend_cart_checkout_url_item', 10, 2 );
function example_modify_omnisend_cart_checkout_url_item( $omnisend_cart_checkout_url_item, $woocommerce_cart_item ) {
$omnisend_cart_checkout_url_item['special_product_category'] = $woocommerce_cart_item['special_product_category'];
return $omnisend_cart_checkout_url_item;
}
omnisend_recover_cart_item_data
Allows additional customization of cart item data that is passed to WooCommerce during cart recovery.
add_filter( 'omnisend_recover_cart_item_data', 'example_modify_omnisend_recover_cart_item_data', 10, 2 );
function example_modify_omnisend_recover_cart_item_data( $woocommerce_cart_item_data, $omnisend_cart_item ) {
$woocommerce_cart_item_data['source'] = 'recovered_during_cart_recovery';
return $woocommerce_cart_item_data;
}
FAQ
For more troubleshooting cases please refer to Troubleshoot WooCommerce (WordPress) Connection Issues.
What is an "empty store" and why do I need one?
An empty store is a new store in your Omnisend account. If you already have a store connected (like Shopify), you must add a second store for WooCommerce. Go to Profile → Stores → Add New Store.
I see "Store Already Connected" but I never connected before. Why?
This usually means another store (or a test site with the same domain) is already linked. Create a new store in Omnisend, switch to it, then try connecting again.
Do I need to create a new store if I already have Shopify connected?
Yes. Each platform (Shopify, WooCommerce, etc.) must connect to a separate store in your Omnisend account to prevent data mixing. Go to Account Settings → Stores → Add New Store, then connect WooCommerce to this new store.
The "Approve" button doesn't appear. What do I do?
A: Go to WooCommerce → Settings → Advanced → REST API → find the Omnisend key → Revoke it. Then reinstall the plugin and try again.
Why do I get redirected back to "Connect your account" after clicking "Approve"?
This redirect loop usually happens when a caching plugin, security plugin (like Wordfence), or WP Crontrol interferes. Disable these plugins temporarily, clear your browser cache, and try again in an incognito window.
I disabled all plugins but still can't connect. What's wrong?
Check these:
Verify your domain has a valid SSL certificate (HTTPS).
WordPress must be installed at the domain root (not
example.com/store).Your server might be stripping authorization headers. Contact your host to add this to
.htaccess:SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Which plugins usually block Omnisend?
WP Crontrol, LiteSpeed Cache, Really Simple Security, Perfmatters, and some Cloudflare settings. Disable these first when troubleshooting.
How do I whitelist Omnisend in Wordfence?
Go to Wordfence → Firewall → "Allowlisted IP addresses" → add the IPs listed below → Save.
34.170.162.11;
34.56.62.59;
34.56.108.215;
34.133.59.36;
34.58.66.146;
35.184.130.5;
35.232.14.89.
The connection worked before but stopped suddenly. What happened?
Check if your store URL changed (even slightly, like adding www.). Also verify no recent plugin updates broke the connection. Try re-syncing the plugin.
How do I connect a staging site without breaking my live store?
Ensure your staging site has WP_ENVIRONMENT_TYPE set to "staging" in wp-config.php. Then connect the staging plugin to a separate test brand in Omnisend.
What does "wp-json/omnisend-api/v1/connected returns false" mean?
A: It means Omnisend can't reach your site's API. Check your firewall, disable caching plugins, and verify your SSL certificate is valid.
The plugin is activated but doesn't sync data. Why?
Initial sync takes up to 24 hours. Check the plugin page for sync status. If it shows errors, click "Resync" or disable conflicting plugins.
If you have any questions or need assistance, contact our Support Team at [email protected] or via in-app chat.


















