Title: ConvertyBot — AI Sales Assistant for WooCommerce
Author: 2wstechnologies
Published: <strong>January 11, 2026</strong>
Last modified: May 11, 2026

---

Search plugins

![](https://ps.w.org/convertybot/assets/icon-128x128.png?rev=3437847)

# ConvertyBot — AI Sales Assistant for WooCommerce

 By [2wstechnologies](https://profiles.wordpress.org/2wstechnologies/)

[Download](https://downloads.wordpress.org/plugin/convertybot.2.4.4.zip)

 * [Details](https://test.wordpress.org/plugins/convertybot/#description)
 * [Reviews](https://test.wordpress.org/plugins/convertybot/#reviews)
 *  [Installation](https://test.wordpress.org/plugins/convertybot/#installation)
 * [Development](https://test.wordpress.org/plugins/convertybot/#developers)

 [Support](https://wordpress.org/support/plugin/convertybot/)

## Description

**ConvertyBot is the AI sales assistant your WooCommerce store hires once and keeps
forever.** It greets every visitor, understands what they’re looking for, recommends
products, crafts personalised coupons on the fly, and closes the sale — while you
sleep, ship, or focus on the next product line.

Built on a single-model Mistral Small 3 LLM running at 92–97% gross margin, optimised
for e-commerce tone and grounded in _your_ product catalogue. Not a generic chatbot.
A conversion machine.

**Start free. 100 conversations, no time limit, no credit card.**

[Try the live demo ](https://convertybot.com/demo.html) · [See pricing ](https://convertybot.com/pricing.html)

#### Why stores switch to ConvertyBot

 * 🚀 **+25% to +50% conversion lift** measured across beta partners in the first
   30 days
 * ⚡ **Under 200ms response** — visitors don’t wait for the bot to think
 * 🎁 **Coupons that close** — context-aware discounts generated for the moment,
   not static codes
 * 🛒 **Cart recovery in real time** — exit intent, cart idle, and hesitation triggers,
   not just email retargeting
 * 🌍 **Multilingual out of the box** — speaks to every visitor in their language
 * 🔐 **GDPR-ready** — consent-first, data minimisation, audit trail
 * 🎨 **Custom branding** — your bot avatar and header logo on the widget (Growth
   +)
 * 🔌 **Public API** — push events / pull analytics into your own apps (Business
   +)

#### The seven conversion strategies

Most chatbots have one mode: “pop up after 30s.” ConvertyBot has **seven**, and 
you pick which the bot should run per plan tier:

 1. **Ghost** — silent bubble, waits to be invoked
 2. **Host** — warm welcome after a configurable delay
 3. **Guide** — navigation-aware product recommendations
 4. **Advisor** — intervenes when a visitor hesitates on a product
 5. **Hunter** — exit-intent pop-up with a contextual coupon
 6. **Closer** — cross-sell and upsell on the cart page
 7. **Blitz** — time-limited flash offer to push conversion

Strategy selection is single-active (radio behaviour) — pick the engagement mode
that fits your traffic, save, done. The picker shows locked tiers with a clear upgrade
path.

#### What it actually does during a visit

**Arrival** — visitor lands on your store. ConvertyBot silently analyses the pages
they view, how long they dwell, which products they compare, whether they’re signed
in.

**Engagement** — the bot picks the right moment to surface a teaser bubble: “Not
sure which size? I can help.” The visitor clicks, the chat opens, the assistant 
is ready.

**Recommendation** — the bot knows your catalogue. It recommends 2–3 products that
match the visitor’s implied need, with prices, images, and stock.

**Coupon** — if the visitor hesitates (scrolls back up, adds and removes from cart),
the bot generates a real coupon — percentage or fixed, capped to your rules, expiring
in 60 minutes. The code is syncable with your WooCommerce coupons table.

**Close** — the bot nudges toward checkout, answers the final objections, and hands
off when the visitor is ready to pay.

#### Analytics you can act on

 * Every conversation, scored for engagement and conversion likelihood
 * Visitor journeys with full timeline (pages, dwell time, interactions, chat turns)
 * Coupon performance per rule
 * Revenue attribution: which chats led to which orders, net of discounts
 * Multi-touch attribution (First Click, Last Click, Linear, Time Decay)
 * Exportable CSV / PDF on Pro+ plans
 * Public API token for your own BI dashboards (Business+)

#### Built for real WooCommerce stores

 * Ships as a standard plugin; activate and go
 * Zero conflict with your theme — renders in a shadow DOM
 * Elementor, Divi, WPBakery, Gutenberg all supported
 * Mobile-first, responsive, reduced-motion aware
 * Works alongside your existing coupons — never double-discounts
 * Full white-label option on Business and Enterprise

#### Pricing that scales with you

**🆓 Free Trial** — 100 conversations lifetime, **no time limit**
 Unlimited visitors
analysed · 1 strategy (Ghost) · basic AI · email support

**⭐ Starter — $19/mo** (or $182/yr, save 20%)
 250 conversations/mo · 5,000 visitors/
mo · 2 strategies · basic smart coupons · basic analytics

**🚀 Growth — $49/mo** (or $470/yr, save 20%)
 1,500 conversations/mo · 20,000 visitors/
mo · 5 strategies · rule-based coupons · advanced analytics · custom bot avatar 
+ header logo

**💼 Pro — $99/mo** (or $950/yr, save 20%) _Most popular_
 5,000 conversations/mo·
50,000 visitors/mo · all 7 strategies · A/B testing · CSV / PDF export · “Powered
by” badge removal · Klaviyo + Mailchimp integrations · priority support

**🏢 Business — $199/mo** (or $1,910/yr, save 20%)
 10,000 conversations/mo · 100,000
visitors/mo · all 7 strategies · full custom branding · white-label · multi-site·
public API access · all integrations (Zapier, n8n, Make, Slack, custom webhooks)·
account manager

**🔷 Enterprise — Custom**
 Unlimited everything · dedicated SLA · bespoke integrations·
named engineer

#### Run out of conversations mid-month?

Top up without changing plans:

 * 100 conversations — **$5**
 * 500 conversations — **$20** (best value)
 * 1,000 conversations — **$35**

Packs are one-time, activate instantly, and automatically consume after your plan
quota runs out.

#### Who is ConvertyBot for?

 * Store owners who want more sales without hiring more humans
 * Marketing leads who need a conversion lever they can ship this week
 * Agencies managing multiple client stores (Business tier unlocks multi-site + 
   white-label)
 * Founders of small shops that can’t afford a 24/7 support team
 * Developers integrating ConvertyBot data into custom dashboards (Business public
   API)

#### Integrations

 * **Native:** WooCommerce, WordPress, Stripe (billing)
 * **Pro+:** Klaviyo, Mailchimp
 * **Business+:** Zapier, n8n, Make.com, Slack (Incoming Webhooks), custom HTTPS
   webhooks with HMAC-SHA256 signing, public REST API
 * **Enterprise:** custom integrations on request

### External Services

ConvertyBot communicates with the ConvertyBot API (https://api.convertybot.com) 
to provide AI-powered chat, analytics, and billing:

 * **Product catalogue** — read-only sync so the AI can recommend products accurately
 * **Chat conversations** — processed through the ConvertyBot AI service for response
   generation
 * **Analytics** — aggregated into the dashboard you see in WordPress admin
 * **Billing** — managed through Stripe (PCI-compliant, we never see card data)
 * **Integrations** — outbound webhooks to merchant-configured destinations (Klaviyo,
   Mailchimp, Zapier, n8n, Make, Slack, custom URLs) only when the merchant connects
   them
 * **Public API (Business+)** — inbound calls from merchant-owned apps using the
   merchant’s own `cbt_pk_` token

No personal visitor data is collected without consent. The plugin ships with a GDPR-
ready consent banner. Visitor data is anonymised by default; store-owner data is
limited to shop metadata (domain, email, plan) plus the conversation / analytics
payloads you’d expect.

 * **Terms of Service:** [https://convertybot.com/terms](https://convertybot.com/terms.html)
 * **Privacy Policy:** [https://convertybot.com/privacy](https://convertybot.com/privacy.html)
 * **Data Processing Addendum:** available on request from legal@convertybot.com

### Support & Community

 * **Website:** [convertybot.com](https://convertybot.com/)
 * **Live demo:** [convertybot.com/demo](https://convertybot.com/demo.html)
 * **Documentation:** [convertybot.com/docs](https://convertybot.com/docs)
 * **Support email:** support@convertybot.com
 * **Status page:** [status.convertybot.com](https://status.convertybot.com/)
 * **Feature requests:** [feedback.convertybot.com](https://feedback.convertybot.com/)

### Why choose ConvertyBot?

**💰 Revenue that compounds** — every visitor is a chance to sell
 **⏰ Always on**—
the bot doesn’t sleep, doesn’t take breaks, doesn’t quit **📈 Scales with you** —
100 conversations free, 10,000+ on Business, unlimited on Enterprise **🎯 Right 
message, right moment** — seven behaviour-aware strategies **🔌 Open to your stack**—
public API + 6 native integrations + custom webhooks **🛡️ Built right** — GDPR, 
Stripe-grade billing, audit trails, 14-day grace on payment failure

## Installation

#### Option 1 — from your WordPress admin (recommended)

 1. In your WordPress admin, open **Plugins  Add New**
 2. Search for **“ConvertyBot”**
 3. Click **Install Now**, then **Activate**
 4. Go to **ConvertyBot** in the admin menu
 5. Click **Start Free Trial** — you’re done

The setup wizard takes under two minutes. No credit card required. A 14-step guided
onboarding tour walks you through every admin section on first launch.

#### Option 2 — manual upload

 1. Download `convertybot.zip` from this listing
 2. In WordPress admin: **Plugins  Add New  Upload Plugin**
 3. Pick the ZIP, install, activate
 4. Configure from the **ConvertyBot** admin menu

#### Option 3 — FTP

 1. Extract `convertybot.zip`
 2. Upload the `convertybot/` folder to `/wp-content/plugins/`
 3. Activate the plugin from the Plugins page

#### After installation

 * **Appearance** — match the widget to your brand (colours, avatar, header logo,
   position)
 * **Voice & persona** — name your bot, set its tone, customise the welcome message
 * **Proactive strategies** — pick the engagement mode that fits your traffic (capped
   by your plan)
 * **Coupon rules** — set maximum discount, minimum cart value, validity window
 * **Integrations** — connect Klaviyo, Mailchimp, Zapier, n8n, Make.com, Slack, 
   or any HTTPS endpoint
 * **Developer** — generate a public API token, see endpoint reference, copy curl
   examples
 * **Analytics** — watch the dashboard fill up as visitors come in

## FAQ

### Is ConvertyBot really free?

Yes — the Free Trial has no time limit. You get 100 conversations that last as long
as you need, unlimited visitors analysed, and the Ghost strategy. No credit card.
Upgrade only when you’re ready.

### Do I need WooCommerce?

Yes for the WooCommerce plugin. If you run a Shopify store we have a dedicated Shopify
app at [apps.shopify.com/convertybot](https://apps.shopify.com/convertybot).

### What exactly counts as a “conversation”?

A conversation is a visitor who **actively sends at least one message** to the bot.
If the bot silently analyses browsing (no chat), that’s a “visitor analysed” — cheap
to process and generous on every plan. You only burn conversations when someone 
types.

### How is a “visitor” counted?

One visitor session = one tick on the counter, deduplicated by browser session (
standard 30-minute inactivity gap, same convention as Google Analytics). The same
visitor returning hours later counts as a new visit because each visit costs new
AI analysis cycles.

### How does the 20% annual discount work?

Pay the yearly total upfront and you save two months. Switch between monthly and
annual at any time from the admin page — it takes one click.

### Can I cancel anytime?

Yes. Cancel from the Stripe Customer Portal linked inside the admin page. Your bot
keeps working until the end of the period you already paid for. No refunds on partial
months, no tricks.

### What happens if I run out of conversations?

The bot gracefully degrades — it shows a short offline message instead of chatting.
You can either upgrade your plan or buy an overage pack ($5 / $20 / $35) that activates
instantly.

### What happens when my subscription expires or I cancel?

The widget hides itself entirely from your storefront the moment your billing period
ends — customers see nothing instead of a broken bubble. Custom branding (avatar,
logo) reverts to defaults. Plan-gated features (integrations, advanced strategies,
custom branding, public API) lock cleanly. Reactivate from the Subscription page
in admin and everything restores within 60 seconds.

### Can I customise the chatbot’s appearance?

 * **Growth** — upload a custom bot avatar and an optional widget header logo
 * **Pro** — branding-removal (no “Powered by ConvertyBot”)
 * **Business** — full white-label (every reference to ConvertyBot is stripped)

All configurable from **Configuration  Appearance** with WordPress Media Library
pickers and live previews.

### Will it slow my site down?

No. The widget is lazy-loaded, runs in an isolated shadow DOM, and makes zero blocking
requests on page load. Lighthouse scores stay intact.

### Is my data secure?

 * All API calls over TLS
 * No personal data sent to our servers without explicit consent
 * GDPR-ready consent banner built in
 * Data retention limited to your plan’s window
 * Full data-export and data-deletion endpoints

### What AI model is behind this?

Mistral Small 3 via OpenRouter — tuned for e-commerce conversational tone. All plans
use the same core model; higher tiers get richer prompt context, more recommendation
depth, and more conversation history.

### Can I run A/B tests?

Yes — on Pro and above. Test welcome messages, timings, strategy mixes, and coupon
offers side-by-side.

### Can I integrate with my email / CRM tools?

 * **Pro:** Klaviyo, Mailchimp
 * **Business:** add Zapier, n8n, Make.com, Slack, and any HTTPS endpoint via custom
   webhook (with optional HMAC-SHA256 signing)
 * **Enterprise:** custom integrations on request

Every integration card has a “Send test event” button and an activity log so you
can verify wiring without writing code.

### Can I call the API from my own apps?

Yes — Business and above unlock a public API token (`cbt_pk_…`) you generate from**
Configuration  Developer**. The token authenticates external apps (CRMs, BI dashboards,
Zapier, partner tools) on the `/api/public/*` endpoints — read analytics summaries,
push custom events, query plan info. CORS allowlist is per-shop and configurable.
Endpoint reference with example request/response bodies lives right inside the Developer
tab.

### What if I need help?

All plans: email support. Growth: priority email. Pro: priority email + live chat.
Business: dedicated account manager. Enterprise: dedicated SLA with a named engineer.

### Do you offer a demo I can try?

Yes — a fully interactive demo lives at [convertybot.com/demo](https://convertybot.com/demo.html).

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“ConvertyBot — AI Sales Assistant for WooCommerce” is open source software. The 
following people have contributed to this plugin.

Contributors

 *   [ 2wstechnologies ](https://profiles.wordpress.org/2wstechnologies/)

[Translate “ConvertyBot — AI Sales Assistant for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/convertybot)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/convertybot/), check
out the [SVN repository](https://plugins.svn.wordpress.org/convertybot/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/convertybot/) by
[RSS](https://plugins.trac.wordpress.org/log/convertybot/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.4.3 — Chat persistence definitive fix + production cleanup

 * FIXED: Chat history loss on the first refresh after a cold-start conversation.
   The widget now adopts the survival-cookie sessionId BEFORE attempting localStorage
   recovery, so even when localStorage is missing or corrupt the chat session id
   stays canonical and the conversation is rehydrated from the backend on init.
 * CHANGED: Removed all debug console.log statements from the storefront widget —
   clean production output.

#### 2.4.2 — Persistence reliability hardening (round 3)

 * FIXED: Visitor-tally Mongo dedup wasn’t gating fast enough on the very first 
   refresh after a cold-start visit (the per-session marker only protects the same
   UserSession id, and replica read lag could miss a freshly-stamped cross-session
   marker). Added a Redis-backed dedup gate keyed by `(siteId, guestId|userId)` 
   with 30-min TTL, with an in-process map fallback when Redis is unavailable — 
   guaranteed single-count regardless of how many UserSessions get created for the
   same visitor.
 * FIXED: One-shot legacy-storage purge on first init after upgrade. The pre-2.4.0
   widget wrote chat sessions through a btoa/escape “encryption” that occasionally
   failed UTF-8 round-trip on first refresh. Visitors carrying that legacy blob 
   in localStorage from before the upgrade now have it cleared on first load (so
   the next save uses native JSON from a clean slate) instead of repeatedly tripping
   the silent decryption failure.
 * DEBUG: Widget now prints `[ConvertyBot] frontend.js v2.4.2 loaded` to the browser
   console on every page load, so merchants can confirm in DevTools that the freshly-
   deployed JS is what the browser is actually executing (vs. a CDN / page-cache
   plugin / browser disk cache serving stale code).

#### 2.4.1 — Persistence reliability hardening (round 2)

 * FIXED: Visitor counter still incremented on the first refresh after a cold start
   because the per-session dedup marker (`visitorCountedAt`) only protects the same
   UserSession id — when the engagement SDK was forced to create a new session (
   lost localStorage, ITP eviction, isActive flipped by `/tracking/session/end`),
   the new session had no marker and got counted again. Tally now also dedups across
   all recent UserSessions for the same `(siteId, guestId|userId)` within the 30-
   minute window.
 * FIXED: Chat history first-refresh loss when the JS persistence migration silently
   dropped the legacy encrypted entry. The widget now ALWAYS rehydrates from `GET/
   api/chat/sessions/:id/messages` on init (using the survival cookie’s session 
   id) and adopts server history whenever it strictly contains more messages than
   the local copy.

#### 2.4.0 — Persistence reliability fixes

**Strategy picker — silent ghost-revert fix**
 * FIXED: Strategy save handler used
the merchant’s saved strategies list as the “plan-allowed” gate (typo in plan-cap
check), so any new pick that wasn’t already saved was silently reverted to Ghost.
Now correctly resolves the plan-allowed list from the snapshot’s plan tier (Free
Trial / Starter / Growth / Pro / Business / Enterprise).

**Chat history persistence — first-refresh data loss**
 * FIXED: Chat session round-
trip through home-grown btoa/escape “encryption” silently dropped messages on the
first refresh after a cold-start conversation (encryption returned null on certain
UTF-8 byte patterns; loadSession then wiped localStorage without logging). Replaced
with native JSON.stringify/parse — the encryption never provided real security since
the key was derivable from the domain. Migration path included for legacy encrypted
entries. * NEW: Server-side fallback. If localStorage is empty/corrupt but the chat
session id cookie survives (private window first refresh, ITP eviction, iframe storage
partition in Shopify embed), the widget rehydrates the conversation from `GET /api/
chat/sessions/:id/messages` so users never lose their chat.

**Visitor counter — refresh inflation fix**
 * FIXED: `/api/tracking/session` was
incrementing `visitorsThisMonth` on every successful POST, regardless of dedup. 
A single visitor refreshing N times appeared as N visitors. Now routes through the
existing `tallyVisitorForSession` helper which honours the documented 30-minute 
inactivity gap (same convention as Google Analytics). * FIXED: `UserTrackingService.
createUserSession` now reuses the most recent active UserSession for the same `(
siteId, userId|guestId)` within the 30-minute window instead of always inserting
a new doc — eliminating duplicate Visitor Journey rows on refresh.

#### 2.3.3 — Custom branding, Developer tab, Public API

**Custom branding (Growth+)**
 * NEW: WordPress Media Library pickers for bot avatar
+ widget header logo with live previews * NEW: Custom avatar renders in chat header
AND next to every bot message bubble * NEW: Optional widget header logo replaces
the chatbot name when set * IMPROVED: Branding auto-reverts to default Gabriel SVG
+ chatbot name when subscription becomes inactive

**Developer tab (Configuration  Developer)**
 * NEW: Plugin connection key (`sk_live_…`)
shown masked with show/copy controls * NEW: Public API token (`cbt_pk_…`) generator(
crypto-strong, client-side) with regeneration confirmation * NEW: CORS origin allowlist
for browser-side external apps * NEW: Quick-start `curl` examples with your real
key + base URL prefilled * NEW: Expandable endpoint reference table — click any 
row to see example request/response bodies for `/merchant/plan`, `/merchant/usage`,`/
chat`, `/merchant/strategies`, `/api/public/ping`, `/api/public/me`, `/api/public/
analytics/summary`, `/api/public/events`

**Public API (Business+)**
 * NEW: `/api/public/*` router authenticated by `cbt_pk_`
token in `X-API-Key` header * NEW: `GET /ping`, `GET /me`, `GET /analytics/summary`,`
POST /events` * NEW: Per-shop CORS enforcement against the configured allowlist

**Plan-status UX**
 * CHANGED: “Powered by ConvertyBot” badge is now plan-controlled
automatically (no manual toggle that did nothing). Pro+ hides it; Free/Starter/Growth
show it. Read-only status row in the admin reflects the live plan. * CHANGED: “Full
white-label” toggle replaced with the same plan-status row pattern. Auto-applied
on Business/Enterprise.

**Strategy picker**
 * FIXED: Strategy selection now persists correctly after refresh(
PHP render no longer gated by stale plan check) * FIXED: Disabled checkbox no longer
prevents the saved value from being submitted on the next save * IMPROVED: Single-
active radio behaviour enforced both client-side and server-side

**Configuration save reliability**
 * FIXED: “Leave site?” dialog when clicking 
Save (form submit was falling through to native POST because legacy admin.js handler
was gated on a class the V2 template didn’t have) * FIXED: `engagement_tracking`
option silently flipped to `false` on any partial-form save (with one-time auto-
repair for affected installs) * FIXED: 11 boolean settings (chatbot_enabled, auto_open,
sound_enabled, etc.) had inconsistent save semantics — now unified via a single 
form-level marker * FIXED: `show_cookie_consent` toggle didn’t persist after refresh*
FIXED: Stuck “Saving…” button label after switching tabs (race condition between
two submit handlers — old one removed) * FIXED: Public API token + CORS origins 
now persisted by the AJAX save handler, with format validation and URL sanitization

**Subscription enforcement**
 * NEW: Widget hides entirely on the storefront when
subscription is cancelled / past grace period (no broken bubble for customers) *
NEW: Hard-override `convertybot_widget_denied` flag set whenever `/chat` returns
403/429 — survives plan-snapshot cache lag * NEW: Strategies tab locks read-only
when subscription inactive (server + client both enforce) * NEW: Analytics export
client-side gate against plan features (cancelled subs can’t trigger downloads)

**Storefront tracking & engagement**
 * FIXED: Visitor journey + engagement events
now correctly captured (the `engagement_tracking` regression above was blocking 
all SDK loads) * FIXED: 1:1 alignment — every new UserSession created equals exactly
+1 on the “Visitors analysed” counter (Visitor Journey row count = subscription 
page counter, always) * FIXED: Conversation counter no longer increments by 2 per
message (legacy duplicate increment in ChatService removed) * IMPROVED: 30-minute
inactivity gap defines a new visit (standard web-analytics convention)

**Onboarding tour**
 * NEW: 14-step guided admin walkthrough on first install (replayable
from the header) * NEW: SVG-mask spotlight, multi-page navigation via user-meta 
cursor * FIXED: `sendBeacon` save so progress survives navigation between admin 
pages (was a race condition causing back-and-forth loops) * FIXED: Configuration
page URL now points to the correct slug (`convertybot-config`)

**Dashboard rebuild**
 * CHANGED: ConvertyBot main dashboard now reads live data
from `/merchant/plan` (legacy custom WP tables abandoned — they were never populated
in V3 and always showed 0) * NEW: Hero card with plan + status + next billing date,
usage cards (conversations + visitors with progress bars), all-time totals, quick
actions, system status

**Plan snapshot freshness**
 * IMPROVED: Plan snapshot transient TTL reduced from
5 minutes to 60 seconds so plan changes propagate to the storefront within a minute*
NEW: Snapshot eagerly refreshed when admin loads Configuration or Dashboard pages

**Subscription page polish**
 * IMPROVED: Hero now shows “Next billing: DATE (N 
days)” + “Current period started” — backend `plan.billing.*` fields correctly read*
IMPROVED: Usage cards now show real `conversationsUsed / conversationsLimit` (was
showing `0 UNLIMITED` due to wrong field path) * IMPROVED: Feature comparison matrix
shows real ✓/— marks across all six tiers (was all dashes) * CHANGED: API key block
removed from this page — moved to the Developer tab to consolidate all API/credentials
UX

**Integrations page**
 * REDESIGNED: Now matches the cb2 design language used by
Subscription / Configuration * NEW: Connect form is hidden behind the “Connect” 
button rather than always visible (no more duplicate Connect buttons) * NEW: HMAC
secret field with explainer + crypto-strong “Generate” button + clear documentation
of `X-Convertybot-Signature` * FIXED: “What gets sent?” sample-payloads drawer now
populated correctly (PHP envelope was wrong) * NEW: Activity log + send-test buttons
on every connector

**Backend hardening**
 * NEW: `/merchant/api-token` endpoint to sync the public 
token from the WP plugin to the backend Shop document * NEW: `requireActiveSubscription`
middleware on `/integrations` and `/merchant/strategies` (was missing — cancelled
shops could still hit them) * FIXED: `/api/chat` validation no longer requires `
context.currentUrl` so external API callers (Postman, Zapier) can call it * FIXED:
Per-billing-period usage reset on tier change in support-backend plan-change paths(
parallels Stripe webhook behaviour) * FIXED: Several v1 enum values (`free`, `cancelled`,`
professional`, `trial`) replaced with v2 values across the support backend and admin
dashboard

#### 2.1.0 — Marketplace-quality admin

 * REDESIGNED: admin subscription page with modern hero, usage dashboard, plans 
   grid with segmented monthly/annual toggle, collapsible 9-feature comparison matrix,
   overage-packs section with per-conversation pricing, and a “What’s New” changelog
   card
 * REDESIGNED: progress bars with colour transitions at 50/80/100% thresholds
 * ADDED: “+N from packs” chip on the conversation usage bar
 * ADDED: Dynamic feature flag rendering — unavailable features are greyed out with
   an “Upgrade to X” hint
 * ADDED: Opt-in dark mode tokens (via `prefers-color-scheme`)
 * ADDED: Full plan-aware strategy picker in the Configuration page
 * ADDED: Customer Portal button for one-click billing management
 * IMPROVED: Widget frontend — gracefully hides on subscription inactive (403), 
   shows fallback on quota exceeded (429), respects branding-removal on Pro+
 * FIXED: Per-shop strategy allowlist persisted correctly via new `POST /api/merchant/
   strategies` endpoint

#### 2.0.0 — Six-tier pricing + Stripe realignment

 * NEW: Six plan tiers — Free Trial / Starter / Growth / Pro / Business / Enterprise
 * NEW: Free Trial is now **lifetime** (100 conversations, no time limit) — no more
   14-day clock
 * NEW: Overage conversation packs (100/500/1,000 at $5/$20/$35)
 * NEW: Stripe Customer Portal integration for self-serve billing
 * NEW: Scheduled downgrades apply cleanly at end-of-period instead of immediately
 * NEW: Past-due  expired 14-day grace window with automated transition
 * NEW: Webhook idempotency via event-id deduplication
 * NEW: Atomic conversation credit consumption — zero race conditions under load
 * NEW: `POST /api/merchant/{plan,usage,checkout,portal,change-plan,strategies}`
   merchant API surface
 * NEW: Per-shop enabled-strategies allowlist, plan-capped
 * RENAMED: Subscription statuses aligned with Stripe (trialing / active / past_due/
   expired / canceled)
 * IMPROVED: Strategy identifiers — canonical English IDs (Ghost / Host / Guide /
   Advisor / Hunter / Closer / Blitz)
 * IMPROVED: LLM cost model — Mistral Small 3 single-model architecture, 92–97% 
   gross margin

#### 1.0.32

 * NEW: AI-driven proactive engagement with 7 configurable levels (legacy naming)
 * NEW: Behaviour-based smart triggers (product dwell, deep scroll, product comparison,
   cart idle, category browsing)
 * NEW: Non-intrusive teaser notification card with bot avatar and AI-generated 
   message
 * NEW: AI-generated followups — every proactive message is contextual and unique
 * NEW: Exit-intent overlay for high engagement levels
 * NEW: Coupon eligibility detection auto-offers relevant discounts
 * IMPROVED: Three-layer throttling to prevent message spam
 * IMPROVED: Enriched API payloads with viewed products, page history, dwell times

#### 1.0.31

 * FIXED: Checkout “Service Unavailable” when using AI-generated coupons
 * FIXED: Backend API notification was using encrypted API key
 * FIXED: Coupon usage not being tracked in backend
 * IMPROVED: 2-second timeout for backend calls to prevent checkout hang

#### 1.0.30

 * FIXED: Fatal error on product update (`wc_get_product_related_posts`  `wc_get_related_products`)

#### 1.0.29

 * FIXED: Chat button not reappearing after minimising
 * IMPROVED: Production-ready clean code (debug logs removed)

#### Older versions

For the full history from 1.0.10 onwards, see [convertybot.com/changelog](https://convertybot.com/changelog).

## Meta

 *  Version **2.4.4**
 *  Last updated **18 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.2 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/convertybot/)
 * Tags
 * [AI](https://test.wordpress.org/plugins/tags/ai/)[chatbot](https://test.wordpress.org/plugins/tags/chatbot/)
   [conversion](https://test.wordpress.org/plugins/tags/conversion/)[sales](https://test.wordpress.org/plugins/tags/sales/)
   [woocommerce](https://test.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://test.wordpress.org/plugins/convertybot/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/convertybot/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/convertybot/reviews/)

## Contributors

 *   [ 2wstechnologies ](https://profiles.wordpress.org/2wstechnologies/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/convertybot/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://convertybot.com/)