PS PrestaShop Principiante

Prova Sociale — Notifiche di acquisto e Visitatori — Guida completa

Installare, configurare e sfruttare la prova sociale etica: notifiche di acquisti reali anonimizzate (3 livelli), contatore visitatori live senza cookie, orari arrotondati, soglia minima di visualizzazione e conformità GDPR per PrestaShop 8 e 9.

Aggiornato Versione del modulo 1.0.0

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.

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.
Questa pagina ti è stata utile?

Ancora bloccato? Contatta l'assistenza