A conversational AI sales assistant for your storefront. It understands natural language, searches your real catalog, proposes products and categories, resolves support questions on its own, and opens a ticket only when a human is truly needed.
See it for yourself
Every screenshot on this page is real, captured from our own live demo store — open it and try the exact flow above with your own questions.
Indicative total, incl. Italian VAT: €1,096.78 — the exact amount is calculated at checkout and is waived for EU business buyers with a valid VAT number (reverse charge).
One-time perpetual license, for one domain.
FreeOne-time perpetual license, for one domain.
Instant delivery: your license key is emailed right after checkout.
Perpetual license — no recurring fee for a single module.
1 year of updates & support included — renew at −35% to keep upgrading; the versions you are entitled to stay yours forever.
30-day money-back guarantee.
What this actually fixes
Before the feature list — the problems. An AI chat is worth installing only if it removes real friction. Here is exactly what breaks today on a storefront without one, and how the assistant closes each gap.
Customers can't find what they're looking for
A shopper searches for "winter jacket" but the product is tagged "padded coat", or gets lost in a filter sidebar that doesn't match how they actually think. Zero results, and they leave. How it's fixed: the assistant understands the request in plain language, searches the live catalog by meaning rather than exact keyword match, and — when the request is genuinely vague ("a gift for the house, not sure what") — shows category cards instead of a dead end, so the customer is guided even when they can't name what they want.
A vague request answered with category cards instead of a wall of results — guiding the shopper without asking them to know the exact product name.
Carts abandoned over a question nobody answered
A shopper is close to buying, has one unresolved doubt — sizing, material, delivery time — finds no fast answer, and quietly closes the tab. Most of that hesitation never becomes a support ticket; it just becomes a lost sale. How it's fixed: the assistant answers follow-up questions right inside the chat — "Tell me more" pulls in a fuller description and image without ever leaving the conversation — so the doubt gets resolved in the same moment it appeared.
"Tell me more" answers the doubt inside the chat itself, with a description and image — no tab-switching, no lost momentum.
Support drowning in the same ten questions
Order status, return policy, "is this in stock", sizing — a handful of low-value, repetitive questions eat most of a support team's day, leaving less time for the complex cases that genuinely need a person. How it's fixed: the assistant resolves the large majority of these on its own, and every conversation is automatically classified in the console — Shopping, Support, Bug report, Possible spam — so your team spends time only on what truly needs a human.
Every conversation arrives pre-classified in the admin console — your team reviews, it doesn't have to triage.
How a conversation unfolds
Every visit starts like a conversation with a real assistant, not a script — and most of the time it ends there too, without ever reaching a human.
The full flow, phase by phase
0
Phase 0 — The assistant lives on your store
Every storefront page carries a small pill-shaped launcher in the corner — unobtrusive until the customer needs it, always one click away.
The launcher sits quietly on every storefront page until a customer opens it.
1
Phase 1 — Opening the chat
The customer clicks the launcher. The chat opens with a greeting and a row of quick-reply chips — "Help me search", "Order status" — so a first message isn't even necessary to get moving.
Chat opens with a greeting and quick-reply chips for the two most common intents.
2
Phase 2 — A human-like entrance, not a generic bot
Instead of an instant canned reply, the widget shows a short "connecting…" beat, then a named operator — e.g. "Leo" or "Anna" — joins with a live presence dot and asks for the customer's name. It reads like being connected to a real person, because the ritual is deliberately realistic.
"Leo has joined the chat" — a named operator and a presence indicator, not a faceless "Hi, how can I help?".
3
Phase 3 — Answers grounded in the real catalog
Example: the customer types "I need running shoes under 80 euros". The assistant searches the live catalog — not a static index — and replies with a grid of product cards: image, name, price, discount badge, and "Add to cart" / "Tell me more" buttons on each. Every product shown is actually in stock; nothing is invented. In this example, 14 real matches came back.
A real search returning 14 matching products as cards, each with its own add-to-cart and "tell me more" actions.
3b
Phase 3b — When the customer doesn't know what to search for
Example: "a gift for the house, not sure what". There's no single obvious product to show, so the assistant proposes category cards instead — each with a short synthetic label summarizing what it understood — turning a dead-end query into a starting point.
A vague request answered with category cards instead of zero results.
4
Phase 4 — Going deeper without leaving the chat
The customer taps "Tell me more" on a card. The assistant writes a fuller description in the chat itself, together with the product image, so the doubt gets resolved on the spot — no tab-switching, no losing the thread of the conversation.
A deeper product description delivered right inside the chat after "Tell me more".
5
Phase 5 — Buying, inside the conversation
The customer taps "Add to cart". A quantity selector (− 1 +) appears right on the card to confirm before it's added — the purchase happens without ever leaving the chat or losing the context of the conversation.
Quantity confirmed on the card itself, then added to cart — the purchase never leaves the chat.
The same flow, on mobile
Same widget, same logic, same real catalog data — resized, not redesigned.
The launcher on a mobile storefront.Full-screen chat on mobile, with the same greeting and quick-reply chips.14 real product cards, stacked in a scrollable column right under the assistant's reply.Scrolling reveals the rest of the matches — the full result set, not a trimmed mobile preview.
It doesn't just help. It sells.
Search is only the front door. From there the assistant works like a real salesperson: it narrows to the few right options, suggests matching add-ons at the right moment, and never ends in a dead end. Here are a few conversations, in different languages.
Simulated examples — click the tabs.
Hi, I'm Anna! Tell me what you're looking for 🙂
I'd like a small wooden coffee table, nothing too big
Great! We have them in solid mango, compact and sturdy. Take a look:
🪑
Chestnut London Coffee Table
189,00 €
🪵
Mango Round Coffee Table
159,00 €
🟫
Provence Grey Coffee Table
175,00 €
🛒 Added to cart: Chestnut London Coffee Table
Great choice! To finish off the corner, these two go beautifully with light wood:
🕯️
Brass Floor Lamp
129,00 €
🧶
Tone-on-tone Rug
89,00 €
Why: The moment the customer adds to cart, the assistant suggests matching add-ons on its own — without ever saying it knows about the cart. Proactive, not pushy: it lifts the average order value without forcing anything.
got any chester drawers for the bedroom?
Of course! A chest of drawers for the bedroom — we have several in wood, take a look:
🗄️
Mango 4-Drawer Chest
349,00 €
🗄️
Provence White Chest
399,00 €
💡 Synonym learned: «chester drawers» → «chest of drawers»
Why: An informal, regional or misspelled word the site search would never find: the assistant maps it to the real product and learns the synonym for the next customer. The wrong search word — not a missing product — is the real Achilles' heel of every ecommerce; here it turns into a sale.
My chest of drawers arrived with a scratch.
I'm so sorry! So our team can sort it out quickly, I'll need your email and order number.
anna@example.com — 100042390
✅ Ticket #SUP-2041 — your message has been routed to our team. Reply within 24–48 hours, and a copy is in your inbox.
Why: Before opening a ticket it verifies email and order number, then routes it to the human team with the full transcript. It becomes a filter of real problems: operators only get what genuinely needs them, already qualified.
Do you have ceramic laundry sinks?
Ceramic laundry sinks we don't carry yet in our catalogue — we're more about furniture and home décor. But if you're fitting out a small laundry area, we can definitely help: a space-saving cabinet or a laundry hamper with a worktop. Shall I show you?
Space-saving cabinetHamper with worktopNo thanks
Why: Even when it doesn't have the product, the assistant stays inside the store — first person, «in our catalogue» — never a flat «we don't have it», and always reopens the conversation.
Where's my order?
Happy to check! For security, could you confirm the order number and the email you used?
100051234 — maria@example.com
Perfect, María! Your order is 🚚 on its way — delivery expected Thursday. Anything else I can help with?
Why: For guests the assistant reveals order status only with a matching order number and email: never sensitive data without verifying the owner.
I need a slim console for a narrow hallway
This hand-painted mango console is only 25 cm deep — made for narrow hallways — with a drawer for keys and post. Its French-grey finish brightens an entryway:
🪟
Floating Chestnut Console
229,00 €
Why: That rich, keyword-dense description was written by AI Babel Enchanter. Personal Shopper searches and reads exactly those fields: better catalogue copy means more relevant results, sharper ranking and more convincing selling. Babel writes the knowledge, Personal Shopper turns it into revenue.
The business case: more sales, lighter support load
These are industry ranges for conversational-commerce assistants, offered for context — not a promise for your store. Actual results depend on your catalog, your traffic and how the assistant is configured.
+10–30%
Typical conversion uplift
Industry benchmarks for AI shopping assistants commonly cite conversion increases in this range, largely recovered from visitors who would otherwise leave empty-handed after a failed search or an unanswered doubt — exactly the two failure points this assistant is built to close.
60–80%
Routine questions typically handled without a human
Order status, policies, sizing, "is this in stock" — deflection rates in this range are commonly reported for assistants handling this kind of repetitive, low-value question. That's time your team gets back, not time it loses: the support desk shifts from a pure cost center to a resource that sells and solves complex cases, instead of repeating the same ten answers all day.
Both figures are industry-level estimates for conversational AI in e-commerce, cited here for context — not a performance guarantee. Your own results depend on your catalog, your traffic and how you configure the assistant.
See it for yourself
Every screenshot on this page is real, captured from our own live demo store — open it and try the exact flow above with your own questions.
Understands natural language questions about products, budget and needs — no dropdown filters required.
Asks clarifying questions when a request is vague, instead of dumping a wall of results.
Shows rich product cards: image, price, discount badge, "Add to cart" and "Tell me more" buttons.
Shows category cards with a synthetic label when a request is too broad for a single product.
Offers quick-reply buttons whenever it proposes a short list of discrete choices.
Searches directly against your live catalog with relevance ranking — no separate index to build or rebuild.
Realistic entrance ritual: a named operator and a live presence dot, not a generic bot greeting.
Remembers the conversation: chat history persists across page views in the same session.
Starts in the store's language and switches to the customer's language automatically.
Company branding: your logo (fixed height, never deformed) or company name, plus a configurable header/accent color.
Looks up real order status for logged-in customers, or for guests who confirm order number + email.
Theme-agnostic Shadow DOM widget: renders identically on Hyvä and Luma, with no template changes.
Curated, real-time product shelf: the cards reshuffle every turn as the conversation narrows, and follow implicit hints — "the second one", "the mango one", "the cheaper one".
Page-aware: when the chat is opened from a product page, implicit questions ("is it electric?", "how big is it?") are resolved about that exact product.
Session memory: after a pause the chat starts a fresh, linked session — yet the assistant still remembers the previous one, so the customer never repeats themselves.
Logged-in customers skip the entrance ritual and start straight away; the console shows a searchable Customer column (name, and email when logged in).
Human conversational timing: the "typing" pause scales with the reply length, after a natural thinking delay — it feels like a real person, not an instant bot dump.
Knows your active promotions and brings them up at the right moment.
Answers on your policies (returns, shipping, warranty) straight from your CMS pages or a URL, cached; during a holiday closure it proactively tells customers when shipping resumes.
AI lens in the storefront search bar: it forwards whatever the customer already typed straight into the chat — a second, high-traffic entry point.
Bring your own AI — a pool of models that never goes down
Choose your providers and models and paste your own API keys — you are always billed directly by the provider, never with a markup from us. But the AI is no longer a single setting: it is a pool you manage in the AI — Models tab, so one model is never a single point of failure.
The AI provider configuration screen: pick a provider, paste your key, choose a model and toggle capabilities.
OpenAI (ChatGPT / GPT models) — the most widely used option, with a broad lineup from fast/cheap to top-tier reasoning models.
Anthropic (Claude models) — strong instruction-following, a natural fit for a sales assistant that has to stay on-script and grounded.
Google (Gemini models) — competitive pricing, fast responses, strong multilingual quality.
OpenRouter — one API key, access to dozens of models across providers; handy for comparing cost and quality without juggling multiple accounts.
A pool of AIs with automatic failover
Add as many AIs as you like — a primary plus fallbacks, in the order you choose. If the primary fails (out of credit, invalid key, rate limit, a transient glitch), the chat carries on by itself on the next one in the chain. Your shoppers never see an error.
One pool, many AIs: label each credential, set a primary and its fallbacks, and reorder them with a click — all in the AI — Models tab.
Automatic failover on credit, authentication, rate-limit or transient errors: the conversation keeps going, with no human intervention.
Auto-heal: if a model rejects a parameter (such as temperature or thinking), it retries without it — no per-model whitelist to maintain, so brand-new models just work.
Mix providers freely: a fast, low-cost model as primary and a premium one as backup, or the other way around — you decide the trade-off.
Load models — with live speed measurement
Paste your API key and hit Load models: the module probes the provider's models in parallel, measures each one's response time, keeps only the ones that actually answer with your key, and sorts them fastest-first (e.g. gemini-flash-latest (0.95s)), with an 'N of M responded' note. You pick a responsive model at a glance instead of guessing an id — and a link right below always shows where to generate the key for the selected provider.
"Load models" fills the dropdown with the real models your key can use — plus a live link to where to generate a key for the selected provider.
The opportunity: your assistant becomes provider-independent and outage-proof. Optimise for cost or for speed, switch models as prices change, adopt a brand-new model the day it ships — all without touching code, and without a single conversation dropping.
A self-learning synonyms registry — a treasure that grows on its own
A huge share of lost sales isn't a missing product — it's the wrong search word: a regional name, a dialect term, a typo, a synonym your customers use every day but your catalog doesn't. The agent learns the mapping to the real catalog term automatically, so the next customer searching the same "wrong" word finds the product immediately.
Learns automatically: every unmatched search the assistant manages to resolve gets recorded against the catalog term that actually matched.
Paginated, editable registry: correct or delete any learned entry inline from Codingrow → AI Personal Shopper → Synonyms.
Export and re-import the whole registry as CSV — back it up, bulk-edit it, or move it between environments.
One click "Inject into site search" writes the registry into Magento's native Search Synonyms, so the storefront search bar benefits too — not just the chat.
Reads your hand-curated native Search Synonyms as well, so both systems reinforce each other instead of working in isolation.
Many sales are lost to a search word, not a missing product. This registry is the fix — and it keeps improving itself with every conversation.
The Synonyms tab: a paginated, editable registry with CSV export/import and one-click "Inject into site search".
Better together — the Codingrow catalogue-to-conversion funnel
Personal Shopper doesn't work alone. Four Codingrow modules form a single funnel, from raw feed to closed sale — and each one makes the next stronger.
📥
Codingrow MMIS
Mango console. H 78 · W 80 · D 25
Imports your catalogue from one or many supplier feeds and keeps stock and prices in sync — hundreds of products, automatically.
From that same search bar the AI lens opens the chat: it searches those very fields, recommends and closes the sale.
You're here
Enrich once, sell everywhere. The fields MMIS imports and Babel enriches are exactly the ones Live Search and Personal Shopper read — better catalogue copy means more found, better ranked and more convincingly sold.
The assistant is a working member of the team: it resolves the large majority of customer issues on its own — order status, policies, sizing, delivery questions — closing the loop without ever pulling in a human, and avoiding needless contacts. It only escalates when a human is genuinely needed.
Opens a support ticket when a request truly needs a human: asks for email (required) and, when useful, an order number and a phone/WhatsApp contact.
Assigns a ticket number and emails the full transcript to the customer, with BCC to your support address.
The response time shown to the customer is whatever you configure (default "24-48 hours"), so expectations are always accurate.
A dedicated Tickets & Support tab lists every ticket with the full transcript, one click away.
Mark tickets resolved from the admin, with an optional notification email back to the customer.
Auto-closes stale tickets after the number of days you configure — nothing lingers open forever.
Also flags bugs and site problems: conversations reporting something broken are classified separately so your team sees them without a customer having to email anyone.
The result is an assistant that sells, supports, learns and protects your store — all at once, and mostly without human intervention.
The Tickets & Support grid: every ticket with its number, status, contact and subject, one click from its full transcript.Ticket detail: contacts, the full chat transcript, and a "Resolve ticket" action with an optional customer notification.
One console for every conversation
Nothing happens off the record: every chat is logged, classified and reviewable from the admin, alongside the tools that make the assistant smarter over time.
Every conversation is automatically classified as Shopping, Support, Bug report or Possible spam, paginated and filterable by type.
Open any conversation to read the full thread, including every product card the assistant proposed at each turn.
A dedicated Synonyms tab for the self-learning registry: edit, export/import CSV, inject into site search.
A dedicated Tickets & Support tab for every human-support ticket, with full transcript and resolve/close controls.
The Conversations grid: every chat auto-classified as Shopping, Support, Bug report or Possible spam.
Safe, predictable, and never at your expense
The assistant is built to stay on-script and to keep your AI budget and your API key under your control.
All AI calls happen server-side — your API key is never sent to the browser.
Guardrails keep the assistant on topic: off-topic questions and prompt-injection attempts are declined, not answered.
Rate limiting protects your AI budget from abuse.
You pay the provider directly for what you use — Codingrow never marks up or resells AI usage.
Bot & spam proof. A layered shield stops scanners and bots before any AI call is spent: a one-time proof-of-widget token blocks blind/direct requests to the endpoint, content filters catch injection and vulnerability-scanner payloads, and per-IP limits plus a global daily cap bound the cost even under a distributed attack. Every blocked attempt is logged with IP, user-agent and reason.
Governance and peace of mind
Behind the friendly chat, the tools a store owner needs to sleep at night — full visibility and hard limits on cost.
Provider-down watchdog: if an AI call fails, you get an email alert (at most one per hour per error) — you know before your customers do.
"Recent AI calls" panel: the last calls with outcome, model, error and reply, for instant diagnosis.
AI cost calculator: estimate the cost per chat and how long your budget lasts, before you commit.
Hard spending guardrails: per-IP rate limits (15 in 60s, 300/day), 30 new chats per IP per day, 60 turns per conversation and a global circuit breaker at 5,000 LLM calls/day — abuse can never run up your bill.
Available in 7 languages
The admin interface and the storefront chat are fully translated:
English Italiano Español Français Deutsch Português Nederlands
The chat starts in the store's language and switches automatically to the language the customer writes in.
Requirements
Magento 2.4.x (tested on 2.4.9), PHP 8.1-8.5. Compatible with both the Luma and Hyvä themes (theme-agnostic Shadow DOM widget). Depends on the free Codingrow Core module, installed automatically. Requires an API key from at least one AI provider (OpenAI, Anthropic, Google or OpenRouter) — billed directly to you by the provider.
Documentation
A complete setup guide and field reference with concrete examples — the same level of detail our support uses to help customers.
Not satisfied within 30 days of purchase? Request a refund yourself from your account area (codingrow.com/login), no questions asked. The refund is processed instantly, automatically, and the license is deactivated upon confirmation.
Changelog
Recent releases, most recent first.
v1.6.1
The chat now speaks as the store itself. When a product isn't available it stays in the first person — "we don't carry that yet in our catalogue" — instead of referring to the store in the third person, keeping the conversation warm and the door open.
v1.6.0
Distinct sessions in the conversations log: when the customer comes back after a pause (over ~5 minutes) a new conversation starts, recorded as a separate entry in the admin log and linked to the previous one by a clickable "Previous session" link — the sessions stay related but distinct, and the assistant still remembers the earlier one to keep continuity for the customer. Logged-in customer: the chat starts straight away, without asking for a name (already known from the account). Identified, searchable customer: the conversations console shows the customer (name, and email if logged in) in a new filterable "Customer" column, so you can quickly find all conversations of a specific customer.
v1.5.0
AI pool with automatic failover (AI — Models): configure several AIs (provider, key, model) and pick the primary one; if it fails — out of credit, invalid key, rate-limit or a temporary error — the chat doesn't stop and carries on by itself on the next AI. Model dropdown that verifies and shows only usable models, with support for the latest models (e.g. Claude Sonnet 5) and automatic migration of your existing setup. Optional proactive cross-sell on add-to-cart: it suggests complementary products without ever mentioning the cart. Richer conversations console: the customer's real name, products shown as cards with image and link, and a new Recommended products column.
v1.4.0
Real-time product shelf: the cards update every turn as the assistant narrows, reorders and adds related items, steering toward 2-3 options. Optional closing cross-sell (complementary products). New session without repeating the name ritual after a pause. Context of the product page the chat was opened from: implicit questions are resolved about that product (via native URL/url_key). Cart awareness as a signal of interest.
v1.3.0
More focused product cards: the assistant chooses which products to show and in what order of relevance, so only items that truly match the request are suggested; it also remembers the products already shown and understands references like 'the second one you showed me'.
v1.0.9
Simplified model selection: a "Load models" button populates a dropdown with the real models available for your provider and key, with a manual-entry fallback and a dynamic tip linking to where to get that provider's API key.
v1.0.8
Human support via tickets: configurable BCC address, response time, ticket number prefix, mark-resolved with optional notification, and automatic auto-close after N days.
v1.0.7
Self-learning synonyms registry (auto-learns from unmatched searches, also reads native Search Synonyms), paginated inline-editable table with CSV export/import and one-click injection into native Search Synonyms, plus full conversation-thread reading from the console.
v1.0.5
Category cards with a synthetic label for vague requests, and quick-reply buttons whenever the assistant offers a short list of discrete choices.
v1.0.0
First release: AI-powered sales chat for Magento 2, with natural language product search, order status and add-to-cart.
Frequently asked questions
What is AI Personal Shopper?
A conversational AI assistant that understands shoppers, searches your real catalog and suggests products.
Does it use my real catalog?
Yes, it searches your actual products and categories, not generic answers.
Can it help with orders?
Yes, it can give order information once the shopper is identified.