---
title: Dati utente & lead matching
description: Passare email, telefono, nome e dati custom dell'utente loggato al widget Audin per collegare la conversazione a un lead, e come funziona il visitorId.
---

Quando inizializzi il widget puoi passargli i **dati dell'utente loggato** sul
tuo sito. Audin li usa per **collegare la conversazione a un lead** del tuo
Account, così la chat di un utente già noto non parte "anonima" ma è riconducibile
al suo profilo.

Il passaggio dei dati utente è **opzionale**: senza, il widget funziona comunque
e la conversazione resta legata al solo `visitorId` (vedi più sotto).

## I campi `user`

I dati utente si passano nell'oggetto `user` dell'opzione di `init()` — valido sia
per il popup (`AudinChat`) sia per l'embedded (`AudinEmbed`):

```js
AudinChat.init({
  user: {
    email: "utente@esempio.com",
    phone: "+39123456789",
    fullName: "Nome Cognome",
    customData: {
      piano: "premium",
      clienteDa: "2023"
    }
  }
});
```

Tutti i campi sono **opzionali**: passa solo quelli che hai realmente.

| Campo | Tipo | Uso |
|---|---|---|
| `email` | `string` | Email dell'utente. Tra i criteri più affidabili per il matching con un lead esistente. |
| `phone` | `string` | Numero di telefono. Consigliato in formato internazionale (E.164, es. `+39123456789`). |
| `fullName` | `string` | Nome e cognome dell'utente. |
| `customData` | `Record<string, unknown>` | Coppie chiave/valore libere con contesto aggiuntivo (es. piano di abbonamento, ID interno, segmento). |

<Callout type="info">
  Questi sono **tutti** i campi accettati da `init()`. L'aspetto del widget, il
  bot collegato e i testi **non** si passano qui: si configurano nel dashboard
  (`app.audin.ai`). Vedi [Configurazione & comportamento](/docs/widget/configurazione-e-comportamento).
</Callout>

### Quando passare i dati

Passa i dati utente solo quando li conosci — tipicamente per un utente
**autenticato** sul tuo sito. Recuperali dal tuo stato applicativo (sessione,
profilo) e iniettali al momento dell'inizializzazione:

```js
// Esempio: utente loggato sul tuo sito
const currentUser = getLoggedInUser(); // dal tuo sistema

AudinChat.init({
  user: {
    email: currentUser.email,
    fullName: currentUser.name,
    customData: { piano: currentUser.plan }
  }
});
```

Per un visitatore anonimo, chiama semplicemente `AudinChat.init()` senza argomenti.

## Il `visitorId`

Indipendentemente dai dati utente, il widget assegna a ogni browser un
**`visitorId`** generato automaticamente e persistito nel **`localStorage`** alla
chiave `audin_visitor_id`.

- Viene creato la prima volta che il widget si carica e **riutilizzato** nelle
  visite successive dallo stesso browser, così le conversazioni dello stesso
  visitatore restano collegate nel tempo.
- È un identificativo casuale (UUID): non contiene dati personali e non è
  ricavabile dai campi `user`.
- Se l'utente svuota il `localStorage` (o cambia browser/dispositivo), riceve un
  **nuovo** `visitorId` — verrà trattato come un nuovo visitatore finché non lo
  ricolleghi tramite i dati `user`.

<Callout type="info">
  Per riconoscere lo **stesso** utente su browser o dispositivi diversi, passa i
  dati `user` (es. `email`): è il modo affidabile per ricollegare le conversazioni
  a un unico lead, dato che il `visitorId` è per-browser.
</Callout>

## Privacy

<Callout type="warn">
  Passa al widget **solo i dati di cui hai effettivamente diritto** e per cui hai
  raccolto il consenso necessario. I campi `user` sono pensati per dati di un
  utente **autenticato** che ha già una relazione con te.
</Callout>

Linee guida pratiche:

- Non inserire in `customData` informazioni sensibili o non necessarie al servizio.
- Non passare dati di terzi o di utenti che non hanno acconsentito al trattamento.
- Tratta email e telefono come dati personali: la responsabilità della base
  giuridica per il loro trattamento resta tua (titolare), Audin li elabora per
  fornirti il servizio.

## Prossimi passi

<Cards>
  <Card href="/docs/widget/api-ed-eventi" title="API & eventi" description="La superficie JavaScript completa (init, open, close, destroy, on) e gli eventi per modalità." />
  <Card href="/docs/widget/installazione" title="Installazione" description="Gli snippet popup ed embedded, incluso quello con i dati utente già impostati." />
</Cards>
