Omnisend for WooCommerce is an integration that allows you to link your Omnisend account to your WooCommerce store.
It lets you use your store's data to segment your customers better, automate marketing, recover abandoned carts, and automate the upsell process, among other available features.
If you want to use Omnisend for WordPress without WooCommerce, jump to this article for more detailed instructions.
Didn’t find what you were looking for? Post a thread on the WordPress forum and support the community by getting the answers you need.
Integrating Omnisend with WooCommerce
Before You Begin
If you have been using Omnisend and already have an account with another store connected, you'll need to create a new empty store first, then proceed with the steps described below.
To register a new store under an existing account, check this step-by-step guide. Once a new store is registered, proceed with the steps below.
If you haven't been using Omnisend before connecting to the WooCommerce store, you're connecting now; proceed with the steps below.
Also, WordPress has two app versions. Both are compatible with Omnisend but have slightly different designs. So, for your convenience, we'll show the whole process for both app versions: wordpress.org and wordpress.com.
Installation Process for wordpress.org
Step 1. Navigate to your WordPress Admin Dashboard, → go to the Plugins page → Add New→ search for Omnisend for WooCommerce plugin → click Install Now.
If you are only starting to work in WooCommerce, we suggest reading more about WooCommerce plugins here.
We highly recommend that WooCommerce users opt for Email Marketing for WooCommerce by Omnisend. This is because choosing a general WordPress plugin might not serve you optimally, causing you to miss out on numerous beneficial features specific to the WooCommerce plugin.
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. The plugin will be activated, on the top of this page, you'll see a bar allowing you to connect your Omnisend store to WooCommerce. Click the 'Connect your store to Omnisend' as shown in the screenshot below.
Step 4. You'll land on the page shown below. If you have an Omnisend account, you should already have an empty store created there, as explained here. If so, click the 'Connect your account' button.
If you're starting to use Omnisend and that's the first store you're connecting to Omnisend, click the 'Create new account' button:
Step 5. If you've selected the 'Connect your account' option and you have an empty store to connect the store to, you'll see the popup shown in the screenshot below. If you've selected the 'Create new account' option, you'll need to go through the Account Registration process first; then, you'll see the same popup. Click the 'Approve' button. If you don't land on this page and an error is shown instead, go to our Troubleshooting section.
Step 6. That's it! The plugin will send a Verification request to Omnisend, and the store will be connected. You'll land on the Brand Assets page:
Installation Process for wordpress.com
Step 1. Navigate to your WordPress Admin Dashboard, → go to the Plugins page → Add New→ search for Omnisend for WooCommerce plugin and select it.
Step 2. You'll be redirected to the Omnisend plugin page in the Plugin Marketplace. Click the 'Install and activate' button.
Step 3. It'll take a few seconds to install and activate the plugin. Once it's done, you'll land on this page. Click the 'Manage plugin' button.
Step 4. You'll land on the page shown below. If you have an Omnisend account, you should already have an empty store created there, as explained here. If so, click the 'Connect your account' button.
If you're starting to use Omnisend and that's the first store you're connecting to Omnisend, click the 'Create new account' button.
Step 5. If you've selected the 'Connect your account' option and have an empty store to connect the store to, you'll see the popup shown in the screenshot below. If you've selected the 'Create new account' option, you'll need to go through the Account Registration process first; then, you'll see the same popup. Click the 'Approve' button. If you don't land on this page and an error is shown instead, go to our Troubleshooting section.
Step 6. That's it! The plugin will send a Verification request to Omnisend, and the store will be connected. 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 your WooCommerce to your Omnisend account via the plugin, you will get access to the complete package of Standard and Pro plans features, including:
Channels: Email, SMS, Facebook Custom Audience, and Google Customer Match;
All Signup forms: Wheel of Fortune, Popup, Signup Box, and Landing Page;
All Automations: Welcome emails, Abandoned Cart, Order Confirmation, etc.;
Expanded subscriber list segmentation with enriched data;
Complete reports of campaigns, signup forms, and automations and deliverability results;
💡 Omnisend WooCommerce plugin includes all Omnisend standard features. You might want to pass additional information to your Omnisend account for custom automation workflows. To do that, you can use our open API. To learn more about backend possibilities, please visit our API documentation.
Adding Plugin Permissions
Make sure to allow WooCommerce plugin permissions for the integration to run smoothly. To do that, go to the WordPress admin panel and press the "add permissions" button.
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 the “Add permissions” button
Step 4. Click “Approve” in the WooCommerce consent window.
If you don't see the button to add permissions, go to WooCommerce settings → Advanced → REST API → select Omnisend key → Revoke. Then follow the steps described in the video; you should see the button now.
Data Synchronization
After completing the WooCommerce integration, Omnisend starts syncing all historical data from your store.
The information passed to Omnisend includes your contacts, products, and orders. The initial synchronization may take up to a few hours but not more than 24 hours.
Later on, all of your assets will be populated to Omnisend instantly.
Please note that we sync email addresses provided on the checkout with non-subscribed status to Omnisend by default.
Our plugin allows you to add an email opt-in checkbox at checkout. So, to gather email subscribers at checkout, go to the Omnisend Plugin and check the box 'Add an opt-in checkbox to the checkout page.' You can also change the opt-in checkbox consent text. Optionally, you can make the opt-in consent checkbox preselected by checking the 'Preselect opt-in checkbox in the checkout page' box.
Once this is done, the consent box will be added to your store's checkout page. During the checkout process, everyone who checks this box will be synced to Omnisend as an email subscriber.
Please note that for WooCommerce versions 8.3 and higher, Omnisend will automatically detect the version of the checkout and position the marketing consent checkbox accordingly. Both versions are supported, and the enablement process remains the same.
In this version, the checkout blocks have become the default checkout experience for new installations. These blocks offer a more modern and flexible design than the classic checkout (compared below).
With this update, Omnisend supports capturing key customer actions directly in the new checkout blocks, such as when they start the checkout process and email opt-ins. This ensures that you can efficiently collect subscriber data and monitor checkout events without missing important actions.
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) |
|
Note! The checkout opt-in works for the email channel only; phone numbers will be synced with non-subscribed status.
On your plugin page, you will see a store data sync status table that will show the corresponding status of syncing: Success, Error, Pending, Skipped with two self-service actions:
Option to resync data, which failed to sync. For this, click the "Resync" button.
Option to resync all store data. We advise using the "Resync all contacts" button when you make heavy changes in your account, like permanently deleting contacts.
Tip! 👍 Make sure you enable at least a few forms provided by Omnisend and integrate the ones you already have in your store.
We also recommend considering alternative ways for the opt-in collection for the customers to trigger your Automation workflows.
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.
If you wish to replace them, you need to disable automations sent by WooCommerce and enable corresponding automations in Omnisend.
As the two platforms have different logic behind them, to work with order-based automations, it is crucial to understand how the order statuses on WooCommerce are mapped to the ones on Omnisend. The table below will help you to understand the statuses of different payment methods in WooCommerce.
Troubleshooting Store Connection
Error: This Omnisend store is already connected. Select another store from your account and try again.
If you get this error, you already have another WooCommerce store connected to your Omnisend account. To fix this, you'll need to log into your Omnisend account in a separate tab and open the empty store where you want your WooCommerce store to be connected (it should be created by now, but if you haven't done it yet, do it as explained here). Then, return to your WordPress admin account and click the 'Connect your account' button again. You'll land on this page, where you'll need to Approve the connection, and that's it.
Error: an error occurred in the request, and at the time, we were unable to send the consumer data.
This is a common error in WooCommerce. There are a few possible causes to this issue:
The most common cause of this problem is that your store uses WooCommerce version 3.5 or earlier. Make sure you upgrade to the latest WooCommerce version before installing our plugin.
Your store doesn’t have a valid HTTPS/SSL certificate. Make sure you install and activate one so our app can communicate with the WooCommerce API.
For the plugin to work, WordPress must be installed at the domain or subdomain level, not the page level. For example, say you’re developing a store for a client, and you’re creating a mockup on
www.example.com/devstore/
. Our server will try to connect to the WooCommerce API at the subdomain level,www.example.com
but the store is onwww.example.com/devstore/
. Alternatively, you can install the development store on thedevstore.example.com
subdomain; that will work.
Your store is password protected, or you’re using a “coming soon” or “site under construction” plugin disabling public access to your store. This also restricts API access, and our app needs it to work.
Your store has a caching plugin that strips the “Authorization” header. Try turning off your plugins one by one to find the one causing the issue.
You have a store plugin, including performance-enhancing and security-related plugins, that is blocking access to the WordPress or WooCommerce REST API (for example, the Perfmatters plugin). Try deactivating these plugins one by one to identify the one causing the issue.
If you’ve tried all the above, your server is stripping the “Authorization” header.
Authorization – step 1
Authorization – step 2 – error
Important: As this pertains to the configuration of your web server and/or other WordPress plugins, Omnisend cannot provide support in these cases. You can try the suggestions below at your own risk. Please always consult with a web developer when making configuration changes.
In some cases, doing the following might help (some may not apply to you):
Review the configuration of your caching plugin and look for settings that pertain to caching or not caching headers
Generate a new, valid LetsEncrypt certificate for your subdomain on the server level
Remove the Cloudflare CDN Proxy from the Subdomain (i.e., having it point directly to the IP)
Switch the WooCommerce Theme to “Storefront” just for the connection
Adding the following to your
.htaccess
file:
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
If that does not work, contact your hosting provider.
Order Confirmation emails were not sent after I imported my orders to WooCommerce
Automations will not be triggered for order events that have exceeded a 3-hour delay. For instance, in the case of an Order Confirmation, if you receive/add an event for an order placed more than a day ago, the Order Confirmation will not be sent. The same logic applies if your store is connected via API.
Cloning Your WooCommerce Store
When you clone your WooCommerce store to create a test or staging environment, it allows you to safely test new features, updates, and other changes without affecting your live store.
How the Omnisend Plugin Works
The Omnisend plugin ensures a clear distinction between your production and staging environments by automatically disconnecting the staging environment from sending data to your live store. It also requires the staging environment to be connected to a test brand.
Steps to Set Up a Staging Environment
Step 1: Actions in Your Production Store
Clone Your Store: Proceed with cloning your production store. This creates the desired environment for testing or other purposes.
Step 2: Actions in Your Staging Store
Connect Staging Plugin to Test Brand: In your cloned (staging) store, connect the Omnisend plugin to a test brand. This ensures that the staging environment is linked to a different brand from your live store. The plugin will display the brand name, making it easier to distinguish the Omnisend brand it’s connected to.
Important Notes
Automatic Disconnect: When a production copy is created, the staging plugin will automatically disconnect from the main store, preventing it from sending data back to the production environment.
The Omnisend plugin detects when a staging environment has been created and disconnects from your live store so that no non-production data is sent there. For the plugin to detect the environment change, your cloned staging environment must have the WP_ENVIRONMENT_TYPE WordPress variable set to "staging" or "development."
This should either be set automatically by your cloning tool of choice or, if you're cloning manually, could be set in your wp-config.php file, such as:
define('WP_ENVIRONMENT_TYPE', 'staging');
If you're using a third-party tool to clone your shop and you want to ensure that the setup it created is correct, you can do so by going to your cloned shop's WordPress admin dashboard, navigating to Tools → Site Health → Info → WordPress Constants and verifying that WP_ENVIRONMENT_TYPE is set to "staging" or "development".
Values such as "production" or "Undefined" should only appear in your production store. If they appear in your cloned shop, that indicates an incorrect setup, as the Omnisend plugin would not be able to detect that it needs to disconnect.
For detailed steps on how to clone your WooCommerce store and create a testing or staging environment, please follow these guides for WooCommerce and WordPress.
Brand Name Display: The Omnisend plugin displays the brand name to help you easily identify which brand it is connected to.
How to Fix API Access Issues
Due to API access issues, your store's data will not be synchronized with Omnisend. This prevents us from sending messages to your audience.
There are many factors that can prevent us from accessing required Omnisend resources on WordPress (wp-json/omnisend-api/*) or WooCommerce (wp-json/wc/v3/*) after you have installed our plugin, for example:
3rd party security-related plugin.
Custom PHP code that prevents access to required API resources.
WordPress or WooCommerce security-related settings.
Please contact your developers to identify and fix possible causes.
After you have fixed the issues, follow these steps to make sure everything is working as expected.
To check if Woocommerce API is accessible:
In WordPress admin, go to WooCommerce → Settings → Advanced → REST API.
Press ‘Add key’.
Enter any name and press ‘Generate API key’.
Now take the provided consumer key and secret and enter the URL below in your browser.
{shopDomain}/wp-json/wc/v3/products?consumer_key={consumer_key}&consumer_secret={consumer_secret}
5. If the product list is returned, everything is working fine.
6. After checking, you can delete the API Key you created.
To check if Omnisend API is accessible:
Make sure you have the latest Omnisend plugin version.
Make sure your network settings allow Omnisend API to be accessed: {shopDomain}/wp-json/omnisend-api/v1/connected returns true.
WordFence Blocking
If you have the WordFence plugin installed and activated, it may block Omnisend requests to WordPress. To amend this, go to your WordFence plugin settings → Firewall Options and enable learning mode as shown in the screenshot below.
After saving, please try reinstalling the Omnisend plugin and attempt to reconnect.
CloudFlare Blocking
If your website is hosted by Cloudflare, it may have a firewall that blocks Omnisend requests. To add Omnisend to Cloudflare's whitelist, go to Cloudflare's settings, select Security, then WAF, and create a rule.
Whitelisting 'omnisend/1.0' user-agent will allow Omnisend to reach WordPress and solve the issue. After it is done, you may need to reinstall the Omnisend plugin and reconnect it.
If you have any questions or need assistance, please contact our support team at [email protected].