Connect your WooCommerce store in three steps.
The Mailnaptic for WooCommerce plugin syncs your products, orders and carts and sends store events to Mailnaptic. Paste your API key and abandoned cart, back-in-stock and revenue reporting have data to work with. No REST keys, no webhook setup.
Ecommerce features need the Growth plan or above.
Connection
API key pasted from your Mailnaptic account
Connected
Products
Synced in batches, then on every change
Syncing
Orders
Last 90 days backfilled, then every status change
Syncing
Storefront tracking
Async script on your shop pages
On
Products, orders and carts synced
Storefront tracking and a back-in-stock form
Checkout opt-in for classic and Block Checkout
WordPress personal data export and erase
Setup
Install in three steps
There is no REST key to create in WooCommerce and no webhook to configure. The plugin does the wiring once it has your Mailnaptic API key.
1
Install the plugin
Install and activate Mailnaptic for WooCommerce on your WordPress site. The store sync needs WordPress 6.2, PHP 7.4 and WooCommerce 7.0 or newer. The signup form shortcode and block in version 1.3.0 do not need WooCommerce.
2
Paste your API key
Open the new Mailnaptic menu in WordPress admin, paste your Mailnaptic API key and connect. You need a user who can manage WooCommerce.
3
Wait for the backfill
The plugin syncs your products and the last 90 days of orders in batches in the background, then sends new activity as it happens.
You can disconnect or resync from the same Mailnaptic screen at any time.
What syncs
Products, orders and carts
After the first backfill, the plugin pushes changes as they happen. This is what travels to Mailnaptic.
Products
Created, updated and deleted products, and their variations. Name, slug, SKU, price, regular price, stock, up to 20 images, categories, tags and permalink.
Orders
New orders and every status change. Totals, tax, shipping and discount, line items with SKU, quantity, price and thumbnail, coupon lines, refunds, billing and shipping details, the marketing opt-in flag and time, and a pay link.
Carts
Add to cart, checkout start and cart updates for logged-in customers. For guests, the email is captured early at checkout, so a cart can be followed up before an order exists.
There is no separate customer sync. Customers arrive through their orders and cart emails.
Events
Events the plugin sends
Besides records, the plugin sends named events. Automations and reports use them as triggers and signals.
Orders
order_completed, order_cancelled and order_failed. order_shipped and order_delivered are sent only if your store has those custom order statuses.
Refunds
order_refunded, with partial and full refunds told apart, plus the amount and the reason.
Coupons
coupon_applied when a customer uses a coupon.
Reviews
product_reviewed for approved product reviews.
Subscriptions
Only if WooCommerce Subscriptions is active: subscription_activated, renewed, cancelled, paused (on hold), expired and trial_ended.
order_completed
Order #1001, sample
Orders
order_refunded
Partial refund, with amount and reason
Refunds
coupon_applied
A coupon code used at checkout
Coupons
product_reviewed
An approved product review
Reviews
subscription_renewed
Only with WooCommerce Subscriptions
Subscriptions
On the storefront
Three small things on your shop pages
The plugin adds very little to the storefront. From version 1.3.0 it also has a shortcode and a block for Mailnaptic signup forms, which you place yourself and which do not need WooCommerce.
Tracking snippet
An async script in the page head identifies logged-in customers by email and name. It records viewed_product, viewed_category, viewed_tag, viewed_cart, started_checkout and placed_order. It is on by default and can be switched off in the plugin settings. Nothing is sent until the visitor has agreed to statistics: choose Automatic, iubenda or Always track under Cookie consent for tracking, and other cookie banners can connect through a filter. The script is excluded from WP Rocket minify, combine and delay JavaScript.
Back-in-stock form
Out-of-stock product pages get a Notify me form. It submits by AJAX, with a honeypot field and a per-IP rate limit. Mailnaptic sends the restock email. A Notify me signup is notification only: that contact gets the restock email, but regular marketing campaigns skip them until they opt in, for example at checkout.
Checkout opt-in
A marketing checkbox at checkout, for classic and Block Checkout. It is unticked by default. Block Checkout needs WooCommerce 8.6 or newer.
Email me promotions, product launches and exclusive offers.
Default label, unticked. Both the label and the default can be changed with filters.
Sample product
Out of stock
Sold out
you@example.com
Notify me
What it enables
What it enables in Mailnaptic
Once store data flows in, these parts of Mailnaptic have something to work with.
Abandoned cart
Carts from add to cart, checkout start and early email capture can trigger an abandoned cart automation.
Failed payment recovery
A failed order carries a pay link, so the email can send the customer straight back to pay.
Back in stock
Shoppers who asked to be told get the restock email from Mailnaptic.
Browse abandonment
Detected in Mailnaptic after three or more product views with no cart and no purchase.
Price drop alerts
Detected in Mailnaptic from your synced products.
Commerce segments
Segment by orders, total spent, days since last order, first-time or repeat buyers, lifecycle stage, RFM and purchased product, SKU, tag or category.
Unique coupons
Mailnaptic can create one-time WooCommerce coupons per recipient, for the Coupon block in your emails.
Revenue attribution
Order data lets Mailnaptic tie revenue back to the campaigns and automations behind it.
Ecommerce features, including this plugin, need the Growth plan or above.
Failed payments
A failed payment becomes a way back to checkout
Every synced order carries its pay URL. When a payment fails, the recovery email can link directly to the pay page for that order.
order_failed
Payment did not go through
Email with pay link
Sent from Mailnaptic
order_completed
Customer paid; the recovery stops
Consent and privacy
Consent is recorded, not assumed
The plugin adds an opt-in at checkout and plugs into the WordPress privacy tools.
An unticked opt-in
The checkout checkbox starts unticked. The default label is Email me promotions, product launches and exclusive offers. You can change the label and the default with filters.
Stored with a timestamp
The choice is stored on the order, with the time and the source, woocommerce_checkout. Each synced order carries its opt-in flag and time.
WordPress privacy tools
The plugin registers a personal data exporter and eraser called Mailnaptic marketing data. They forward the request to Mailnaptic.
Send marketing only to contacts who opted in. Uninstalling the plugin removes its local settings; the store record stays in Mailnaptic.
Requirements
What your store needs
WordPress
6.2 or newer
PHP
7.4 or newer
WooCommerce
7.0 or newer, tested up to 9.4
Block Checkout
WooCommerce 8.6 or newer
High-performance order storage (HPOS)
Compatible
Sites
Single-site and multisite
Mailnaptic account
Growth plan or above, and an API key, for the store sync. Signup forms need Starter or above and no API key
Licence and updates
Version 1.3.5. GPLv2 or later. The plugin updates itself from mailnaptic.com.
For developers
Hooks and endpoints
Three filters and two REST routes cover custom needs. Since version 1.3.0 the plugin also has the [mailnaptic_form] shortcode and a signup form block, and a mailnaptic_form_script_url filter for the form script address.
The two checkout filters change the opt-in label and whether it starts ticked.
The loader filter decides whether the plugin loads its front-end assets. By default they load on checkout and product pages.
POST /coupons creates one-time coupons per recipient. POST /resync re-pushes one product or order, with a type and an external_id. Both accept the shared key that Mailnaptic provisions when you connect, sent as X-Mailnaptic-Key, or a user who can manage WooCommerce.
Filters
mailnaptic_checkout_optin_default_checked
mailnaptic_checkout_optin_label
mailnaptic_load_frontend_assets
REST, namespace mailnaptic/v1
POST /coupons
POST /resync
FAQ
Questions, answered
Does it work with forms plugins or page builders?
The plugin does not integrate with other form or page builder plugins. Besides the Mailnaptic signup form shortcode and block added in version 1.3.0, its only front-end form is the back-in-stock Notify me form on out-of-stock product pages. For signups from other places, send contacts to Mailnaptic with the Mailnaptic API or webhooks.
How do I add a Mailnaptic signup form to my site?
Plugin 1.3.0 adds a [mailnaptic_form] shortcode and a Mailnaptic signup form block. Create the form in Mailnaptic under Signup forms, copy its form ID, then use [mailnaptic_form id="YOUR_FORM_ID" mode="inline"] or paste the ID into the block. Set mode="popup" to show it as a popup, which needs the Growth plan or above. Signup forms need the Starter plan or above. They work without WooCommerce and without an API key.
Does it support Shopify?
Shopify has its own Mailnaptic app, which is in review with Shopify. This plugin is for WooCommerce only.
Can I use the plugin only for website tracking?
Yes. Paste the site key from Mailnaptic, under Domains, into the plugin settings and the plugin adds the tracking snippet to every page. It needs neither WooCommerce nor an API key, and it handles cookie consent the same way as the store version.
Does tracking work with my cookie banner?
Nothing is sent until the visitor has agreed to statistics. Choose iubenda under Cookie consent for tracking to follow the visitor's choice for measurement, or leave it on Automatic. Mailnaptic also reads Cookiebot, OneTrust, IAB TCF and Google Consent Mode on its own. Always track is only for sites that do not need consent.
Which plan do I need?
The store sync and the ecommerce features in Mailnaptic need the Growth plan or above. The signup form shortcode and block need Starter or above, and popups need Growth or above.
Does it sync only customers who opted in?
Do not assume so. Each synced order carries its opt-in flag and the time it was given. Send marketing only to contacts who opted in.
Does it work with HPOS and multisite?
Yes. The plugin is compatible with high-performance order storage and works on single-site and multisite installs.
What happens if I uninstall it?
Uninstalling removes the plugin's local settings. The store record stays in Mailnaptic.
Connect your store
Install the plugin, paste your API key and let the backfill run.
Ecommerce features need the Growth plan or above.