Documentazione · Risoluzione dei problemi

Errori di email e lead

Questo documento copre i problemi relativi al modulo di richiesta informazioni sul veicolo, al modulo di prenotazione del test drive, all'invio di email, alla gestione dei lead e alle impostazioni di notifica nel plugin ADP Car Market Hub.

Quando usare questo documento

Leggere questo documento quando:

  • I visitatori inviano il modulo di contatto ma non arriva alcuna email di notifica al concessionario o al destinatario configurato.
  • I visitatori non ricevono un'email di conferma dopo aver inviato una richiesta.
  • L'invio del modulo sembra andare a buon fine (il visitatore vede un messaggio di successo) ma nessun lead viene salvato nell'amministrazione.
  • Il modulo restituisce un messaggio di errore o reindirizza a uno stato di errore.
  • L'invio del modulo è bloccato dalla protezione antispam.
  • Le notifiche email vengono inviate al destinatario errato.
  • Gli oggetti delle email personalizzati o i modelli del corpo del testo con segnaposto non vengono visualizzati correttamente.
  • La casella di controllo del consenso è mancante o il modulo non può essere inviato.

Panoramica

Il modulo di contatto integrato del plugin elabora le richieste di informazioni sui veicoli e le richieste di test drive inviate dai visitatori del sito. Quando viene inviato un modulo valido:

  1. Viene inviata un'email di notifica al destinatario del concessionario.
  2. Viene inviata un'email di conferma al visitatore (il lead).
  3. I dettagli del lead vengono salvati come custom post WordPress (as24ci_lead) e possono essere esaminati nella sezione Leads dell'amministrazione del plugin.
  4. Viene tracciato un evento di analisi del lead (se l'analytics è abilitata).

Entrambe le email vengono inviate utilizzando la funzione wp_mail() di WordPress. La consegna dipende dalla configurazione della posta del sito, che può utilizzare la funzione mail() integrata di PHP o un plugin SMTP di terze parti.

Protezione antispam

Il modulo utilizza due livelli di protezione:

  • Campo Honeypot: nel modulo è incluso un campo nascosto denominato website. Se un bot lo compila, l'invio viene trattato come andato a buon fine dal punto di vista del visitatore, ma viene scartato silenziosamente senza inviare alcuna email.
  • Limitazione della frequenza (Rate limiting): viene applicato un limite massimo di 5 invii per indirizzo IP in una finestra di 5 minuti utilizzando un transient di WordPress. Gli invii oltre questo limite reindirizzano il visitatore a uno stato di errore.

Risoluzione del destinatario

L'email di notifica al concessionario viene inviata al primo indirizzo valido trovato in questa catena di priorità:

  1. Override globale (impostazione LEAD_RECIPIENT_EMAIL): uno o più indirizzi email separati da virgole configurati nelle impostazioni del plugin. Tutti gli indirizzi validi in questo elenco ricevono la notifica.
  2. Email del profilo del venditore: un indirizzo email personalizzato memorizzato nel campo user meta as24ci_seller_email per l'utente associato al veicolo.
  3. Email dell'autore di WordPress: l'indirizzo email dell'utente di WordPress assegnato come autore del post del veicolo.
  4. Fallback email dell'amministratore: l'email dell'amministratore del sito di WordPress (opzione admin_email).

Requisiti preliminari

  • Almeno un post di veicolo è pubblicato affinché il modulo possa essere associato ad esso.
  • Il sito è in grado di inviare email. Verificare utilizzando Strumenti → Stato del sito o un plugin di test per email transazionali.
  • Per la consegna SMTP: un plugin SMTP (come WP Mail SMTP) è configurato con credenziali valide.

Passaggi diagnostici

Passaggio 1: Confermare che l'invio delle email funzioni

Prima di indagare specificamente sul plugin, confermare che WordPress sia in grado di inviare email in generale:

  1. Utilizzare un plugin come WP Mail SMTP (o qualsiasi strumento di test email di WordPress) per inviare un'email di prova.
  2. Se l'email di prova non viene ricevuta, il problema riguarda la configurazione del trasporto della posta, non il plugin. Configurare un plugin SMTP o contattare il proprio provider di hosting.

Passaggio 2: Verificare che il lead sia stato salvato

Anche quando l'invio dell'email fallisce, il plugin salva il lead nel database (a meno che l'invio del modulo non sia stato bloccato dall'honeypot o dal limitatore di frequenza):

  1. Andare alla sezione Leads dell'amministrazione del plugin.
  2. Trovare il lead più recente e confermare che i dettagli siano presenti (nome, email, veicolo).
  3. Controllare il campo email_sent. Se mostra 0, la chiamata a wp_mail() ha restituito false per una o entrambe le email.
  4. Se non esiste alcuna voce di lead, il modulo non è stato inviato affatto, è stato intercettato dall'honeypot, oppure il salvataggio del CPT as24ci_lead è fallito (controllare il registro degli errori PHP).

Passaggio 3: Verificare l'indirizzo email del destinatario

  1. Andare alle impostazioni del plugin e cercare Lead recipient email (l'override globale).
  2. Se questo campo è vuoto, il plugin ricorre all'email del profilo del venditore o all'email di WordPress dell'autore del post.
  3. Verificare che l'indirizzo del destinatario risolto sia un indirizzo email valido e recapitabile controllando: - Il valore nell'impostazione del destinatario del lead del plugin. - Lo user meta as24ci_seller_email per l'utente venditore (se applicabile). - L'email dell'account utente di WordPress per l'autore del post. - L'email dell'amministratore di WordPress (Settings → General → Administration Email Address).

Passaggio 4: Controllare i filtri email e le cartelle spam

  1. Chiedere al destinatario previsto di controllare la cartella spam o posta indesiderata.
  2. Le email inviate da WordPress utilizzando mail() di PHP spesso mancano di una corretta autenticazione SPF/DKIM e vengono frequentemente contrassegnate come spam. L'installazione e la configurazione di un plugin SMTP migliorano significativamente la recapitabilità.
  3. Se si utilizza SMTP, confermare che le credenziali siano corrette e che il provider SMTP non stia bloccando il dominio o l'indirizzo IP del server.

Passaggio 5: Esaminare lo stato di errore del modulo

Se il modulo reindirizza a un messaggio di errore (l'URL contiene as24ci_contact_ok=0), le cause probabili sono:

  • Campi obbligatori non validi o mancanti: il modulo richiede un ID veicolo valido, un nome non vuoto e un indirizzo email valido. Se il campo del messaggio è abilitato (impostazione predefinita), è richiesto anche un messaggio non vuoto.
  • Limite di frequenza superato: più di 5 invii dallo stesso indirizzo IP in una finestra di 5 minuti. Il visitatore deve attendere prima di inviare nuovamente.
  • Chiamata a wp_mail() fallita: entrambe le email hanno restituito false. Il lead viene comunque salvato ma al visitatore viene mostrato lo stato di errore.

Per determinare quale causa si applica, esaminare l'elenco dei lead nell'amministrazione per vedere se è stata creata una voce e controllare il campo email_sent.

Passaggio 6: Controllare la casella di controllo del consenso

Se il modulo non può essere inviato perché è richiesta la casella di controllo del consenso:

  1. Confermare che l'opzione Require consent sia abilitata nelle impostazioni del plugin (impostazione predefinita: abilitata).
  2. Confermare che il testo dell'etichetta del consenso sia impostato correttamente.
  3. Se è configurato l'URL di una pagina sulla privacy, confermare che il collegamento nell'etichetta del consenso punti alla pagina corretta.
  4. Il modulo convalida il campo del consenso sul lato server. Se un visitatore non lo seleziona, l'invio viene rifiutato e viene reindirizzato allo stato di errore.

Passaggio 7: Verificare i modelli di email personalizzati

Se sono configurati oggetti personalizzati o modelli di corpo HTML (nelle impostazioni email del plugin), verificare che:

  1. Il modello sia HTML valido.
  2. I token segnaposto utilizzino il formato corretto: {placeholder_name} con parentesi graffe. I segnaposto supportati sono: - {customer_name} - {customer_email} - {customer_phone} - {customer_message} - {vehicle_title} - {vehicle_url} - {vehicle_price} - {dealer_name} - {listing_id} - {appointment_date}
  3. Se è configurato un modello personalizzato ma un segnaposto è digitato in modo errato, questo apparirà come testo letterale {placeholder_name} nell'email inviata.
  4. Se il campo del modello personalizzato è vuoto, il plugin utilizza il suo modello HTML integrato come fallback.

Passaggio 8: Richieste di test drive

Gli invii del modulo di test drive seguono lo stesso percorso di codice delle richieste standard con una convalida aggiuntiva:

  1. Devono essere selezionati sia una data che una fascia oraria. Se uno dei due manca o la data è nel passato, l'invio ricade in una richiesta di contatto standard.
  2. La fascia oraria deve essere una delle fasce disponibili restituite dall'API di disponibilità del test drive. Se non ci sono fasce disponibili per la data selezionata, la convalida della fascia fallisce.
  3. L'oggetto e il corpo dell'email per gli invii di test drive utilizzano un testo predefinito diverso rispetto alle richieste standard ("Test drive request" rispetto a "Vehicle inquiry").

Riferimento per la configurazione

ImpostazioneDescrizione
Lead recipient emailOverride globale per il destinatario della notifica. Separato da virgole per indirizzi multipli. Se vuoto, viene utilizzata l'email del venditore o dell'autore.
Show Name fieldControlla se mostrare il campo del nome (impostazione predefinita: mostrato; sempre obbligatorio).
Show Email fieldControlla se mostrare il campo dell'email (impostazione predefinita: mostrato; sempre obbligatorio).
Show Phone fieldControlla se mostrare il campo del telefono (impostazione predefinita: mostrato; non obbligatorio).
Show Message fieldControlla se mostrare il campo del messaggio (impostazione predefinita: mostrato).
Require MessageQuando il campo del messaggio è mostrato, un messaggio vuoto impedisce l'invio.
Require consentQuando abilitato, il visitatore deve selezionare la casella di controllo del consenso (impostazione predefinita: abilitato).
Consent label textTesto personalizzato per l'etichetta della casella di controllo del consenso.
Privacy page URLURL della pagina della privacy policy, collegata dall'etichetta del consenso.
Success messageTesto personalizzato mostrato dopo un invio andato a buon fine.
Error messageTesto personalizzato mostrato quando l'invio fallisce.
Dealer email subjectOggetto personalizzato per la notifica al concessionario. Supporta i segnaposto.
Customer email subjectOggetto personalizzato per la conferma al visitatore. Supporta i segnaposto.
Dealer email templateCorpo HTML personalizzato per la notifica al concessionario. Supporta i segnaposto.
Customer email templateCorpo HTML personalizzato per la conferma al visitatore. Supporta i segnaposto.

Note operative

  • Sia la notifica al concessionario che la conferma al visitatore vengono inviate utilizzando wp_mail(). Se una delle due chiamate restituisce false, il modulo reindirizza allo stato di errore. Il lead viene comunque salvato in ogni caso.
  • L'intestazione Reply-To dell'email di notifica al concessionario è impostata sul nome e sull'indirizzo email del visitatore, in modo che il concessionario possa rispondere direttamente al visitatore dal proprio client di posta.
  • La limitazione della frequenza utilizza un transient di WordPress associato a un hash SHA-256 dell'indirizzo IP del visitatore e al salt di autenticazione di WordPress. L'hash impedisce che l'IP venga memorizzato in testo normale. Il limite è di 5 invii per IP ogni 5 minuti.
  • Il campo honeypot è nascosto tramite CSS nei modelli del plugin. Se un plugin di sicurezza o di prestazioni rimuove gli stili inline o blocca determinate classi CSS, il campo honeypot potrebbe diventare visibile ai visitatori reali. Testare il modulo dopo aver abilitato i plugin di sicurezza.
  • I lead sono memorizzati in un custom post type non pubblico (as24ci_lead) con stato new, contacted, closed o spam. Sono visibili solo nella sezione Leads dell'amministrazione del plugin, non nell'elenco pubblico dei post di WordPress.
  • Il plugin non memorizza il contenuto delle email o gli indirizzi IP completi nel database. Il record del lead memorizza il nome del contatto, l'email, il telefono, il messaggio, il riferimento del veicolo, la data di invio e lo stato di consegna dell'email.

Risoluzione dei problemi

SintomoCausa probabileVerifica
Nessuna email ricevuta dal concessionarioInvio tramite wp_mail() fallito o email contrassegnata come spamInvia un'email di prova tramite WordPress; controlla la cartella spam; configura SMTP
Nessuna email di conferma ricevuta dal visitatoreStesso errore di invio tramite wp_mail()Controlla l'elenco dei lead per verificare la presenza di email_sent = 0; verifica SMTP
Lead non salvatoHoneypot attivato o salvataggio del CPT fallitoControlla se esiste una voce di lead; esamina il registro degli errori PHP
Il modulo mostra un errore dopo l'invioCampi obbligatori mancanti, limite di frequenza superato o errore di wp_mail()Controlla il parametro URL as24ci_contact_ok=0; esamina l'elenco dei lead
Impossibile inviare il modulo (consenso)Casella di controllo del consenso non selezionataIl visitatore deve spuntare il consenso; verifica se il consenso è richiesto nelle impostazioni
L'email va al destinatario erratoRisoluzione del destinatario che reindirizza al fallbackImposta l'override globale nell'impostazione dell'email del destinatario del lead
Il segnaposto {vehicle_title} viene visualizzato come testo letteraleErrore di battitura nel template personalizzatoVerifica l'ortografia del segnaposto nel template email personalizzato
Il limite di frequenza blocca gli invii legittimiL'IP sta inviando troppe richiesteAttendi 5 minuti; se il problema persiste, controlla la presenza di NAT condiviso o proxy
Data della prova su strada non accettataData nel passato o formato non validoVerifica che il visitatore selezioni una data futura nel formato corretto
Orario della prova su strada non accettatoFascia oraria non disponibile o formato non validoVerifica che le fasce orarie siano configurate; la fascia oraria deve essere disponibile per la data selezionata

Documenti correlati