Lead Ads (Meta e LinkedIn)
Ogni modulo inviato tramite i tuoi annunci Facebook/Instagram (Meta Lead Ads) o annunci LinkedIn (Lead Gen Forms) diventa un Lead nel CRM, usando la tua app (modello BYO).
L'integrazione Lead Ads usa LA TUA app e la TUA pagina/account pubblicitario (questo è il modello BYO, o "bring your own app"). Quando qualcuno compila un modulo lead in un annuncio Facebook/Instagram (Meta) o LinkedIn, il CRM crea automaticamente un Lead e assegna un proprietario tramite round-robin, esattamente come nella cattura pubblica dei moduli. I dati arrivano direttamente dal tuo account pubblicitario, senza intermediazione da parte nostra.
L'integrazione parte inerte: non succede nulla finché non inserisci le credenziali e la attivi. L'App Secret e i token di accesso sono memorizzati cifrati nel CRM e non vengono mai mostrati di nuovo.
Prerequisiti
- Meta: un'app su developers.facebook.com, una Pagina Facebook che gestisce gli annunci, e i permessi leads_retrieval e pages_manage_metadata; ti serviranno l'App Secret e un token di accesso pagina a lunga durata.
- LinkedIn: un'app su linkedin.com/developers con accesso alla Lead Sync / Advertising API e un token di accesso OAuth con lo scope r_marketing_leadgen_automation.
- Avere già creato dei moduli Lead (Meta Lead Ads / LinkedIn Lead Gen Forms) nelle tue campagne.
- In Sellio, accesso da amministratore per salvare le credenziali e abilitare l'integrazione in Impostazioni → Integrazioni.
Come funziona Meta (Facebook/Instagram)
Il webhook di Meta NON invia i dati del modulo. Invia solo un identificativo (leadgen_id). Al ricevimento, il CRM verifica la firma dell'evento (HMAC-SHA256 del corpo con il tuo App Secret) e poi RECUPERA il lead dalla Meta Graph API usando il tuo token di accesso pagina, ottenendo i campi inviati (field_data). Questi campi vengono mappati sui campi del Lead e il Lead viene creato.
Configurare Meta: nella dashboard di Meta
- Crea (o usa) un'app su developers.facebook.com. In Settings → Basic, copia l'App Secret.
- Aggiungi il prodotto "Webhook" e l'oggetto/prodotto Leadgen (Leads Access). Richiedi i permessi leads_retrieval e pages_manage_metadata per la tua pagina.
- Genera un token di accesso pagina a lunga durata per la pagina che gestisce gli annunci (Graph API Explorer o Business Manager).
- Tieni tutto a portata di mano: incollerai nel CRM l'App Secret, il token pagina e un "Token di verifica" (una stringa a tua scelta).
Configurare Meta: nel CRM
- Apri Impostazioni → Integrazioni e trova la scheda "Meta Lead Ads (Facebook/Instagram)".
- Verify token: scegli una stringa qualsiasi e digitala. Userai LO STESSO valore nella dashboard di Meta.
- App Secret e Page access token: incolla entrambi (vengono salvati insieme, cifrati) e clicca "Salva credenziali".
- Copia l'"URL webhook (Meta)" che appare.
- Torna nella dashboard di Meta → Webhooks, incolla quell'URL come Callback URL e il tuo verify token come Verify Token. Meta esegue un handshake (GET), e il CRM risponde alla challenge se il verify token corrisponde.
- Iscriviti al campo "leadgen" della tua pagina. Poi torna nel CRM e clicca "Abilita".
Configurare LinkedIn
Su LinkedIn (Lead Gen Forms), crea un'app su linkedin.com/developers, richiedi i prodotti Lead Sync / Advertising API, e genera un token di accesso OAuth con lo scope lead gen (r_marketing_leadgen_automation). Nel CRM, sulla scheda "LinkedIn Lead Gen Forms", incolla il token di accesso (e opzionalmente l'organization URN), salva e abilita. Punta la tua automazione (o il pull delle risposte del modulo) all'"URL in entrata (LinkedIn)", inviando un JSON con i campi del modulo.
Mapping dei campi
Ogni riga del mapping collega il NOME di un campo del modulo dell'annuncio (a sinistra) a un campo Lead (a destra, tramite api_name: email, name, phone, company, title…). Sono inclusi valori predefiniti sensati: full_name → name, email → email, phone_number → phone, company_name → company. Aggiungi righe solo per i campi personalizzati del tuo modulo. Se il modulo invia first_name e last_name separatamente (comune su LinkedIn), vengono combinati nel campo name.
Tratta l'URL del webhook, l'App Secret e i token come segreti. Le firme non valide vengono rifiutate (401). Senza il token di accesso pagina, il CRM non può recuperare i dati del lead dalla Graph API, motivo per cui incolli il token insieme all'App Secret. Da notare una limitazione: il pull nativo di LinkedIn (iscriversi a leadNotifications e poi recuperare le risposte tramite API) è documentato qui e può essere collegato; oggi la rotta riceve un payload di risposta del modulo già normalizzato.
Come testare
- Meta: nella dashboard di Meta → Webhooks, l'handshake (GET) convalida già il verify token quando salvi il Callback URL. Poi usa il "Lead Ads Testing Tool" di Meta (developers.facebook.com/tools/lead-ads-testing) per inviare un lead di test sul tuo modulo.
- Verifica nel CRM: dovrebbe apparire un nuovo Lead con i campi mappati; se è arrivata un'azienda, l'Azienda viene trovata/creata e collegata.
- LinkedIn: attiva (o invia manualmente) un payload di risposta del modulo all'"URL in entrata (LinkedIn)" e verifica il Lead creato.
Risoluzione dei problemi
- L'handshake di Meta fallisce: il verify token digitato nel CRM deve essere IDENTICO al Verify Token nella dashboard di Meta. Fai in modo che corrispondano e salva.
- Ricevi il webhook ma non viene creato alcun Lead: senza il token di accesso pagina, il CRM non recupera il field_data dalla Graph API. Incolla il token pagina INSIEME all'App Secret. Conferma i permessi leads_retrieval/pages_manage_metadata e che ti sia iscritto al campo "leadgen" della pagina.
- Firma non valida (401): l'App Secret nel CRM è diverso da quello dell'app Meta (la firma è HMAC-SHA256 del corpo con l'App Secret). Incolla di nuovo l'App Secret corretto.
- Un lead senza email viene ignorato: l'email è l'unico campo Lead obbligatorio. Assicurati che il modulo dell'annuncio abbia un campo email.
- I campi non si compilano: rivedi il Mapping (nome campo del modulo verso api_name del Lead). Su LinkedIn, first_name + last_name vengono combinati automaticamente in name.