Vai al contenuto
All articles
Setup

Marketing automation: Mailchimp, HubSpot, ActiveCampaign e Brevo

Sincronizza i Contatti del CRM con la tua lista/audience su Mailchimp, HubSpot, ActiveCampaign o Brevo e ricevi indietro iscrizioni e disiscrizioni (modello BYO, quindi l'account è tuo).

L'integrazione Marketing automation usa il TUO account Mailchimp, HubSpot, ActiveCampaign o Brevo (modello BYO: porti il tuo account). I Contatti del CRM vengono aggiunti/aggiornati nella tua lista/audience (sincronizzazione tramite email, idempotente), e gli eventi di iscrizione/disiscrizione tornano al CRM aggiornando lo stato marketing del Contatto. Non c'è costo, margine o intermediazione da parte nostra: i dati vanno direttamente al tuo account e tornano da esso.

L'integrazione parte inerte: non succede nulla finché non compili le credenziali e attivi. Tutti i segreti (API key, token, client secret) sono memorizzati cifrati nel CRM e non vengono mai mostrati di nuovo. Ogni piattaforma ha la propria scheda in Impostazioni → Integrazioni; l'URL del webhook è unico (/api/inbound/marketing/…) e il CRM riconosce la piattaforma dal token dell'URL.

Prerequisiti

  • Un account Mailchimp, HubSpot o ActiveCampaign con accesso da amministratore per generare API key/token e creare webhook.
  • Mailchimp: il server prefix (es. us21), l'Audience ID e una API key (Account → Extras → API keys).
  • HubSpot: una private app (Impostazioni → Integrazioni → Private Apps) con gli scope crm.objects.contacts.read/write. ActiveCampaign: l'URL API e la API key (Impostazioni → Developer).
  • Brevo (ex Sendinblue): una API key (SMTP & API → API Keys) e, se vuoi aggiungere contatti a una lista, l'ID numerico della lista (Contatti → Liste).
  • In Sellio, accesso da amministratore per salvare le credenziali e attivare l'integrazione in Impostazioni → Integrazioni.

Cosa viene sincronizzato

  • In uscita (CRM → provider): ogni Contatto con un'email viene inviato come membro/contatto della tua lista/audience. L'upsert è idempotente tramite email, quindi reinviare non duplica (Mailchimp usa l'hash MD5 dell'email; HubSpot fa upsert tramite idProperty=email; ActiveCampaign usa /contact/sync; Brevo usa POST /v3/contacts con updateEnabled). Nome, cognome e telefono vengono inclusi. Su Brevo scegli anche a quale attributo viene mappato ogni campo Sellio (mappatura dei campi).
  • In Brevo puoi anche inviare ogni contatto alla LISTA corrispondente al suo gruppo di clienti, invece di mandare tutti alla stessa lista: indica quale campo del contatto contiene il gruppo e scrivi una regola per riga, nel formato gruppo = lista. Un gruppo senza regola finisce nella lista predefinita, così nessuno resta escluso per una configurazione mancante.
  • In entrata (provider → CRM): quando qualcuno si iscrive o si disiscrive, il webhook aggiorna il Contatto corrispondente nel CRM (i campi marketing_status e email_opt_in sul record), associandolo tramite l'email. Se l'email non esiste nel CRM, l'evento viene ignorato (non viene creato nulla).
  • In tempo reale: non appena crei o modifichi un Contatto nel CRM, viene sincronizzato automaticamente con ogni connettore marketing attivo (Mailchimp, ActiveCampaign, HubSpot e Brevo), senza attendere il batch. È best-effort e viene eseguito solo quando almeno un connettore è attivo.
  • Il pulsante "Sincronizza contatti" sulla scheda invia i Contatti del CRM in blocco (best-effort, fino a 200 alla volta), utile per il primo caricamento o per rielaborare i tuoi contatti.
💡 La sincronizzazione è idempotente in entrambe le direzioni: reinviare lo stesso contatto aggiorna solo il membro esistente, e rielaborare lo stesso evento di iscrizione/disiscrizione lascia il Contatto nello stesso stato.

Mailchimp

  1. Apri Impostazioni → Integrazioni e trova la scheda "Marketing (Mailchimp)".
  2. Compila il server prefix (es. us21, la parte dopo il trattino nella tua API key e nell'indirizzo della dashboard), l'Audience ID (Audience → Settings → Audience ID) e la API key (Account → Extras → API keys). Clicca "Salva credenziali".
  3. Copia l'"URL webhook".
  4. In Mailchimp → Audience → Settings → Webhooks, crea un webhook che punti a quell'URL e seleziona gli eventi subscribe e unsubscribe. Mailchimp non firma i webhook: la sicurezza è affidata al token imprevedibile dell'URL, quindi trattalo come riservato.
  5. Torna al CRM e clicca "Attiva". Usa "Sincronizza contatti" per il primo invio in blocco.

HubSpot

  1. Nel CRM, trova la scheda "Marketing (HubSpot)".
  2. Crea una private app in Impostazioni → Integrazioni → Private Apps con gli scope crm.objects.contacts.read e .write; incolla l'Access token nel campo "Token app privata". Facoltativamente, inserisci il Client secret di un'app HubSpot per verificare la firma del webhook. Clicca "Salva credenziali".
  3. Copia l'"URL webhook".
  4. Configura un workflow webhook (o app webhook) in HubSpot che invii una POST (JSON) a quell'URL includendo l'email del contatto e lo stato marketing. Se hai inserito il Client secret, HubSpot firma ogni chiamata (X-HubSpot-Signature); altrimenti, il token dell'URL fa da protezione.
  5. Torna al CRM e clicca "Attiva".

ActiveCampaign

  1. Nel CRM, trova la scheda "Marketing (ActiveCampaign)".
  2. Compila l'URL API e la API key (entrambi in Impostazioni → Developer → API Access). Clicca "Salva credenziali".
  3. Copia l'"URL webhook".
  4. In ActiveCampaign → Settings → Manage Webhooks, crea un webhook che punti a quell'URL e seleziona gli eventi subscribe e unsubscribe. ActiveCampaign non firma i webhook: la sicurezza è affidata al token imprevedibile dell'URL, quindi trattalo come riservato.
  5. Torna al CRM e clicca "Attiva".

Brevo (ex Sendinblue)

  1. Nel CRM, trova la scheda "Marketing (Brevo)".
  2. Su Brevo, genera una API key in SMTP & API → API Keys (oppure tramite l'ingranaggio dell'account → SMTP & API). Copia la chiave.
  3. Torna su Sellio e incolla la chiave nel campo "API key". Se vuoi aggiungere contatti a una lista, inserisci l'ID numerico della lista (il numero compare nell'URL della lista sotto Contatti → Liste); lascialo vuoto per creare/aggiornare solo il contatto.
  4. In "Mappatura dei campi", collega ogni campo Contatto di Sellio all'attributo Brevo corrispondente (maiuscolo). I predefiniti sono FIRSTNAME, LASTNAME, SMS (telefono) e COMPANY (azienda). Lascia vuoto per usare il valore predefinito. Crea prima eventuali attributi personalizzati in Contatti → Impostazioni → Attributi contatto, altrimenti Brevo ignora un attributo che non esiste. Clicca "Salva credenziali".
  5. Copia l'"URL webhook".
  6. In Brevo → Impostazioni → Webhooks, crea un webhook Marketing che punti a quell'URL e seleziona l'evento di disiscrizione. Brevo non firma i webhook: la sicurezza è affidata al token imprevedibile dell'URL, quindi trattalo come riservato.
  7. Torna al CRM e clicca "Attiva". Usa "Sincronizza contatti" per il primo invio in blocco.

Tratta gli URL dei webhook e le credenziali come dati riservati. Dove Mailchimp/ActiveCampaign non firmano le chiamate, la sicurezza sta nel token imprevedibile dell'URL (lo stesso modello dei form del sito); su HubSpot, inserisci il Client secret per richiedere la firma. Se provi ad attivare senza le credenziali necessarie, l'integrazione resta inerte e non viene sincronizzato nulla finché tutto non è a posto.

Come testare

  1. In uscita: clicca "Sincronizza contatti" sulla scheda e verifica nella lista/audience del tuo provider che i Contatti con un'email siano apparsi (senza duplicare).
  2. In entrata: iscrivi/disiscrivi un'email di test già presente come Contatto nel CRM e conferma che i campi marketing_status ed email_opt_in del Contatto siano stati aggiornati.
  3. Reinvia lo stesso contatto e lo stesso evento e conferma che lo stato finale sia lo stesso (idempotenza).

Risoluzione dei problemi

  • Mailchimp 401/errore server: il server prefix (es. us21) deve corrispondere a quello del tuo account; controlla anche l'Audience ID e la API key.
  • HubSpot 401: il Private app token è sbagliato o manca degli scope crm.objects.contacts.read/write. Ricrea la private app con gli scope e reincolla il token.
  • ActiveCampaign 401: controlla l'URL API e la API key (Impostazioni → Developer → API Access), entrambi dello stesso account.
  • Brevo 401/403: la API key è sbagliata o è stata revocata. Generane una nuova in SMTP & API → API Keys e reincollala. Se un attributo non compare nel contatto Brevo, crealo prima in Contatti → Impostazioni → Attributi contatto (Brevo ignora gli attributi che non esistono). Se il contatto non entra nella lista, controlla l'ID numerico della lista.
  • In entrata non aggiorna il Contatto: se l'email dell'evento non esiste nel CRM, non viene creato nulla (per progettazione). Registra prima il Contatto. Conferma che il webhook punti all'"URL webhook" e selezioni subscribe/unsubscribe.
  • HubSpot: firma non valida: se hai inserito il Client secret, l'header X-HubSpot-Signature deve corrispondere. Altrimenti, rimuovi il segreto e affidati al token dell'URL.

Open this article inside the system

Read it and want to see it working?

The account is free and the whole manual is available inside the system, with an assistant that answers from this very content.

Crea un account gratuito
Marketing automation: Mailchimp, HubSpot, ActiveCampaign e Brevo · Sellio