email marketing

Gestire i Delivery Status Notification nelle campagne di Email Marketing: automazione e ottimizzazione del processo

Ricevere numerosi messaggi di Delivery Status Notification (Failure) nella casella di posta è un problema comune per chi gestisce campagne di email marketing. Questi messaggi indicano che alcune email inviate non sono state recapitate ai destinatari, il che rappresenta una criticità da più punti di vista:

  1. Pulizia del sistema: Una lista di contatti piena di email non valide o inattive può portare a un aumento dei bounce rate, mettendo a rischio la reputazione del mittente presso i provider di posta.
  2. Efficienza operativa: L’analisi manuale di questi messaggi richiede tempo e risorse, rallentando il lavoro.
  3. Conformità normativa: Mantenere una lista aggiornata e priva di contatti non validi è fondamentale per rispettare le normative sulla privacy e sull’invio di comunicazioni commerciali.

Una gestione corretta dei Delivery Status Notification è quindi essenziale, ma farlo manualmente non è sostenibile. Automatizzare o semi-automatizzare il processo diventa la soluzione ideale per ottimizzare i tempi e garantire un sistema di invio email efficiente.

Il Problema: Tempo e Risorse

Il principale ostacolo è rappresentato dal tempo necessario per gestire manualmente i messaggi di errore. Bisognerebbe aprire ogni email, estrarre l’indirizzo errato e successivamente segnalarlo nel sistema di marketing automation come Do Not Contact (DNC).

Inoltre, ogni errore manuale può comportare una mancata esclusione di contatti problematici, con conseguenze negative sull’efficienza del sistema di invio email.

La Soluzione: semi-automatizzare il processo

Abbiamo implementato una soluzione semi-automatizzata utilizzando Zapier e Google Sheets e uno script in Google Apps Script per:

  1. Organizzare tutti i messaggi di errore in un unico documento (file google sheet)
  2. Raccogliere automaticamente i messaggi di errore: I messaggi di errore vengono importati nella colonna B di Google Sheets attraverso zapier direttamente dal server imap.
  3. Estrarre gli indirizzi email: Uno script identifica e salva le email errate in una colonna dedicata (colonna C).
  4. Contrassegnare i messaggi elaborati: Lo stesso script aggiorna la colonna D con la dicitura “PROCESSATO”, distinguendo così le email già gestite da quelle ancora da elaborare.
  5. Caricare la lista su Mautic: Le email estratte vengono importate nel sistema di marketing automation (Mautic) e contrassegnate come DNC, evitando futuri tentativi di invio. Noi abbiamo usato Mautic ma la stessa procedura può essere usata anche per gli altri software di marketing automation come Hubspot, Salesmanago, Mailchimp, Brevo, GetResponse  etc.

Guida passo-passo per la semi-automazione

1. Configurazione di Zapier

Zapier trigger step 1
  • Trigger in Zapier:
    • Utilizza l’app IMAP by Zapier come trigger.
    • Configura le credenziali di accesso della casella email (server IMAP, utente, password).
    • Specifica la cartella email da monitorare. Per evitare che Zapier processi troppe email, è consigliabile:
      • Creare una casella email ad hoc per gestire i messaggi di errore.
      • Creare una regola nella casella email principale che sposti i messaggi con oggetto “Delivery Status Notification” in una cartella dedicata (ad esempio, “Delivery Status Notification”).
Zapier trigger step 2
  • Azione in Zapier: Create Spredsheet Row
    • Scrivi il contenuto dei messaggi identificati in Google Sheets.
    • Crea una tabella con le seguenti colonne:
      • Colonna A: Data. per questa colonna usa  {{zap_meta_human_now}} che aggiunge il time stamp attuale e ti permette di sapere quando il record è stato creato
      • Colonna B: Messaggio di errore completo. Io ho usato la variabile plain message
      • Colonna C: Email estratta (verrà popolata dallo script successivamente e per questo motivo non va impostata in zapier.
      • Colonna D: Stato idem come sopra. Si tratta di una dicitura che viene inserita dallo script e ci dice quali messaggi sono stati processati e quali no.
Zapier trigger step 3

2. Script in Google Apps Script

Utilizza il seguente codice per automatizzare l’estrazione delle email e l’aggiornamento dello stato:

function extractEmailFromColumnB() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const range = sheet.getRange(2, 2, sheet.getLastRow() - 1, 1); // Colonna B, dalla riga 2 fino alla fine
  const values = range.getValues();
  const emailRegex = /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/;

  for (let i = 0; i < values.length; i++) {
    const message = values[i][0]; // Ottieni il contenuto della cella nella colonna B
    const match = message.match(emailRegex); // Cerca l'email usando la regex
    if (match) {
      sheet.getRange(i + 2, 3).setValue(match[0]); // Scrivi l'email estratta nella colonna C
    } else {
      sheet.getRange(i + 2, 3).setValue("No email found"); // Scrivi un fallback nella colonna C
    }
    // Aggiorna la colonna D con "PROCESSATO"
    sheet.getRange(i + 2, 4).setValue("PROCESSATO");
  }
}

Spiegazione del codice:

  • Lo script legge i messaggi dalla colonna B.
  • Utilizza una regex per trovare indirizzi email validi.
  • Scrive l’email estratta nella colonna C e aggiorna la colonna D con la dicitura “PROCESSATO”.
esempio foglio di calcolo aggiornato

3. Importazione su Mautic

  • Dopo aver elaborato le email in Google Sheets, esporta la lista delle email estratte.
  • Importa la lista in Mautic e contrassegna i contatti come Do Not Contact (DNC) per evitare ulteriori invii a quegli indirizzi.

Automazione completa con Zapier

Lo script di Google Apps Script potrebbe essere integrato direttamente in un flusso Zapier per eliminare qualsiasi intervento manuale:

  • Trigger in Zapier: Monitorare la casella email e identificare i messaggi di errore con un filtro specifico (ad esempio, con il soggetto “Delivery Status Notification”).
  • Estrazione automatica: Utilizzare una funzione di parsing per individuare l’email non recapitabile direttamente da Zapier.
  • Connessione a Mautic: Aggiornare automaticamente il contatto in Mautic come DNC senza ulteriori passaggi manuali.

Questa soluzione garantirebbe un flusso completamente autonomo, dal rilevamento dei bounce alla loro gestione in Mautic.

Conclusione

Automatizzare la gestione dei Delivery Status Notification è fondamentale per mantenere un sistema di email marketing efficace. La soluzione descritta rappresenta un passo intermedio verso l’automazione completa, consentendo di risparmiare tempo e migliorare l’efficienza operativa.

Con un piccolo investimento iniziale nella configurazione degli strumenti, è possibile eliminare del tutto le operazioni manuali e garantire la massima pulizia delle liste, proteggendo al contempo la reputazione del mittente e l’efficacia delle campagne.

Se desideri ulteriori informazioni o assistenza per implementare un sistema automatizzato, contattaci oggi stesso!

Possiamo aiutarti nell’automatizzazione di processi attraverso i principali sistemi di marketing automation come Hubspot, Salesmanago, Brevo, Mailchimp, Getresponse, Active Campaign, Landbot e molti altri ancora.