DataFirefly Price Alert — Documentazione
Installazione, configurazione, modalità di avviso, cron, tracciamento delle conversioni e risoluzione dei problemi del modulo di avviso ribasso prezzo per PrestaShop 8 e 9.
Panoramica
DataFirefly Price Alert aggiunge un avviso di ribasso prezzo al tuo negozio PrestaShop 8 o 9. I visitatori si iscrivono dalla scheda prodotto (con o senza account cliente), scelgono tra due modalità — qualsiasi ribasso o prezzo obiettivo — e ricevono un’email non appena il prezzo scende. Ogni ordine effettuato da un iscritto notificato viene attribuito automaticamente come conversione, con il fatturato recuperato visibile nella dashboard di amministrazione.
Installazione
- Nel back-office, vai su Moduli → Gestione moduli → Carica un modulo.
- Carica il file
dfpricealert-x.x.x.zip. - Clicca su Installa. Il modulo crea due tabelle (
df_pricealert_subscriberedf_pricealert_event), registra i suoi hook e aggiunge la scheda Price Alerts sotto Catalogo.
Nessuna dipendenza Composer richiesta: il modulo include un autoloader PSR-4 autonomo. PHP 8.0 minimo.
Configurazione
Vai su Moduli → DataFirefly Price Alert → Configura. Impostazioni disponibili:
- Double opt-in (GDPR) — attivo per impostazione predefinita. L’iscritto riceve un’email di conferma e l’avviso si attiva solo dopo il suo clic. Fortemente raccomandato per la conformità GDPR.
- Modalità di avviso predefinita — la modalità preselezionata nel modulo: qualsiasi ribasso o prezzo obiettivo. Il cliente può sempre cambiare.
- Posizione del modulo —
displayProductActions(sotto il pulsante di acquisto) odisplayProductAdditionalInfo(area informazioni aggiuntive). - Percentuale di ribasso minima — in modalità qualsiasi ribasso, ignora i ribassi inferiori a N %. 0 = qualsiasi ribasso attiva.
- Soglia di avviso al commerciante — ricevi un’email quando un prodotto raggiunge N iscritti attivi. 0 disattiva.
- Email del commerciante — destinatario dell’avviso di cui sopra (predefinito: email del negozio).
- Conservazione (giorni) — auto-pulizia degli iscritti cancellati/notificati più vecchi di N giorni. 180 predefinito, 0 disattiva.
Funzionamento lato cliente
Iscrizione
Il modulo è sempre visibile sulla scheda prodotto. Il cliente inserisce la sua email e sceglie:
- Qualsiasi ribasso — sarà avvisato alla prima riduzione sotto il prezzo mostrato al momento dell’iscrizione (soggetto alla soglia minima configurata).
- Quando raggiunge — inserisce un prezzo obiettivo, obbligatoriamente inferiore al prezzo attuale. L’avviso parte solo quando il prezzo scende a quel livello o al di sotto.
Se il prodotto ha delle combinazioni, la combinazione selezionata viene catturata automaticamente — e aggiornata se il cliente cambia combinazione prima di confermare.
Conferma (double opt-in)
Con il double opt-in attivo, l’iscritto riceve un’email di conferma. L’avviso rimane in stato pending fino al clic, poi passa ad active. Senza double opt-in, l’avviso è attivo immediatamente.
Notifica
Quando viene rilevato un ribasso idoneo, l’iscritto riceve un’email con il vecchio prezzo barrato, il nuovo prezzo, la percentuale di sconto, il risparmio e un link diretto al prodotto. Il suo stato passa a notified — non riceverà altre email per la stessa iscrizione.
Rilevamento dei ribassi: i tre trigger
Il modulo rileva i ribassi di prezzo attraverso tre canali complementari:
- Hook
actionObjectProductUpdateAfter— si attiva a ogni salvataggio di un prodotto nel back-office. Copre le modifiche manuali di prezzo con latenza zero. - Hook
actionUpdateProductAttribute— si attiva alla modifica di una combinazione. Copre i cambi di prezzo per combinazione. - Comando CLI
bin/scan-prices.php— da collegare a un cron. Indispensabile per i prezzi specifici programmati, che si attivano a una data senza far scattare alcun hook.
Impostazione del cron
*/30 * * * * php /percorso/del/tuo/negozio/modules/dfpricealert/bin/scan-prices.php --shop=1 >> /var/log/dfpricealert.log 2>&1
Il parametro --shop è opzionale (negozio predefinito altrimenti). Il comando mostra il numero di avvisi inviati e il tempo di esecuzione.
Configurazione consigliata: lascia gli hook attivi (latenza zero sulle modifiche manuali) e aggiungi il cron ogni 30 minuti per coprire le promozioni programmate.
Tracciamento delle conversioni
Sull’hook actionOrderStatusPostUpdate, il modulo percorre ogni riga dell’ordine e cerca un iscritto in stato notified corrispondente alla tripla (email del cliente, id prodotto, id combinazione). In caso di corrispondenza, l’iscritto passa a purchased e l’id_order viene registrato.
La corrispondenza accetta sia la combinazione esatta sia un’iscrizione generica (combinazione 0) — i prodotti senza combinazioni e le iscrizioni al «prodotto principale» vengono quindi attribuiti correttamente. Il tracciamento funziona anche in guest checkout, poiché la corrispondenza avviene per email.
Dashboard di amministrazione
La scheda Catalogo → Price Alerts mostra:
- 6 KPI — iscritti attivi, notificati, convertiti, tasso di conversione, ribasso medio accettato, fatturato recuperato.
- Prodotti caldi — top 10 dei prodotti per numero di iscritti attivi, con prezzo medio di iscrizione. È la tua lista di candidati prioritari per una promozione mirata.
- Lista degli iscritti — filtrabile per stato, email e prodotto, paginata a 25 righe.
- Azioni — scansiona tutti i prodotti immediatamente, elimina le voci vecchie, esporta la lista completa in CSV.
Ciclo di vita di un iscritto
Ogni iscrizione passa attraverso i seguenti stati:
pending— iscritto, in attesa di conferma (double opt-in).active— avviso attivo, monitorato dalle scansioni.notified— email di ribasso inviata. Stato terminale salvo acquisto.purchased— ordine rilevato dopo la notifica, conversione attribuita.unsubscribed— cancellazione tramite il link presente in ogni email.
Ogni transizione viene registrata nella tabella df_pricealert_event (audit trail completo).
Tre modelli, ciascuno fornito in FR/EN/ES/DE in formato HTML + testo:
- confirm — conferma double opt-in con pulsante di attivazione.
- alert — notifica di ribasso: vecchio prezzo barrato, nuovo prezzo in evidenza, risparmio in euro e percentuale, pulsante verso il prodotto.
- merchant — notifica al commerciante quando un prodotto supera la soglia di iscritti attivi.
L’email parte nella lingua dell’iscritto (quella della pagina al momento dell’iscrizione), con ripiego automatico sull’inglese se la lingua non è disponibile. I modelli sono personalizzabili in modules/dfpricealert/mails/<iso>/.
GDPR
- Double opt-in via email prima dell’attivazione (attivo per impostazione predefinita).
- Token crittografici da 32 byte (
random_bytes) unici per iscritto per la conferma e la cancellazione. - Link di cancellazione con un clic in ogni email.
- Auto-pulizia configurabile dei dati vecchi (minimizzazione dei dati).
- Nessun dato inviato a servizi di terze parti — tutto rimane sul tuo server.
Risoluzione dei problemi
Gli avvisi non partono
- Verifica che l’iscritto sia in stato
active(nonpending— il double opt-in richiede la conferma). - Verifica la soglia di ribasso minima: un ribasso del 3 % con una soglia al 5 % non attiva.
- In modalità prezzo obiettivo, il prezzo deve raggiungere o scendere sotto l’obiettivo — non solo diminuire.
- Per i prezzi specifici programmati, verifica che il cron sia in funzione (consulta il log).
- Testa l’invio email di PrestaShop in generale (Parametri avanzati → E-mail → Test).
Errori durante l’iscrizione
Il modulo registra tutti gli errori in Parametri avanzati → Log con il prefisso [dfpricealert]. Il modulo mostra inoltre gli errori del server in dettaglio direttamente sotto il pulsante (stato HTTP ed estratto della risposta), il che accelera la diagnosi.
Il modulo non appare
- Verifica la posizione configurata: alcuni temi non implementano
displayProductAdditionalInfo— passa adisplayProductActions. - Svuota la cache di PrestaShop (Parametri avanzati → Prestazioni).
Disinstallazione
La disinstallazione elimina le due tabelle del modulo (iscritti ed eventi inclusi), gli hook, la scheda di amministrazione e tutte le chiavi di configurazione. Esporta il CSV prima se desideri conservare lo storico.