Skip to main content
Omnisend for WooCommerce (WordPress)

Learn how to connect and integrate your WooCommerce store to Omnisend

Ira avatar
Written by Ira
Updated over a week ago

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 an opt-in consent checkbox preselect 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.

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

first_name

WordPress User first_name

WordPress User shipping_first_name

WordPress User billing_first_name

last_name

WordPress User last_name

WordPress User shipping_last_name

WordPress User billing_last_name

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 on www.example.com/devstore/. Alternatively, you can install the development store on the devstore.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:

  1. 3rd party security-related plugin.

  2. Custom PHP code that prevents access to required API resources.

  3. 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:

  1. In WordPress admin, go to WooCommerce → Settings → Advanced → REST API.

  2. Press ‘Add key’.

  3. Enter any name and press ‘Generate API key’.

  4. 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:

  1. Make sure you have the latest Omnisend plugin version.

  2. Make sure your network settings allow Omnisend API to be accessed: {shopDomain}/wp-json/omnisend-api/v1/connected returns true.

If you have any questions or need assistance, please contact our support team at [email protected].

Did this answer your question?