Features¶
Each feature is a module with its own switch on the General tab (see Switch on features).
| Feature | What it does |
|---|---|
| Email templates | Ready-made bluefox emails for everything the plugin sends, created and updated with one click (not a switch: always on the General tab) |
| Signup forms | Block, [cfbe_form] shortcode and [cfbe_promo] bar with double opt-in |
| Popup | The signup form in a popup with triggers, targeting and frequency rules |
| Interests and tags | How signups are tagged in bluefox for segments |
| Checkout opt-in | Newsletter checkbox on the classic and block checkout and on My Account |
| Welcome coupon | Single-use coupon for new subscribers, after they confirm |
| Order emails | Your bluefox emails on order events |
| Abandoned cart emails | Reminders with a restore link and an optional recovery coupon |
| Contact sync | User and customer data on bluefox contacts, with backfill |
| Email delivery | wp_mail() through the bluefox transactional API |
| Form plugin integrations | Contact Form 7, WPForms, Fluent Forms, Gravity Forms, Elementor Pro |
| Preferences page | Your own unsubscribe / pause page |
| Inbound webhooks | bluefox events stored in WordPress, developer hooks |
| AI agent access | Settings as WordPress abilities for AI agents (experimental) |
How a signup works¶
Every signup – form, popup, checkout or a third-party form – goes through the same steps:
- Consent is recorded first. The plugin stores a row in
{prefix}cfbe_subscriberswith the email, name, source, list, tags, the consent text, the (optionally anonymised) IP address and the time. -
The contact is added to bluefox. The plugin first looks the email up on the list:
- not on the list → added without a status, so bluefox sends its double opt-in email;
unverified→ the confirmation email is re-sent (at most once a day per mailbox); name and tags are applied after confirming;unsubscribed→ added again, bluefox re-sends its confirmation email; name and tags are applied after confirming;active→ nothing changes: no name or tag update, no coupon;paused→ stays paused, nothing changes.
An unconfirmed request never changes an existing contact. Only when the address owner asks (a logged-in customer ordering with their own account email, or the My Account opt-in) is the contact updated at once, and a paused contact made active again.
The visitor sees the Successful signup message in every case, unless Form → Show the "Already subscribed" message is on. An address whose earlier signup expired or failed starts over as a new pending signup. 3. bluefox errors never lose a signup. Network errors, rate limits and 5xx answers are retried in the background after 5 minutes, 30 minutes and 2 hours. A suppressed or bounced address (bluefox 405) is marked failed; the visitor sees the normal success message, so the form does not reveal it. 4. Confirmation is detected by the webhook or by the 15-minute poll. The plugin re-reads the status from bluefox, marks the signup confirmed and fires
cfbe_signup_confirmed. Unconfirmed signups expire after the Confirmation deadline (Emails tab, default 14 days).