Contenuto articolo
- La differenza tra chatbot AI e chatbot che vende
- Cosa può fare (e non fare) un chatbot conversazionale AI nel 2026
- Architettura di un chatbot conversazionale WooCommerce
- Setup pratico: chatbot WooCommerce con Claude + Node.js
- Misurare il ROI: i 4 KPI che contano
- Plugin WooCommerce pronti (e quando usarli)
- GDPR e compliance: il pezzo che nessuno vuole affrontare
- Quattro errori che ho già fatto
- Costo reale di un chatbot AI nel 2026
- Quando un chatbot AI NON ha senso su WooCommerce
- Domande frequenti
- Riferimenti utili per approfondire
La differenza tra chatbot AI e chatbot che vende
Un chatbot AI che risponde alle domande è facile. Un chatbot AI che porta il visitatore al checkout è un altro mestiere, e richiede decisioni di prodotto, integazione dati reali, e accettazione del fatto che il 60% del traffico di un e-commerce non è pronto a comprare. Su un cliente italiano con cui ho lavorato a febbraio 2026 (WooCommerce, 3.200 prodotti fashion, 14.000 sessioni/mese) abbiamo costruito un chatbot conversazionale che ha portato il tasso di conversione da 1.4% a 2.3% in 8 settimane. Non è magia: è integrazione tra WooCommerce + Claude Sonnet 4.5 + una ventina di micro-decisioni di product design che vedremo in questa guida.

