Case study · 10 min di lettura

Come ho migrato 50.000 iscritti da Mailchimp in 3 giorni

Di AcelleMail Team May 22, 2026 10 min di lettura
comparison tutorial

Il racconto reale dello spostamento di una newsletter B2B da 50.000 iscritti da Mailchimp Standard a AcelleMail + Amazon SES. Dove se n'è andato il tempo, dove si è rotto qualcosa e che aspetto ha la nuova fattura mensile.

§1

Contesto — perché abbiamo migrato

La nostra newsletter contava 49.847 iscritti quando è arrivata la fattura Mailchimp del mese successivo: $259/mese sul tier Standard, in rampa verso $310 una volta superati i 50K. Si traduceva in $3.108-$3.720/anno di spesa ricorrente per un servizio la cui unica funzione essenziale per noi era “mandare la newsletter del martedì a una lista”.

La lista era su Mailchimp da 4 anni. Open rate 38%, click rate 4,2%, tasso di reclami trascurabile. Non ce ne andavamo perché Mailchimp fosse rotto — ce ne andavamo perché il prezzo appariva sproporzionato rispetto a ciò che usavamo.

Il sostituto candidato: AcelleMail self-hosted, invio attraverso Amazon SES Frankfurt (residenza dati UE per la nostra lista iscritti). Licenza pagamento unico da $80, ~$15/mese all-in. Break-even sulla licenza: mese 1.

§2

Giorno 1 — installazione + DNS + setup SES

