Conversational product recommendations are answers, not adverts. A shopper describes what they need in their own words, and the chatbot suggests the items from your catalogue that match, ranked by what actually sells, shown as cards with live price and stock. Nothing is pushed into an unrelated conversation. This guide explains how that works, the catalogue data it depends on, three real exchanges, what it is not, and how to set it up and measure it.
What "conversational" changes about recommendations
Classic recommendation widgets ("customers also bought") work from browsing and purchase patterns and appear whether or not the shopper asked. Conversational recommendations start from a question: "a warm jacket for cycling in the rain under $150", "a lens that fits this camera", "a gift for a hiker". The bot has to understand the constraints (use, weather, budget), find catalogue items whose attributes satisfy them, rank the candidates, and explain the choice. Because the shopper stated the need, the suggestion lands as help rather than as a pitch; that is also why it converts differently, as discussed in using a chatbot to increase sales.
How it works, step by step
- Constraints are extracted from the message. "Cycling to work in the rain under $150" becomes use, condition and budget. This is the language model's part of the job.
- Catalogue items are retrieved by meaning and by attributes. The bot searches the synced catalogue the same way it searches pages (the retrieval method comes from Lewis et al., 2020 and is explained in how a RAG chatbot answers from your content), and attributes such as "waterproof: yes" or "compatible with: X" are what make the match precise rather than vague.
- Candidates are ranked. Where the plugin sends sales data, best sellers are ranked by real units sold; stock and sale price are applied so the bot does not recommend something it cannot sell. Vatdi does this on the platforms whose plugins send sales counts.
- The answer explains and shows. A sentence on why each item fits, then product cards with image, current price (sale price while a sale is on), link and optional stock.
The data it depends on
| Catalogue field | What it enables | Without it |
|---|---|---|
| Attributes (material, waterproof, capacity, compatibility) | Precise matching to constraints | Vague matches on names and descriptions |
| Variations with stock | "In stock in medium" and cards that can be bought | Recommending an item that is out of stock |
| Price and sale price | Budget constraints; honest sale prices | Stale prices from crawled pages |
| Categories | Narrowing to the right type of product | Cross-category noise |
| Sales counts from the plugin | "Best seller" ranking from real data | Ranking falls back to category and stock |
| Consistent product names | Card and answer match; names survive translation | Confusing or translated names |
The sync that carries these fields is described in product catalogue sync. Vatdi's plugins for WooCommerce, OpenCart, PrestaShop, Magento, Shopware, Joomla and Drupal sync attributes, variations, prices and stock; on Shopify the app trains on pages and collections without catalogue API sync, so recommendations there come from page content rather than structured fields.
Three real exchanges
| Shopper | Bot | What made it work |
|---|---|---|
| "Warm jacket for cycling to work in the rain, under $150?" | "Two fit. The Ridge Shell ($129) is waterproof with reflective trims and is our best seller in rainwear; the Commuter Fleece ($89) is warmer but not waterproof." + card | Attributes waterproof and reflective; price; sales rank |
| "Which lens works with the X-T30?" | "Three in stock fit the X mount: the 35mm f/2 ($399, best seller), the 18–55mm kit zoom ($699) and the 23mm f/2 ($449)." + cards | Compatibility attribute; stock; sales rank |
| "Gift for a hiker, under $60" | "Our best seller under $60 is the Ridge Headlamp ($39). Free shipping starts at $50, so adding the Trail Socks ($14) qualifies." + card | Category, price ceiling, sales rank, shipping threshold from the policy page |
Note what the bot did not do: it did not add a third product "customers also bought", it did not invent a discount, and it explained why each item fit. The illustrative products are placeholders; the mechanics are the same on any catalogue.
What it is not
- Not a cross-sell or upsell engine. Vatdi has none. Recommendations answer the question asked; nothing is injected into a returns conversation. The related feature page, upselling with an AI chatbot, describes the answer-led version.
- Not browsing-history personalisation. The bot uses what the shopper says in the conversation and your catalogue, not a profile.
- Not a substitute for attributes. If "waterproof" exists only in a product photo, the bot cannot match it.
- Not a discount machine. Coupon offers appear only when the conversation calls for them and always with their conditions.
Setting it up in an afternoon
- Fill attributes for your top fifty products: the fields shoppers actually ask about (material, compatibility, capacity, weather rating, dimensions).
- Check variations and stock sync by asking "is the medium in stock" for a variable product.
- Confirm sales data is flowing (on plugins that send it) by asking "what is your best seller in X".
- Put the free-shipping threshold and returns rule on their pages, so recommendations can mention them truthfully.
- Add a quick reply such as "Help me choose" so shoppers know they can ask.
- Test five recommendation questions from your inbox and one impossible one; the impossible one should get "we don't carry that".
Measuring it honestly
Three numbers: conversations in which a product card was shown after a recommendation-style question; clicks from those cards to product pages; and the visitor rating on those conversations. If cards are shown but not clicked, the matches are wrong, which usually means missing attributes; if the rating is low, the bot is recommending out-of-stock or off-budget items, which means stock or price fields are not syncing. In our own data (method in our conversation statistics), 45.2% of store conversations included product information in the assistant's replies, which shows how much of store chat is pre-purchase. The ranked tools for this use case are in best AI chatbot for product recommendations, the feature is on every Vatdi plan (pricing), and the platform coverage is on the integrations page; the Baymard Institute's running cart-abandonment average of about 70% (Baymard) is a reminder of how many shoppers leave with a doubt unresolved.
Frequently asked questions
How does a chatbot recommend products?
It reads the constraints in the shopper's message (use, budget, compatibility, size), retrieves catalogue items whose attributes satisfy them, ranks the candidates by real sales data where the plugin provides it plus stock and sale status, and shows product cards with a sentence on why each fits. The quality depends on the attributes and variations in your catalogue, which is why filling them in for your top products comes first.
Does it use browsing history or a customer profile?
No. Conversational recommendations use what the shopper says in the conversation and your catalogue data. There is no tracking profile behind them and no cross-sell engine injecting items; the bot suggests products only in answer to a recommendation-style question. That is a privacy point as well as a design one, and it is why the suggestions read as help rather than as adverts.
Where do "best seller" rankings come from?
From your own sales counts, sent by the plugin on platforms that support it (Vatdi's WooCommerce, OpenCart, PrestaShop, Magento and Shopware plugins do). The bot ranks matching items by real units sold, never by external data. Where sales data is not sent, ranking falls back to category, stock and sale status, and the bot should not claim "best seller".
Can it recommend products on Shopify?
From page content, yes; from structured catalogue fields, not yet. Vatdi's Shopify app trains on the store's pages, collections and policies rather than syncing the catalogue through an API, so recommendations rely on what product pages say. On WooCommerce, OpenCart, PrestaShop, Magento, Shopware, Joomla and Drupal the plugins sync attributes, variations, prices and stock, which is what makes the matching precise.
Will the bot recommend out-of-stock or discontinued items?
Not when stock syncs and discontinued products are unpublished. The ranking applies stock, and the card shows what is available; a variation that is out of stock is not offered as a match. Retire discontinued products from the catalogue rather than leaving them published with zero stock, and keep prices in the catalogue only so no stale page price appears in an answer.
How do I know the recommendations are working?
Track three numbers weekly: recommendation-style conversations in which a card was shown, clicks from those cards to product pages, and the visitor rating on those conversations. Shown but not clicked means the matches are wrong, usually missing attributes; a low rating means off-budget or out-of-stock suggestions, usually a sync problem. Fix the catalogue field behind each and re-ask the same question the same day.