=== ConvertyBot — AI Sales Assistant for WooCommerce === Contributors: Convertybot, 2wstechnologies Tags: woocommerce, chatbot, ai, conversion, sales Donate link: https://convertybot.com/ Requires at least: 5.0 Tested up to: 6.7 Requires PHP: 7.2 Stable tag: 2.4.3 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Turn visitors into buyers with an AI salesperson that recommends products, crafts live coupons, and runs 7 conversion strategies — 24/7. == 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 == 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 == Frequently Asked Questions == = 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). == Screenshots == 1. The widget engaging a visitor mid-browse 2. Admin subscription page — plan, usage, packs, feature comparison 3. Configuration page with six tabs (Appearance / Voice / Proactive strategies / Conversation behavior / Advanced / Developer) 4. Custom branding pickers — bot avatar + header logo with live preview 5. Proactive strategy picker — seven strategies, plan-capped, single-active 6. Integrations page — Klaviyo, Mailchimp, Zapier, n8n, Make, Slack, custom webhook with HMAC 7. Developer tab — masked API keys, curl examples, expandable endpoint reference 8. Analytics dashboard with conversion attribution 9. Coupon rule editor with trigger conditions 10. Visitor journey timeline with engagement scoring 11. Onboarding tour spotlighting the admin experience 12. Mobile widget in action == 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). == Upgrade Notice == = 2.3.3 = Major release. Custom branding (avatar + header logo), brand-new Developer tab with public API + endpoint reference, redesigned integrations page, full subscription enforcement on the storefront (widget hides on inactive plans), and dozens of save-handler bug fixes. One-time auto-repair runs on first admin page load to restore any options that were accidentally wiped by the legacy save handler. Strongly recommended for all stores. = 2.1.0 = Redesigned admin experience — worth the update. New plans page lets you see your plan, usage, and upgrade options at a glance. Better progress bars, clearer upgrade paths, and a live What's New panel. No migration needed. = 2.0.0 = Major release. New 6-tier pricing with better value at every level, lifetime Free Trial (no more 14-day clock), overage packs, and a hardened Stripe + subscription engine. Strongly recommended update. Existing shops are auto-migrated on first admin-page load. = 1.0.32 = Major feature release — AI-driven proactive engagement with 7 levels. Strongly recommended for all stores wanting higher conversion. = 1.0.31 = Critical fix — resolves "Service Unavailable" during checkout with AI-generated coupons. == 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