Il lavoro tecnico è stato di ~3 ore. Ora per ora:

  • Ora 1. Avvio di un Hetzner CX22 (€4,51/mese, eu-central-1 Falkenstein). Ubuntu 24.04 LTS. Installazione di nginx + PHP 8.3 + MySQL 8 + composer. Upload del bundle AcelleMail da CodeCanyon, esecuzione dell'installer web. Licenza validata, utente admin creato.
  • Ora 2. Amazon SES → "Verified identities" → aggiunto il nostro dominio mittente. Easy-DKIM abilitato (3 CNAME). Pubblicati i record SPF + DMARC. Attesa di ~10 min per la verifica SES. Richiesta del production access (il form ha richiesto 4 minuti; l'approvazione è arrivata la mattina successiva).
  • Ora 3. AcelleMail admin → Sending servers → aggiunto SES via SMTP. Incollate le credenziali. Inviata l'email di test integrata alla nostra inbox. Recapito in inbox, DKIM pass, SPF pass. ✅

Lezione 1 della migrazione: il setup tecnico è la parte facile. I due giorni successivi sono stati interamente dedicati alla migrazione dati + ricostruzione delle automazioni.

§3

Giorno 2 — esportare, trasformare, importare

Export Mailchimp: Audience → All contacts → Export. Il download era uno ZIP con 4 CSV: subscribed members, unsubscribed members, cleaned (bounced) members, non-subscribed (pending). Dimensioni: 49.847 + 8.124 + 612 + 21.

Abbiamo scritto un piccolo script Python per fondere i CSV in un master file unico con due nuove colonne: status (subscribed / unsubscribed / bounced) e consent_source_mailchimp (abbiamo preservato l'URL di origine che Mailchimp tracciava). 30 minuti.

Import AcelleMail: Lists → Create List → definizione dei merge field (ne avevamo 6: email, first_name, last_name, segment, signup_source, consent_date). Poi Import → Upload CSV → mappatura colonne. L'import è girato a batch; ~25 minuti per 58K righe totali. I tag sono arrivati come campo custom; li abbiamo convertiti in segmenti post-import.

Lezione 2: i segmenti di Mailchimp non si esportano puliti. Il CSV Le dice solo quali tag ha un contatto, non le regole del segmento. Avevamo 11 segmenti; ricrearli nel segment builder di AcelleMail è costato altri 90 minuti perché la semantica degli operatori differisce leggermente (l'“is or is not” di Mailchimp vs l'“equals / does not equal” di AcelleMail). Documenti i Suoi segmenti PRIMA di iniziare la migrazione.

§4

Giorno 3 — automazioni, modelli, lo smoke test

È stato il giorno più lungo. Avevamo 4 automazioni attive su Mailchimp: welcome series (5 email), riattivazione a 90 giorni, follow-up download di contenuti (3 email) e un winback trimestrale. Totale 13 email da ricostruire da zero.

L'automation builder di AcelleMail usa le stesse primitive di Mailchimp — trigger / wait / condition / send / tag-update — quindi la mappatura concettuale è stata 1:1. Il collo di bottiglia è stato ricostruire l'HTML delle email. Avevamo un template Mailchimp personalizzato che usavamo come base; AcelleMail accetta HTML grezzo, quindi abbiamo incollato il sorgente e sostituito le merge tag di Mailchimp (*|FNAME|*) con quelle di AcelleMail ({{FNAME}}) via search-and-replace.

~4 ore dopo, tutte e 4 le automazioni ricostruite + test-send ai nostri indirizzi. Poi abbiamo fatto lo smoke test: inviare la prossima newsletter pianificata da AcelleMail in PARALLELO con quello che sarebbe stato l'invio Mailchimp. Le abbiamo mandate entrambe alle 9 di martedì. A mezzogiorno:

  • Invio Mailchimp: 38,1% di open rate (la nostra baseline a 4 settimane).
  • Invio AcelleMail: 37,4% di open rate. Dentro il rumore.

Parità di deliverability confermata. Il giorno 3 si è chiuso puntando il form di iscrizione del sito all'API di AcelleMail e disattivando l'abbonamento Mailchimp Standard con effetto fine periodo di fatturazione.

§5

Cosa si è rotto (e come l'abbiamo sistemato)

  1. 3 iscritti avevano emoji nel first_name. L'export CSV di Mailchimp li ha codificati come placeholder ?. Non ce ne siamo accorti fino a quando l'email di welcome è partita verso un signup del giorno 4 con ? al posto del nome. Rimedio: sweep post-import + un sanitizer sul form di iscrizione.
  2. Un'automazione ha continuato a partire. Avevamo dimenticato di disabilitare un flusso winback su Mailchimp prima dell'export. Tre iscritti lapsed hanno ricevuto l'email winback da Mailchimp E da AcelleMail nella stessa ora. Imbarazzante. Ci siamo scusati in un follow-up.
  3. L'open rate è sembrato “sbagliato” per 48 ore. AcelleMail conta gli open a partire dal pixel di open-tracking; Mailchimp li conta tramite il proprio tracker. Le definizioni della metrica coincidevano, ma nelle prime 48h AcelleMail mostrava il 12% di open mentre lo storico Mailchimp ne segnava il 38%. Abbiamo rintracciato la causa nel pixel di open-tracking ancora non riscaldato nei client di posta dei nostri iscritti (che cachano le decisioni di image-load). Dopo 48h i numeri sono convergiti.

§6

I numeri, sei mesi dopo

La retrospettiva post-migrazione a 6 mesi:

MetricaMailchimpAcelleMail + SES
Costo mensile$259-$310$15-$22
Licenza (ammortizzata su 5 anni)$1.33/mese
Open rate (media 6 mesi)38,1%37,8%
Tasso di reclami0,03%0,02%
Tempo di engineering / mese~30 min~90 min

Il delta di tempo di engineering è reale e ricorrente: spendiamo circa 1 ora extra al mese in revisione bounce SES, patch del sistema operativo e il task occasionale di tuning MySQL. Alla nostra tariffa oraria si tratta di ~$50/mese di soft cost — pur sempre un risparmio netto di 4-5x rispetto a Mailchimp Standard.

Lo rifaremmo? Sì. Sono valsi 3 giorni di lavoro per risparmiare $3K-$3,5K/anno? Sì. Lo consigliamo a ogni team? No — se non avete la banda operativa, la tassa di comodità di Mailchimp può essere la tassa giusta da pagare.

Mettilo in esecuzione sulla tua infrastruttura.

AcelleMail è una piattaforma email self-hosted con licenza una tantum. Codice sorgente completo, niente prezzi per iscritto.

Prova la demo live