# Prova Sociale — Notifiche di acquisto e Visitatori — Guida completa

> Panoramica Il modulo Prova Sociale — Notifiche di acquisto e Visitatori live aggiunge due meccanismi di rassicurazione alle tue schede prodotto: notifiche discrete di acquisti recenti («Maria L. ha acquistato…

- Pagina: <https://www.datafirefly.com/it/documentation/dfsocialproof/>
- Lingua: it
- Aggiornato il: 2026-07-16
- Altre lingue: [fr](https://www.datafirefly.com/documentation/dfsocialproof/index.md), [en](https://www.datafirefly.com/en/documentation/dfsocialproof/index.md), [es](https://www.datafirefly.com/es/documentation/dfsocialproof/index.md), [de](https://www.datafirefly.com/de/documentation/dfsocialproof/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfsocialproof/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfsocialproof/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfsocialproof/index.md)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

## Panoramica

Il modulo **Prova Sociale — Notifiche di acquisto e Visitatori live** aggiunge due meccanismi di rassicurazione alle tue schede prodotto: **notifiche discrete di acquisti recenti** («Maria L. ha acquistato questo prodotto 2 h fa») e un **badge dei visitatori live** («12 persone stanno guardando questo prodotto»).

Il suo tratto distintivo è l'approccio **etico e GDPR by design**: mostra solo **ordini realmente effettuati** nel tuo negozio e **visitatori realmente presenti**. Non inventa mai nulla. L'anonimizzazione viene applicata **lato server** prima di qualsiasi invio al browser, gli orari sono arrotondati, nessun dato grezzo del cliente viene esposto e il modulo non installa **alcun cookie**.

Compatibile con PrestaShop da 8.0 a 9.x, multinegozio e multilingue (FR/EN/ES/DE/IT inclusi), senza Composer né jQuery. Se non ci sono ordini recenti o abbastanza visitatori, il modulo semplicemente non mostra nulla.

## Installazione

1. Nel back-office, apri **Moduli > Gestione moduli**.
2. Clicca su **Carica un modulo** e seleziona il file `dfsocialproof.zip`.
3. L'installazione crea automaticamente la tabella dei visitatori e registra i valori di configurazione predefiniti.
4. Il modulo è attivo immediatamente sulle schede prodotto con impostazioni prudenti e funzionanti.

Nessuna impostazione è obbligatoria per iniziare. Predefiniti: notifiche sugli ordini degli ultimi 7 giorni, anonimizzazione «nome + iniziale», contatore visibile a partire da 3 visitatori simultanei.

## Configurazione

La pagina **Configura** è organizzata in tre pannelli, più un riquadro «Privacy by design» che riassume le garanzie del modulo.

### Notifiche di acquisto

- **Attivare le notifiche di acquisto**: interruttore del primo meccanismo.
- **Finestra temporale (ore)**: vengono mostrati solo gli ordini reali effettuati in questa finestra (168 h di default, cioè 7 giorni). Se non ce ne sono, non viene mostrato nulla.
- **Numero massimo di notifiche**: tetto per caricamento pagina (5 di default).
- **Livello di anonimizzazione**: tre modalità descritte nella sezione seguente.
- **Stati ordine presi in considerazione**: elenco a selezione multipla (Ctrl/Cmd per sceglierne diversi). Solo gli ordini in questi stati generano notifiche; di default, gli stati «validi» del tuo negozio.

### Contatore visitatori

- **Attivare il contatore visitatori**: interruttore del secondo meccanismo.
- **Finestra di conteggio (minuti)**: un visitatore viene contato finché è attivo in questa finestra (15 min di default). I record vengono poi eliminati automaticamente.
- **Minimo di visitatori per la visualizzazione**: sotto questa soglia (3 di default), il badge resta nascosto per non indicare mai un visitatore isolato.

### Visualizzazione

- **Posizione**: angolo in cui appaiono le notifiche (in basso a sinistra o a destra).
- **Ritardo iniziale (secondi)**: tempo prima della prima notifica (4 s di default).
- **Intervallo tra le notifiche (secondi)**: distanza tra due toast (9 s di default).
- **Durata di visualizzazione (secondi)**: tempo di visibilità di ogni toast (6 s di default).

Le notifiche vengono mostrate una sola volta per caricamento pagina: nessun loop infinito che finisce per infastidire. Il visitatore può chiudere i toast, e questa scelta viene memorizzata per tutta la sessione di navigazione.

## I tre livelli di anonimizzazione

Il livello scelto si applica a tutte le notifiche, e la trasformazione avviene **sul server**: il browser riceve solo il testo finale, mai i dati originali.

- **Nome + iniziale**: «Maria L. ha acquistato questo prodotto». Il più coinvolgente, pur restando non identificativo.
- **Solo città**: «Un cliente di Nizza ha acquistato questo prodotto». La città proviene dall'indirizzo di consegna dell'ordine.
- **Anonimato completo**: «Qualcuno ha acquistato questo prodotto». Il più prudente, adatto ai cataloghi sensibili.

### Orari relativi arrotondati

Gli orari mostrati («2 h fa», «25 min fa») sono volutamente **arrotondati** — i minuti ai 5 minuti più vicini. Obiettivo: impedire di re-identificare un cliente incrociando l'ora esatta di un ordine con altre informazioni. È una scelta di privacy by design, non un'approssimazione tecnica.

## Funzionamento del contatore visitatori

Ogni visitatore di una scheda prodotto viene contato tramite un'**impronta SHA-256 con salt** derivato dalla chiave segreta del tuo negozio (`_COOKIE_KEY_`). Questa impronta non viene mai mostrata, mai esposta al browser, e serve solo a deduplicare le visite.

- **Nessun cookie**: il modulo non installa né cookie né local storage per contare.
- **Pulizia automatica**: i record scaduti vengono rimossi in modo opportunistico dal database, senza attività cron da configurare.
- **Soglia di dignità**: sotto il minimo configurato, il badge scompare — un visitatore solitario non viene mai indicato come «1 persona sta guardando questo prodotto».
- **Aggiornamento**: il contatore si aggiorna ogni 60 secondi tramite una richiesta AJAX leggera.

## Privacy by design e GDPR

- **Solo ordini reali**: nessun dato inventato, mai. La credibilità del tuo negozio è preservata e resti dalla parte giusta del diritto dei consumatori (pratiche commerciali ingannevoli).
- **Anonimizzazione lato server**: i testi arrivano al browser già anonimizzati e formattati. Nessun dato grezzo del cliente (nome completo, email, indirizzo) viaggia verso il front-office.
- **Risposte AJAX non memorizzate in cache**: gli header impediscono qualsiasi memorizzazione intermedia dei testi.
- **Impronte eliminate**: la tabella dei visitatori si pulisce da sola, la conservazione è limitata allo stretto necessario.
- **Zero cookie, zero risorse esterne**: nulla da aggiungere al tuo banner di consenso per questo modulo.

Un pannello «Privacy by design» nel back-office riassume queste garanzie: puoi presentarlo così com'è al tuo DPO o allegarlo al tuo registro dei trattamenti.

## Accessibilità e prestazioni

- Toast annunciati con **aria-live polite** per gli screen reader.
- Rispetto di **prefers-reduced-motion**: le animazioni vengono disattivate se il visitatore lo richiede.
- **Dark mode** supportata automaticamente.
- **JavaScript vanilla** senza jQuery, risorse caricate solo sulla pagina prodotto: impatto trascurabile sulla velocità.

## Compatibilità tecnica

- **PrestaShop**: da 8.0 a 9.x.
- **PHP**: da 7.4 a 8.x.
- **Hooks**: actionFrontControllerSetMedia (risorse e configurazione front, solo pagina prodotto) e displayProductAdditionalInfo (badge visitatori).
- **Multinegozio** e **multilingue** supportati (traduzioni FR/EN/ES/DE/IT incluse).
- Nessuna dipendenza Composer, niente jQuery.

## FAQ

### Il modulo inventa acquisti o visitatori?

No, mai. Le notifiche provengono solo da ordini realmente registrati, e il contatore conta solo visitatori realmente presenti. Senza dati, il modulo non mostra nulla.

### Cosa succede se il mio negozio ha pochi ordini?

Amplia la finestra temporale (ad esempio 336 h per 14 giorni): le notifiche restano vere, solo l'orario relativo è più datato. Il modulo non riempirà mai un vuoto con dati falsi.

### Il contatore installa un cookie?

No. Si basa su un'impronta SHA-256 con salt calcolata lato server, mai esposta ed eliminata automaticamente. Nessun consenso aggiuntivo da raccogliere.

### È compatibile con PrestaShop 9 e multinegozio?

Sì, da PrestaShop 8.0 a 9.x, con supporto nativo del multinegozio.

## Risoluzione dei problemi

- **Nessuna notifica viene mostrata**: verifica che esistano ordini nella finestra temporale con uno degli stati selezionati. È il comportamento normale del modulo in assenza di dati reali.
- **Il contatore visitatori non appare**: il numero di visitatori attivi è probabilmente sotto la soglia minima. Abbassa la soglia o prova con più browser/dispositivi contemporaneamente.
- **Le notifiche non riappaiono**: se il visitatore ha chiuso un toast, quella scelta viene memorizzata per la sessione. Apri una finestra di navigazione in incognito per riprovare.
- **Il badge non si aggiorna**: l'aggiornamento avviene ogni 60 secondi; verifica anche che nessuna cache aggressiva blocchi le richieste AJAX del controller front.
