If you're unable to connect your WooCommerce store to Omnisend, see an "Omnisend Is Unable to Connect" error, or get stuck in an authorization loop, this guide will help you diagnose and fix the issue.
Most connection problems stem from plugin conflicts, firewall/security settings, API access restrictions, or incorrect store setup. Follow the diagnostic steps below to identify and resolve the problem.
Before troubleshooting: Ensure you've followed the main WooCommerce setup guide and completed the installation steps.
Before You Begin
Verify these prerequisites are met. If any are missing, the connection will fail regardless of troubleshooting steps.
Required for Connection:
✅ WooCommerce 3.6+ and WordPress 5.0+. Earlier versions don't support REST API v3 (required by Omnisend). Go to Plugins → Installed Plugins to check versions.
✅ Active HTTPS (SSL certificate). Your store URL must start with
https://. Omnisend can't access stores without valid SSL certificates.✅ WordPress installed at domain root. WordPress must be at
yourdomain.comorsubdomain.yourdomain.com, notyourdomain.com/store. Plugin fails if WordPress is on a page-level path.✅ REST API access enabled. Open
yourdomain.com/wp-json/wc/v3/productsin your browser. If you see product data or an error message, the API works. If you see a 404 error, REST API is blocked – see REST API Blocked section.⚠️ Empty store slot (if you already have another platform connected). If you have Shopify, BigCommerce, or another store connected to Omnisend, you must create a new store slot before connecting WooCommerce. Each platform requires its own store to prevent data mixing.
Connection Diagnostic Checklist
Work through these steps in order. After each step, try reconnecting. If the connection succeeds, you've found the issue.
Step 1. Verify Prerequisites
Confirm all requirements from Before You Begin are met:
WooCommerce 3.6+ installed
HTTPS active (URL starts with
https://)WordPress at domain root (not
/storesubdirectory)REST API accessible (test at
yourdomain.com/wp-json/wc/v3/products)Empty store slot created (if you have other platforms connected)
Step 2. Disable Known Problematic Plugins
These plugins frequently block Omnisend connections. Temporarily disable them one at a time, then retry connecting after each:
To disable a plugin, go to WordPress Admin → Plugins → Installed Plugins → click Deactivate.
WP Crontrol – Interferes with Omnisend cron jobs
LiteSpeed Cache – Strips Authorization headers
Really Simple Security – Blocks REST API requests
Wordfence / Cloudflare – Firewall blocks Omnisend IPs
Perfmatters – May disable REST API or scripts
💡 After connection succeeds: Re-enable plugins one by one to identify the culprit.
Step 3. Whitelist Omnisend IP Addresses
If you use Wordfence, Cloudflare, Really Simple Security, or any firewall plugin, they may be blocking Omnisend requests.
→ Jump to Firewall & Security Plugin Fixes section to whitelist Omnisend IPs and user-agents.
How to whitelist:
Step 4. Clear Cache & Test in Incognito
Clear your browser cache (Ctrl+Shift+Delete on Chrome/Edge, Cmd+Shift+Delete on Safari).
Open an incognito/private window.
Log in to WordPress and try connecting again.
If the issue persists in incognito mode, a browser extension or cached session is likely causing the problem. Disable extensions temporarily or use a different browser.
Step 5. Verify Connection Status
In WordPress: Go to the Omnisend plugin page. Status should show "Connected."
In Omnisend: Go to Store Settings → Contact Information → verify your store URL matches your live domain (not localhost or staging).
Test endpoint:
Open yourdomain.com/wp-json/omnisend-api/v1/connected in your browser. It should return true.
Specific Error Scenarios
If the diagnostic checklist didn't resolve your issue, find the error scenario below that matches your symptoms.
Authorization Redirect Loop
What you see:
You click "Approve" in the WooCommerce consent window.
You're redirected back to "Connect your account" without completing setup
Connection never finishes.
Why this happens: A caching plugin, security plugin, or WP Crontrol is stripping the Authorization header during the approval process.
How to fix:
Disable WP Crontrol: Go to Plugins → Installed Plugins → Deactivate WP Crontrol.
Disable caching plugins temporarily: Deactivate LiteSpeed Cache, WP Rocket, or any caching plugin.
Clear browser cache and open an incognito window.
Try connecting again.
If the loop persists: Contact your hosting provider (SiteGround, Bluehost, GoDaddy) and ask them to confirm the Authorization header isn't being stripped at the server level.
💡 After successful connection: Re-enable plugins one by one to identify the blocker.
Plugin Shows Connected, But Omnisend Says "Unable to Connect"
What you see:
Omnisend plugin in WordPress shows "active" or "connected."
Omnisend dashboard displays a red banner: "Omnisend Is Unable to Connect to Your WooCommerce."
Data isn't syncing between WooCommerce and Omnisend.
Why this happens: Omnisend can't access your WooCommerce REST API, even though the plugin is installed.
How to fix:
Check API Key: Go to WooCommerce → Settings → Advanced → REST API and verify the Omnisend API key exists and is not expired or revoked.
Test API Access: Open
yourdomain.com/wp-json/omnisend-api/v1/connectedin your browser.If it returns
true, the connection is working – wait 10 minutes and refresh your Omnisend dashboard.If it returns
falseor 404, the API is blocked – see REST API Blocked section.
Whitelist Omnisend IPs: Add Omnisend IP addresses to Wordfence, Cloudflare, or your firewall – see Firewall & Security Plugin Fixes section.
Verify Store URL: Go to Omnisend → Store Settings → Contact Information and confirm your store URL matches your actual domain (not
localhostor a staging URL likestaging.yourdomain.com).
"Add Permissions" Button Missing
What you see: After installing the plugin, you don't see the "Add permissions" button on the Omnisend plugin page.
Why this happens: An old Omnisend API key is still active, preventing the new permissions prompt from appearing.
How to fix:
Go to WooCommerce → Settings → Advanced → REST API.
Find the Omnisend key in the list.
Click Revoke to delete it.
Return to the Omnisend plugin page.
The "Add permissions" button should now appear. Click it and approve.
Blank Page or "Not Found" Error During Connection
What you see: When you click "Connect" or "Approve," you see:
A blank white page.
"The requested URL was not found on this server" (404 error).
Browser error instead of the approval pop-up.
Why this happens: Your server is stripping the Authorization header, or the WooCommerce REST API is disabled.
How to fix:
Add Authorization Header to
.htaccess:
Open your.htaccessfile (in your WordPress root folder via FTP or cPanel File Manager) and add this line:SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Save the file and retry connecting.
Check REST API Access:
Go toyourdomain.com/wp-json/wc/v3/productsin your browser.If you see product data, the API works.
If you see a 404 error, see REST API Blocked.
Contact Your Host:
Some hosts (Bluehost, GoDaddy, WP Engine) block REST API endpoints by default. Ask them to enable/wp-json/access.
REST API Blocked
What you see: Connection fails, and yourdomain.com/wp-json/wc/v3/products returns a 404 error or "REST API is disabled."
Why this happens: REST API is disabled by your host, security plugin, or theme settings.
How to fix:
Check Security Plugins:
In Wordfence: Go to Wordfence → Firewall → Firewall Options and ensure REST API is not blocked.
In Really Simple Security: Go to Settings → REST API and allow REST API access.
Check Theme Settings: Some themes (e.g., Divi, Avada) include options to disable REST API. Check theme settings and re-enable it.
Add
.htaccessRule: Add the Authorization header fix from Blank Page or "Not Found" Error During Connection section.Contact Hosting Provider: Ask them to confirm
/wp-json/endpoints are not blocked at the server level (common with Bluehost, GoDaddy, and WP Engine).
"Store Already Connected" Error
What you see: A banner appears:
"This Omnisend store is already connected. Select another store from your account and try again."
"No available store slot"
Why this happens: You already have a store (Shopify, WooCommerce, BigCommerce, etc.) connected to Omnisend, and you haven't created a new store slot for this WooCommerce site or your WooCommerce domain was previously connected to a different Omnisend account (including test accounts).
How to fix:
If you have another platform connected:
Create a new store slot in Omnisend:
Go to Account Settings → Stores → Add New Store.Switch to the new empty store:
Click the store switcher (top right of the Omnisend dashboard → Switch store) and select the new store.Return to WordPress and click "Connect your account" again.
Approve the connection in the pop-up.
💡 Why? Each platform (Shopify, WooCommerce, BigCommerce) must connect to a separate store in your Omnisend account to prevent data mixing.
If your domain was previously connected to a different Omnisend account:
Contact our support at [email protected] or in-app chat to disconnect the old link.
Connection Worked Before (Stopped Suddenly)
What you see:
The plugin was connected for weeks or months.
Suddenly shows "unable to connect" or sync stops.
No changes were made (that you remember).
Why this happens:
Your store URL changed slightly (added/removed
www.).Recent plugin or WooCommerce update revoked API permissions.
Firewall settings changed during a server update.
SSL certificate expired.
How to fix:
Check if your store URL changed: Go to Omnisend → Store Settings → Contact Information. If the URL doesn't match your actual domain (check for
www.differences), update it.Verify API key exists: Go to WooCommerce → Settings → Advanced → REST API. If the Omnisend key is missing, go to the Omnisend plugin page → click "Add permissions" → Approve.
Check your SSL certificate: Test at SSL Checker. If expired or invalid, renew via your hosting provider (many offer free Let's Encrypt certificates).
If none of these work: Go to the Omnisend plugin page → click "Add permissions" → Approve → wait 10 minutes → refresh.
Plugin Update Banner Won't Disappear
What you see: You updated the Omnisend plugin, but a banner still says "Update required" or "Connection issue."
Why this happens: Temporary delay in syncing plugin permissions with Omnisend.
How to fix:
Go to the Omnisend plugin page in WordPress.
Click Add permissions (if the button appears).
Click Approve in the WooCommerce consent window.
Wait 5–10 minutes for changes to propagate.
Clear your browser cache and refresh the page.
If the banner persists after 10 minutes, see Plugin Shows Connected, But Omnisend Says "Unable to Connect" section.
Firewall & Security Plugin Fixes
If you use Wordfence, Cloudflare, Really Simple Security, or any firewall plugin, you must whitelist Omnisend IP addresses and user-agents.
Omnisend IP Addresses to Whitelist:
Add these IPs to your firewall allowlist:
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
Wordfence
To whitelist Omnisend IPs in Wordfence:
Go to WordPress Admin → Wordfence → Firewall.
Click Manage Firewall → scroll to "Allowlisted IP addresses."
Paste each Omnisend IP address on a new line.
Click Save Changes.
Return to WordPress and retry connecting.
Cloudflare
To whitelist Omnisend in Cloudflare:
Log in to your Cloudflare dashboard
Go to Security → WAF (Web Application Firewall)
Click Create Rule
Set Rule Name:
Allow Omnisend(or similar)Set Field:
User Agent| Operator:contains| Value:Omnisend/1.0(case-sensitive)Set Action:
SkipSelect all components to skip
Click Deploy
To whitelist Omnisend IPs:
Go to Security → WAF → Tools
Scroll to IP Access Rules
Add each Omnisend IP (see list above) and set Action to
AllowClick Add
After saving, reinstall the Omnisend plugin in WordPress and reconnect.
Really Simple Security
To allow Omnisend requests:
Go to WordPress Admin → Really Simple Security → Settings
Click REST API
Ensure REST API is not disabled
Go to Firewall → IP Allowlist
Add each Omnisend IP address (see list above)
Save and retry connecting
Plugin Conflicts & Permanent Fixes
If disabling a plugin fixed your connection, use these permanent fixes so you can keep the plugin active.
WP Crontrol
Issue: Manages WordPress cron jobs and blocks Omnisend background processes.
Fix: Keep it disabled during connection. After connecting, re-enable only if you need it for other tasks. If issues persist, leave it disabled.
LiteSpeed Cache
Issue: Strips Authorization headers, causing connection failures.
Fix:
Go to WordPress Admin → LiteSpeed Cache → Exclude
Under URI Exclude, add:
/wp-json/omnisend*Save settings and retry connecting
Cloudflare (Turnstile / Forms Module)
Issue: Blocks Omnisend bot requests.
Fix: Whitelist the user-agent Omnisend/1.0 (case-sensitive) in Cloudflare WAF rules – see Cloudflare section.
Perfmatters
Issue: May disable REST API or JavaScript required for connection.
Fix:
Go to Perfmatters → Settings → Disable
Ensure REST API is not disabled
Retry connecting
Advanced Troubleshooting
Cloning Your WooCommerce Store (Staging/Test Environments)
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 using your hosting provider's tools, a WordPress plugin (WP Staging, Duplicator), or manual FTP/database copy. This creates the desired environment for testing or other purposes.
Step 2: Actions in Your Staging Store. Connect the staging plugin to a separate test brand in Omnisend (not your production brand). This ensures that the staging environment is linked to a different brand from your live store. The plugin displays the brand name, making it easier to distinguish which 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');How to Verify Your Staging Setup
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:
Go to your cloned shop's WordPress admin dashboard
Navigate to Tools → Site Health → Info → WordPress Constants
Verify that
WP_ENVIRONMENT_TYPEis 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:
Brand Name Display: The Omnisend plugin displays the brand name to help you easily identify which brand it is connected to.
Permalink Structure Issues
Issue: Some 404 errors resolve when the permalink structure is reset.
Fix:
Go to WordPress Admin → Settings → Permalinks.
Click Save Changes (even without making changes).
Retry connecting.
SSL Certificate Issues
Issue: An Invalid or expired SSL certificate prevents API access.
Fix:
Check your SSL certificate at SSL Checker.
If expired or invalid, renew via your hosting provider (many offer free Let's Encrypt certificates).
After renewal, retry connecting.
Server-Level Authorization Header Blocking
Issue: Some hosts (SiteGround, Bluehost, GoDaddy) strip the Authorization header by default.
Fix:
Add this line to your
.htaccessfile (in WordPress root):SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
If the issue persists, contact your hosting provider and ask them to enable the Authorization header passthrough for REST API requests.
How to Fix API Access Issues
Due to API access issues, your store data won't be synchronized to Omnisend. This prevents us from sending messages to your audience. If your store's data isn't syncing, API access may be blocked by:
Security plugins (3rd party).
Custom PHP code preventing API access.
WordPress or WooCommerce security settings.
Please contact your developers to identify and resolve any potential causes.
To check if WooCommerce API is accessible:
Go to WooCommerce → Settings → Advanced → REST API.
Click Add key.
Enter any name and click Generate API key.
Take the consumer key and secret, then enter this URL in your browser:
{shopDomain}/wp-json/wc/v3/products?consumer_key={consumer_key}&consumer_secret={consumer_secret}If the product list appears, the API works.
Delete the test API key after checking.
To check if the Omnisend API is accessible:
Update to the latest Omnisend plugin version.
Open
{shopDomain}/wp-json/omnisend-api/v1/connectedin your browser—it should returntrue.
Verify Your Fix Worked
After applying any fix, confirm the connection is active:
In WordPress: Go to the Omnisend plugin page. Status should show "Connected."
In Omnisend: Go to Audience → Contacts and confirm store contacts appear.
Test Endpoint: Open
yourdomain.com/wp-json/omnisend-api/v1/connectedin your browser. It should returntrue.
FAQ
The plugin shows "connected" in WordPress, but Omnisend says "unable to connect." Why?
It means that Omnisend can't access your WooCommerce API, even though the plugin is active. Check that your WooCommerce REST API is accessible, whitelist Omnisend IP addresses in your firewall, and verify your store URL in Omnisend matches your actual domain (not localhost).
What does "The requested URL was not found on this server" mean during connection?
This error means your server is blocking or misconfiguring WooCommerce REST API endpoints. Add SetEnvIf Authorization "(.*)\" HTTP_AUTHORIZATION=$1 to your .htaccess file, or contact your hosting provider to enable REST API access.
Why does clicking "Connect" show a blank white page?
A blank page during connection indicates your server is stripping the Authorization header or a plugin is blocking API requests. Add the Authorization header fix to .htaccess (see above), disable caching/security plugins temporarily, and retry.
I updated the plugin, but the banner still says "update required." What now?
After updating, go to the Omnisend plugin page in WordPress and click "Add permissions." Wait 5–10 minutes, clear your browser cache, and refresh. If the banner persists, see Plugin Shows Connected, But Omnisend Says "Unable to Connect" section.
WP Crontrol is causing issues. What does this plugin do?
WP Crontrol manages WordPress cron jobs (scheduled tasks). It can interfere with Omnisend's background processes. Disable it temporarily, complete the connection, then re-enable. If issues persist, leave it disabled or contact support.
Which IP addresses do I need to whitelist for Omnisend?
Whitelist these IPs in Wordfence, Cloudflare, Really Simple Security, or any firewall plugin: 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.
I use Cloudflare. How do I whitelist Omnisend?
Go to Cloudflare → Security → WAF → Create a rule. Whitelist the user-agent Omnisend/1.0 (case-sensitive) and add Omnisend IP addresses (see FAQ above) to your allowlist. After saving, reinstall the Omnisend plugin.
My store URL changed (from localhost or staging). How do I reconnect?
Go to Omnisend → Store Settings → Contact information and update your store URL to the live domain. Wait 10 minutes, then log out and log back in. If the issue persists, disconnect and reconnect the plugin from WordPress.
If you have any questions or need assistance, contact our Support Team at [email protected] or via in-app chat.