L'articolo si completa con la guida pratica al WooCommerce agentic commerce (angolo agenti autonomi che gestiscono ordini), e gli articoli sul Bridge AI WordPress 7.0 e sullo stack self-hosted per chi preferisce evitare API cloud. Il chatbot conversazionale è il caso d'uso più misurabile dell'AI su WooCommerce, e anche quello dove è più facile sbagliare.
Cosa può fare (e non fare) un chatbot conversazionale AI nel 2026
Cosa fa bene
Rispondere a domande su catalogo prodotti, disponibilità, spedizioni, resi. Risolvere il 60-70% delle richieste di customer service di primo livello che un operatore umano gestirebbe in 5-10 minuti. Qualificare il lead quando il visitatore sta cercando un prodotto specifico ("cerco una giacca impermeabile per running sotto i 200€"). Suggerire prodotti alternativi quando l'originale è esaurito o non disponibile nella taglia richiesta. Portare a termine un ordine semplice (1 prodotto, indirizzo noto) con ridotto friction. Il chatbot è particolarmente efficace quando il visitatore sa cosa cerca e vuole solo conferma.
Cosa fa male
Negoziare prezzi o sconti custom (anche se tecnicamente può, è una pessima idea senza policy chiare). Risolvere problemi emotivi o reclami complessi (rimborsi parziali, errori di spedizione, frodi sospette). Vendere prodotti che richiedono consulenza umana (es. integratori, dispositivi medici). Gestire utenti che stanno trollando o testando i limiti. Gestire casi dove servono informazioni che il chatbot non ha (es. cronologia ordini vecchi se non integrato con WooCommerce).
Quando NON installarlo
Quando il catalogo è sotto i 50 prodotti: il ROI non giustifica. Quando il customer service è già una macchina oliata con operatori formati: il chatbot rischia di peggiorare l'esperienza. Quando il budget è sotto i 3.000€: serve almeno quello per una implementazione che vale la pena. Quando il cliente target è sopra i 55 anni e abituato al telefono: il chatbot è un passo indietro.
Architettura di un chatbot conversazionale WooCommerce
Un chatbot WooCommerce che converte ha 5 componenti, ognuno con responsabilità precise.
1. WooCommerce REST API o GraphQL
Il chatbot deve poter interrogare il catalogo (prodotti, varianti, prezzi, disponibilità) e gestire ordini (carrello, checkout, pagamenti). La scelta tra REST e GraphQL dipende da quante informazioni diverse servono: REST con ?_fields= per siti piccoli, GraphQL per e-commerce con molti custom field. La REST API WooCommerce di base è autenticata con chiavi OAuth-like (consumer key + secret).
2. Backend di orchestrazione
Il backend riceve i messaggi dal widget frontend, li passa al modello AI con il context giusto (catalogo, carrello, storico), e gestisce la logica di fallback (se l'AI non sa rispondere, passa a operatore umano). Può essere Node.js, Python, o PHP (più raro). Node.js con Express o Fastify è lo stack più diffuso nel 2026.
3. Modello AI: Claude Sonnet 4.5 o GPT-4o
La scelta del modello è meno importante di quanto si pensi. Claude Sonnet 4.5 ha il vantaggio di essere più "verboso" e di gestire meglio il context lungo. GPT-4o è comparabile come qualità ma più economico per uso massivo. Per il mercato italiano, Claude è leggermente migliore sull'italiano naturale. Per il self-hosted, Llama 3.1 70B via Ollama funziona ma richiede GPU.
4. Vector database per la knowledge base
Se il chatbot deve rispondere su policy, FAQ, documentazione prodotto, serve un vector DB (Qdrant, Pinecone, Weaviate). La knowledge base viene indicizzata al setup, e il chatbot la consulta via RAG (Retrieval-Augmented Generation) per generare risposte ancorate a informazioni verificate.
5. Frontend widget
Il widget è il pezzo visibile: una bolla in basso a destra che apre una chat. Può essere self-hosted (più lavoro, più controllo) o un servizio come Tidio, Crisp, o StoreAgent. Nel 2026 il self-hosted è ancora raro: la maggior parte usa servizi che gestiscono widget + AI + integrazione.
Setup pratico: chatbot WooCommerce con Claude + Node.js
Vediamo il setup minimo funzionante per un cliente reale. Lo stack è Claude Sonnet 4.5 + Node.js + WooCommerce REST API + widget custom. Costo totale primo setup: 2.500€ + 280€/mese di API. Tempo: 3 settimane per un dev.ore.. senior.
Backend: server conversazionale
# 1. Setup progetto
mkdir woocommerce-chatbot && cd woocommerce-chatbot
npm init -y
npm install express @anthropic-ai/sdk axios dotenv
# 2. Variabili ambiente
cat > .env <<EOF
ANTHROPIC_API_KEY=sk-ant-...
WOOCOMMERCE_URL=https://shop.example.com
WOOCOMMERCE_KEY=ck_...
WOOCOMMERCE_SECRET=cs_...
PORT=3000
EOF
# 3. Server Express di base
cat > server.js <<'EOF'
import express from 'express';
import Anthropic from '@anthropic-ai/sdk';
import axios from 'axios';
import dotenv from 'dotenv';
dotenv.config();
const app = express();
app.use(express.json());
const anthropic = new Anthropic();
// Query catalogo WooCommerce
async function searchProducts(query, limit = 5) {
const response = await axios.get(
`${process.env.WOOCOMMERCE_URL}/wp-json/wc/v3/products`,
{
params: { search: query, per_page: limit, status: 'publish' },
auth: {
username: process.env.WOOCOMMERCE_KEY,
password: process.env.WOOCOMMERCE_SECRET
}
}
);
return response.data.map(p => ({
id: p.id,
name: p.name,
price: p.price,
stock: p.stock_status,
permalink: p.permalink
}));
}
// Chiamata Claude con function calling
async function chat(messages) {
const tools = [
{
name: 'search_products',
description: 'Cerca prodotti nel catalogo WooCommerce per nome o descrizione',
input_schema: {
type: 'object',
properties: {
query: { type: 'string', description: 'Query di ricerca' },
limit: { type: 'number', description: 'Numero max risultati (default 5)' }
},
required: ['query']
}
}
];
const response = await anthropic.messages.create({
model: 'claude-sonnet-4-5',
max_tokens: 2000,
system: 'Se un assistente vendite per un e-commerce italiano. Rispondi in italiano, massimo 80 parole, usa gli strumenti per cercare prodotti. Non inventare prodotti.',
tools,
messages
});
return response;
}
app.post('/chat', async (req, res) => {
const { messages } = req.body;
let response = await chat(messages);
// Loop function calling: gestisce catena di chiamate strumenti
while (response.stop_reason === 'tool_use') {
const toolUse = response.content.find(c => c.type === 'tool_use');
if (toolUse.name === 'search_products') {
const products = await searchProducts(toolUse.input.query, toolUse.input.limit);
messages.push({ role: 'assistant', content: response.content });
messages.push({
role: 'user',
content: [{
type: 'tool_result',
tool_use_id: toolUse.id,
content: JSON.stringify(products)
}]
});
response = await chat(messages);
} else {
break;
}
}
const text = response.content
.filter(c => c.type === 'text')
.map(c => c.text)
.join('\n');
res.json({ reply: text });
});
app.listen(process.env.PORT, () => {
console.log(`Chatbot attivo su porta ${process.env.PORT}`);
});
EOF
node server.js
Frontend: widget di chat
<!-- Widget chat - incollare prima di </body> nel tema WP o in un block WP -->
<div id="chat-widget"" data-shop-url="https://shop.example.com">
<button id="chat-toggle" aria-label="Apri chat">
<svg width="24" height="24" viewBox="0 0 24 24" fill="white">
<path d="M12 2C6.48 2 2 6.48 2 12c0 1.85.5 3.58 1.38 5.07L2 22l4.93-1.38C8.42 21.5 10.15 22 12 22c5.52 0 10-4.48 10-10S17.52 2 12 2z"/>
</svg>
</button>
<div id="chat-panel" hidden>
<header>Assistente Shop</header>
<div id="chat-messages"></div>
<input id="chat-input" placeholder="Scrivi un messaggio..." />
<button id="chat-send">Invia</button>
</div>
</div>
<script>
document.getElementById('chat-toggle').addEventListener('click', () => {
document.getElementById('chat-panel').toggleAttribute('hidden');
});
const messages = [];
document.getElementById('chat-send').addEventListener('click', async () => {
const input = document.getElementById('chat-input');
const text = input.value.trim();
if (!text) return;
input.value = '';
messages.push({ role: 'user', content: text });
appendMessage('user', text);
const response = await fetch('https://api.example.com/chat', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ messages })
});
const { reply } = await response.json();
messages.push({ role: 'assistant', content: reply });
appendMessage('assistant', reply);
});
function appendMessage(role, text) {
const div = document.createElement('div');
div.className = `chat-msg chat-${role}`;
div.textContent = text;
document.getElementById('chat-messages').appendChild(div);
}
</script>
<style>
#chat-widget { position: fixed; bottom: 20px; right: 20px; z-index: 9999; }
#chat-toggle { width: 60px; height: 60px; border-radius: 50%; background: #0073aa; border: none; cursor: pointer; }
#chat-panel { width: 380px; height: 540px; background: white; border-radius: 12px; box-shadow: 0 8px 32px rgba(0,0,0,0.15); display: flex; flex-direction: column; margin-bottom: 12px; }
.chat-msg { padding: 12px; margin: 8px; border-radius: 12px; max-width: 80%; }
.chat-user { background: #0073aa; color: white; align-self: self; }
.chat-assistant { background: #f0f0f0; align-self: auto; }
</style>
Misurare il ROI: i 4 KPI che contano
Tasso di conversione chatbot vs no-chatbot
Su 14.000 sessioni/mese, il chatbot ha gestito 2.100 conversazioni attive (15% del traffico). Di queste, 340 hanno portato a un acquisto (16% tasso conversione chatbot vs 1.4% baseline). Significativo, ma non è "il chatbot converte di 10x": è "il chatbot cattura visitatori che stavano per andare via senza comprare".
Costo per conversazione
Costo medio per conversazione: 0.08€ (Claude Sonnet 4.5, 800 token medi). Su 2.100 conversazioni/mese: 168€/mese di API. Costo totale (API + hosting + manutenzione): 280€/mese.
Revenue attribuibile
Revenue diretto attribuibile: 340 ordini × 65€ AOV (average order value) = 22.100€/mese. ROI: 22.100/280 = 78x. Anche con stime conservative (50% del revenue è incrementale, non sostitutivo di ordini che sarebbero arrivati comunque), il ROI resta >35x.
Tasso di escalation a umano
Il 18% delle conversazioni è stato escalation a umano (richiesta esplicita o AI non ha saputo rispondere). Su un customer service che costa 1.200€/mese per 1 operatore part-time, il chatbot ha evitato 1.700 conversazioni/mese a 0.70€/conversazione = 1.190€/mese risparmiati. Sommati al revenue: ROI totale >50x.
Plugin WooCommerce pronti (e quando usarli)
StoreAgent AI
Il più interessante del 2026. StoreAgent è una piattaforma che si collega al tuo WooCommerce via REST API, indicizza il catalogo, e fornisce un chatbot AI che può rispondere su prodotti, gestire ordini, e fare raccomandazioni. Pricing: 49$/mese base + 0.05$ per conversazione. Setup: 2-3 ore. È quello che consiglio a chi vuole partire veloce senza custom dev.
Tidio + Claude backend
Tidio è il widget di chat più diffuso (200.000+ siti). La versione Tidio AI permette di collegare il widget a un backend AI custom via webhook. Buona per chi ha già Tidio e vuole aggiungere AI. Pricing Tidio: 29$/mese Lyro AI + Tidio base.
Crisp + Magic Type
Crisp è la principale alternativa europea a Tidio. La funzione Magic Type permette di scrivere risposte AI-assisted per operatori umani. Meno AI autonoma, più AI-augmented.
Soluzione custom (solo se sai cosa stai facendo)
Una soluzione custom (come quella mostrata nel codice sopra) è sensata solo se: il catalogo è molto specifico (richiede risposte custom), servono integrazioni con sistemi interni (es. gestionale, magazzino), o si vuole hosting self-hosted per compliance GDPR. Costo: 6.000-15.000€ + manutenzione.
GDPR e compliance: il pezzo che nessuno vuole affrontare
Un chatbot AI che raccoglie dati personali (nome, email, indirizzo per spedizione) è soggetto a GDPR. I punti chiave:
- Consenso esplicito: prima di iniziare la conversazione, l'utente deve accettare che sta interagendo con un AI e che i dati saranno trattati. Banner breve con checkbox.
- Trasparenza: il chatbot deve dichiarare di essere AI ("Sono un assistente virtuale AI") al primo messaggio.
- Dati usati per training: se usi Claude o GPT, i dati NON sono usati per training (è nelle policy di Anthropic e OpenAI). Ma va comunicato all'utente.
- Diritto di cancellazione: l'utente può chiedere cancellazione della conversazione. Serve un sistema che lo supporta.
- Localizzazione dati: Claude e GPT processano dati in EU (Claude) o US (GPT). Per settori regolamentati (sanità, finanza), serve un provider EU come Mistral.
In un e-commerce italiano medio, il GDPR è gestibile con un banner + privacy policy aggiornata. Niente compliance aggiuntiva richiesta se l'AI è solo customer service.
Quattro errori che ho già fatto
Errore 1: chatbot troppo verboso
La prima versione del chatbot scriveva paragrafi lunghi. Risultato: tasso di abbandono chat al 45%. Dopo 3 iterazioni, ho ridotto le risposte a max 80 parole + link al prodotto. Tasso di abbandono sceso al 22%.
Errore 2: inventare prodotti
Claude è onesto: se non trova prodotti, dice "non ho trovato prodotti corrispondenti". Ma se il prompt è vago ("trova qualcosa di simile"), Claude può suggerire prodotti che non esistono o con caratteristiche sbagliate. Fix: prompt engineering stretto, function calling obbligatorio, validazione output contro catalogo reale.
Errore 3: ignorare i fallback
Se il chatbot non sa rispondere, deve dirlo chiaramente e offrire alternative ("Non sono sicuro, posso passarti a un operatore umano?"). Senza fallback chiaro, l'utente si arrabbia e lascia il sito. Il tasso di escalation deve essere una metrica tracciata, non un fallimento.
Errore 4: tracciare male le conversioni
Un cliente aveva il chatbot su 50.000 sessioni/mese ma tracking conversioni impostato male. Risultato: pensavano che il chatbot non convertisse. Dopo aver fixato il tracking (evento custom su chat_completed + ordine attribuito), il ROI è emerso chiaramente. Misura sempre.
Costo reale di un chatbot AI nel 2026
| Componente | Costo/mese | Note | |
|---|---|---|---|
| Claude Sonnet 4.5 API | 80-300€ | dipende da volumi | |
| Hosting backend (Vercel/Railway) | 25-80€ | piccolo per cost | server Node.js |
| Widget frontend (self-hosted) | 0€ | HTML+CSS+JS puro | |
| Manutenzione | 200-400€ | 2-4 ore/mese dev senior | |
| Eventuale piattaforma (StoreAgent/Tidio) | 50-150€ | se non self-hosted | |
| Totale startup anno 1 | ~6.000€ | + 4.000-6.000€ dev iniziale | |
| Totale ricorrente anno 2+ | ~3.500-7.000€/anno | manutenzione + API |
Quando un chatbot AI NON ha senso su WooCommerce
Catalogo sotto i 50 prodotti (meglio un FAQ statico), customer service già efficiente, budget limitato, target clientela anziana o non digital-friendly. In tutti questi casi, meglio investire in qualcos'altro: ottimizzazione del checkout, foto prodotto migliori, o advertising.
Domande frequenti
Meglio Claude o GPT per un chatbot italiano? Claude Sonnet 4.5 è leggermente migliore sull'italiano naturale e sul context lungo. GPT-4o è comparabile e più economico. Per volume basso (sotto 1000 conversazioni/mese), la differenza è trascurabile.
Quanto costa realisticamente partire? Minimo realistico: 3.000€ di dev + 200€/mese di API + manutenzione. Per una soluzione completa self-hosted: 8.000-15.000€ + 400-800€/mese. Per una soluzione platform (StoreAgent): 1.500€ + 80-150€/mese.
Posso usare Mistral o Llama per self-hosted? Sì, per compliance EU (Mistral) o per ambienti air-gapped (Llama via Ollama). La qualità è leggermente inferiore a Claude Sonnet 4.5 ma più che accettabile per customer service.
Il chatbot può prendere ordini da solo? Tecnicamente sì. Praticamente è sconsigliato per ordini sopra i 100€ o per clienti nuovi (alto tasso di chargeback). Consiglio: chatbot raccoglie l'intenzione + mette i prodotti nel carrello, poi checkout umano tradizionale con pagamento Stripe.
Funziona con WooCommerce + HPOS (High-Performance Order Storage)? Sì, dal 2025 tutti i plugin WooCommerce moderni supportano HPOS. Il chatbot usa le REST API che funzionano indipendentemente dalla storage engine sottostante.
Riferimenti utili per approfondire
- WooCommerce agentic commerce 2026 ordini AI agent - angolo agenti AI che gestiscono ordini autonomamente.
- Bridge AI WordPress 7.0 plugin production-ready - integrazione WordPress + AI Bridge per il chatbot.
- Stack AI agent WordPress self-hosted 2026 - alternativa self-hosted completa.
- WordPress headless AI 2026 guida pratica decoupled con MCP - se vuoi costruire un chatbot come SPA headless.
- Plugin AI WordPress costi nascosti 9 plugin 2026 - costi reali dei plugin AI per WooCommerce.
- AI tools sviluppatore WordPress workflow 2026 - toolchain AI completa.
- Anthropic Claude API documentation - reference ufficiale per Claude.
- StoreAgent AI per WooCommerce - piattaforma citata nell'articolo.
- Tidio AI Lyro - alternativa Tidio con AI.
- Crisp Magic Type - AI-assisted customer service.
- WooCommerce REST API docs - reference ufficiale REST API.
- Ollama self-hosted LLMs - per chi vuole AI self-hosted.




Lascia un commento