Opens in a new tab

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.

WordPress admin / Mailnaptic (sample)

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.

Event stream (sample)

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.

Checkout (sample)

Email me promotions, product launches and exclusive offers.

Default label, unticked. Both the label and the default can be changed with filters.

Product page (sample)

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.

Failed payment flow (sample)

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.

Reference

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.