Rela AIRela AI Docs
Funzionalita

Sondaggi CSAT

Misura la soddisfazione dei clienti al termine di ogni conversazione WhatsApp o email — scala 1-5 / 1-10, sì/no o testo libero, con aggregati per versione.

Sondaggi CSAT

CSAT (Customer Satisfaction) è il sondaggio breve che l'agente invia automaticamente quando una conversazione termina. Una a tre domande rapide — "Quanto sei soddisfatto?", "Abbiamo risolto il problema?" — consolidate in aggregati per agente e canale, così il supervisore vede tendenze reali invece di impressioni.

Riepilogo esecutivo

Il cambio di passo: misurare la soddisfazione dove accade la conversazione — non in un modulo separato che nessuno apre.

PrimaCon CSAT
Il supervisore indovina se il servizio va beneTasso di risposta + punteggio medio per agente
Sondaggio email separato → 2% rispondeDomanda nella stessa chat → 30-40% risponde
Nessuna tracciabilità per conversazioneOgni risposta collegata al suo conversation_id

A cosa serve

  • Individuare cali di qualità di un agente specifico (un cambio di prompt che ha peggiorato l'esperienza).
  • Confrontare canali: WhatsApp vs email nella stessa organizzazione.
  • Giustificare miglioramenti: "il punteggio è passato da 3.8 a 4.4 dopo il nuovo prompt".
  • Ottenere NPS operativo senza strumenti aggiuntivi.

Come funziona

sequenceDiagram
  autonumber
  participant U as Utente
  participant A as Agente WhatsApp/Email
  participant T as Conversation timeout service
  participant C as CSAT service
  U->>A: ultimo messaggio della conversazione
  Note over A,T: 30 min di inattività (timeout configurabile)
  T->>C: c'è un question set attivo per questo agente+canale?
  C-->>T: sì, versione 3, 2 domande
  T->>A: inviare intro_message
  A->>U: "Ci aiuti con un breve sondaggio?"
  U->>A: risposta 1
  A->>C: parse → CSATAnswer
  A->>U: domanda 2
  U->>A: risposta 2
  A->>C: completare CSATResponseItem
  A->>U: thank_you_message

Dettagli chiave:

  1. Trigger: quando scade il session_timeout_minutes dell'agente (default 30 min), se csat_enabled=true ed esiste un question set attivo, il sondaggio parte.
  2. Versionamento: modificare le domande crea una nuova versione; la precedente viene archiviata. Le risposte esistenti mantengono il riferimento alla loro versione — gli aggregati non mescolano mai versioni diverse.
  3. Parser multilingua: il parser accetta "1/5", "⭐⭐⭐⭐⭐", "cinque", "5 stelle" per scale_1_5; "sì", "yes", "certo", "no", "nope" per yes_no; testo libero per open_text.
  4. Snapshot: ogni CSATResponseItem persiste il question_set_version. Se modifichi il set più tardi, le risposte precedenti rimangono intatte.

Tipi di domanda

TipoUso tipicoRisposta normalizzata
scale_1_5Soddisfazione generale (5 stelle)int 1-5
scale_1_10Net Promoter Scoreint 0-10
yes_no"Abbiamo risolto il problema?"bool
open_textFeedback qualitativostr (max 500)

Configurazione

Abilitare CSAT in un agente

Dalla dashboard:

  1. Agenti IA → WhatsApp (o Email) → selezionare l'agente.
  2. Nella scheda Impostazioni, attivare l'interruttore Abilita CSAT.
  3. Salvare.

Con questo, l'agente viene collegato al question set attivo per canale + agente. Se non esiste un question set, l'interruttore non fa nulla.

Creare un question set

Dall'editor CSAT dell'agente (Impostazioni → CSAT):

  1. Introduzione (opzionale): breve messaggio prima della prima domanda. Es: "Ci aiuti con 2 domande?".
  2. Domanda 1 — tipo: scale_1_5, scale_1_10, yes_no, open_text.
  3. Testo della domanda: il prompt che guida l'IA. Es: "Chiedi se era soddisfatto del servizio". Il sistema lo parafrasa nella lingua dell'utente in runtime.
  4. Ripetere per 2-10 domande.
  5. Chiusura (opzionale): messaggio finale. Es: "Grazie! Il tuo feedback ci aiuta a migliorare."
  6. Salvare → la versione 1 viene creata. Ogni modifica successiva incrementa la versione.

Campi per domanda

CampoDescrizione
keyIdentificatore stabile (max 50 caratteri). Usato negli aggregati — rinominare la domanda NON rompe la serie storica se mantieni la key.
prompt_to_aiTesto che guida Gemini nel formulare la domanda nella lingua dell'utente.
interpretation_hintSuggerimento opzionale per parsare le risposte, es: "accetta 1-5, uno-cinque, ⭐⭐⭐, 1/5".
typescale_1_5 / scale_1_10 / yes_no / open_text.
requiredSe true, l'agente riformula quando l'utente salta. Default true.

Consultare aggregati

La dashboard dedicata si trova in Soddisfazione (/satisfaction), con vista per agente e canale:

  • Tasso di risposta: total_completed / total_started * 100.
  • Punteggio medio per domanda numerica.
  • Distribuzione per valore (istogramma per scale, proporzione sì/no).
  • Testo libero: elenco paginato di risposte.

Gli aggregati vengono calcolati on-the-fly in MongoDB sulla collezione _csat_responses filtrata per question_set_id + version. Nessun job batch — i numeri della dashboard sono in tempo reale.

Casi d'uso

1 · Supervisore WhatsApp individua agente in calo. L'agente "supporto-nord" aveva punteggio medio 4.6 su scale_1_5 per 3 mesi. Dopo un cambio di prompt è sceso a 3.9 in una settimana. Il supervisore vede il calo sul grafico, annulla il prompt, il punteggio torna a 4.5 in due giorni.

2 · NPS operativo senza strumento esterno. Azienda B2B con agenti email usa scale_1_10 nella domanda unica "Quanto è probabile che ci raccomandi?". Calcola NPS = %promotori (9-10) − %detrattori (0-6) direttamente dall'aggregato. 200 risposte/mese con tasso di risposta del 35%.

3 · Feedback qualitativo triage-abile. Agente con 2 domande: scale_1_5 + open_text. Le risposte con punteggio ≤2 vengono riviste manualmente. L'agente IA classifica gli open_text per tema (problema tecnico, lamentela di tempo, feedback positivo). Flusso di miglioramento continuo senza sforzo umano massivo.

Limiti e assunzioni

  • Il sondaggio parte al timeout di inattività, non quando l'utente dice "grazie, ciao". Se la conversazione rimane aperta 30 minuti senza chiusura esplicita, parte comunque.
  • Massimo 10 domande per set. Oltre, il tasso di risposta crolla drasticamente.
  • Il parser di risposte è tollerante ma non infallibile. Risposte molto ambigue vengono salvate come testo grezzo in CSATAnswer.text con value = null.
  • Gli aggregati NON mescolano versioni. Per vedere l'evoluzione storica dopo un cambio di domande, confronta le versioni nella dashboard — il sistema non le combina.
  • CSAT gira solo per canale: non esiste sondaggio cross-channel (email + WhatsApp in un unico set).

Vantaggi chiave

  • Soddisfazione misurata dove accade la conversazione → tasso di risposta 10-20× superiore a un sondaggio email separato.
  • Versionamento automatico: ogni cambio di domande viene archiviato, gli aggregati rimangono comparabili per versione.
  • Nessun servizio esterno: non si paga SurveyMonkey o Typeform. Tutto vive nella piattaforma.
  • Parser tollerante a stili naturali dell'utente (emoji, numeri, parole).
  • Tracciabilità per conversazione: ogni risposta punta al suo conversation_id per audit.

Benefici chiave

  • 4 tipi di domanda coprono la maggioranza dei casi.
  • Invio automatico dopo chiusura conversazione.
  • Dashboard di trend per agente e reparto.
  • Export CSV per analisi esterna.
  • Opzionale per conversazione — non invadente.

In questa pagina