Skip to main content

Attribution

Attribution collega i tuoi dati di visibilità AI a lead e ricavi reali. Invece di vedere soltanto se il tuo brand compare nelle risposte AI, puoi vedere se i clienti dichiarano davvero di averti trovato tramite ChatGPT, Perplexity, Claude, Google, annunci, passaparola o altri canali — e quanto fatturato genera ciascun canale. L’attribution di Finseo lavora con due tipi di dati che vengono uniti automaticamente:
  • Risposte — la risposta di un cliente alla domanda “Come ci hai conosciuto?”, dal popup del sondaggio Finseo, dai tuoi moduli, da uno strumento di sondaggi o dal tuo CRM.
  • Conversioni — acquisti e lead con un ID transazione e un valore, dal tuo tracking esistente (Google/Meta), da Stripe, dal tuo sistema shop o da un webhook.
Quando una risposta e una conversione condividono lo stesso ID ordine o la stessa email, vengono unite in un unico dato attribuito: “questo ordine da 1.234 € è arrivato da ChatGPT.”

Configurazione guidata

Il modo più rapido per configurare l’attribution è il wizard integrato: apri Attribution nella dashboard e clicca su Set up attribution. Ti chiede cosa vuoi tracciare (acquisti, lead o entrambi), quale sistema utilizzi e se hai già un tracking o un sondaggio post-acquisto — poi consiglia esattamente un percorso di installazione con snippet da copiare e incollare e verifica in tempo reale che il primo evento arrivi. I percorsi consigliati, a seconda del tuo setup:

Finseo Snippet

Un solo tag script. Popup del sondaggio più cattura automatica degli acquisti dal tuo tracking Google/Meta esistente.

Stripe

Un solo evento webhook di Stripe. Importi, trial e rinnovi vengono classificati automaticamente.

Shopify

Un Custom Pixel che segnala ogni checkout completato — gli script del tema non possono girare sul checkout di Shopify, il pixel sì.

WooCommerce

Un webhook ordini nativo, inclusa l’origine della funzione Order Attribution integrata in WooCommerce.

Shopware

Un webhook Flow Builder sull’evento “Order placed”.

Webhook / CRM

HubSpot, Pipedrive, Calendly, strumenti per moduli o il tuo backend.

Lo snippet Finseo

Lo snippet è un singolo tag script servito per progetto:
Incollalo prima di </head> su ogni pagina (oppure aggiungilo tramite Google Tag Manager come tag Custom HTML). Fa tre cose:

1. Cattura le risposte dai tuoi moduli esistenti

Se i tuoi moduli chiedono già “How did you hear about us?” (rilevato anche in tedesco: “Wie bist du auf uns aufmerksam geworden?”), lo snippet cattura la risposta al momento dell’invio — e il popup non viene mai mostrato. Email e nomi dello stesso modulo vengono allegati come chiavi di associazione, così la risposta può essere collegata in seguito a un deal o a un ordine.

2. Mostra il popup del sondaggio

Se nessun modulo sulla pagina pone la domanda, lo snippet mostra un piccolo popup con la domanda e le opzioni di risposta che hai configurato. Controlli tutto in Attribution → Survey settings:
  • Domanda e canali — i canali predefiniti includono AI Search, Google/Bing, Social Media, Online Ads, Referral, Content e Other (con testo libero). Puoi anche usare canali AI dettagliati (ChatGPT, Perplexity, Claude, Gemini, Copilot).
  • Trigger — al caricamento della pagina, dopo l’invio di un modulo, dopo un acquisto rilevato oppure manuale via JavaScript.
  • Stile — colore d’accento, posizione, raggio degli angoli, font (di sistema o ereditato dal tuo sito) e mescolamento opzionale delle risposte per evitare il bias di posizione (“Other” resta sempre per ultimo).
A ogni visitatore la domanda viene posta una sola volta (memorizzato in localStorage).

3. Sfrutta il tuo tracking delle conversioni esistente

Se sono installati Google Analytics / Google Ads (dataLayer / gtag) o il Meta Pixel (fbq), lo snippet ascolta passivamente gli eventi di conversione e li segnala a Finseo — nessun setup di tracking duplicato: Lo snippet legge ID transazione, valore, valuta e articoli dall’evento, deduplica per ID transazione (i ricaricamenti della thank-you page non vengono contati due volte) e analizza anche gli eventi scattati prima del suo caricamento. Il comportamento visibile ai visitatori non viene mai alterato.

API JavaScript

Per il controllo manuale, lo snippet espone una piccola API:

Come vengono unite risposte e conversioni

Conversioni e risposte al sondaggio di solito arrivano separatamente — un cliente risponde al popup mentre naviga, e l’ordine arriva più tardi via Stripe o tramite il webhook del tuo shop. Finseo le unisce automaticamente:
  • Chiavi di associazione: ID transazione (respondentExternalIdtransactionId) oppure email. Una corrispondenza per ID transazione vince sempre su una corrispondenza per email.
  • Finestre temporali: una nuova conversione guarda indietro di 90 giorni in cerca di una risposta al sondaggio (i trial SaaS spesso convertono settimane dopo la registrazione). Una nuova risposta al sondaggio guarda indietro solo di 48 ore in cerca di una conversione non abbinata, così una risposta fresca non viene mai collegata a un ordine vecchio e non correlato.
  • Valori dei deal: se la risposta non ha un valore, l’importo della conversione unita lo compila — i ricavi non vengono mai contati due volte.
  • Tipi di conversione: i checkout Stripe con totale a 0 $ vengono salvati come trial, le fatture ricorrenti come rinnovi. Solo gli acquisti regolari contano come nuovi clienti in attesa di attribuzione.
  • Ricavi non attribuiti: le conversioni che non hanno mai ricevuto una risposta al sondaggio vengono mostrate come KPI a sé, così vedi sempre quanto fatturato resta ancora senza spiegazione.
Qualunque cosa invii la conversione (Stripe, Shopify Pixel, webhook), includi sempre l’email del cliente quando disponibile — è la chiave di associazione più affidabile per i lead che rispondono al sondaggio prima di acquistare.

Privacy by default

Le email dei clienti vengono hashate con SHA-256 all’ingestione. Finseo non memorizza mai indirizzi in chiaro — solo l’hash (usato per unire gli ordini alle risposte del sondaggio) e un’anteprima mascherata come j***@company.com per la dashboard.

Importa risposte dagli strumenti di sondaggio

Hai già un sondaggio post-acquisto? Tienilo — Finseo importa le sue risposte invece di mostrare un secondo popup:

Fairing

Via Shopify Flow

KnoCommerce

Via webhook nativo

Zigpoll

Via webhook nativo

SurveyMonkey

Via Zapier/Make

Typeform

Supporto nativo

Tally

Supporto nativo

Invia dati con un webhook

L’endpoint webhook del tuo progetto ha questa forma:
Puoi trovare o rigenerare il token webhook nelle impostazioni Attribution del progetto. Tratta l’URL come un segreto — il token autentica ogni richiesta. Invia richieste POST con Content-Type: application/json. Sono accettati anche invii form-encoded e multipart, per gli strumenti di moduli che non possono inviare JSON grezzo.
Le risposte webhook riuscite hanno questo aspetto:

I payload di soli ordini diventano conversioni

Se un payload contiene dati d’ordine (ID transazione + importo) ma nessuna risposta di attribuzione — un evento Stripe, un ordine WooCommerce o un webhook ordini personalizzato — Finseo lo salva come conversione invece di rifiutarlo. La risposta ha allora questo aspetto:
matched: true significa che la conversione è stata immediatamente unita a una risposta al sondaggio precedente.

Riferimento dei campi

Finseo normalizza il testo del canale in categorie. Per esempio, le risposte contenenti chatgpt, openai, claude, perplexity, gemini, copilot o ai search vengono categorizzate come ai_search.

Mappa i campi in ingresso

Molti strumenti inviano payload con nomi propri, come LeadSource, how_did_you_find_us, q3_howDid o risposte Typeform annidate. Finseo può mappare questi campi nei workflow di Attribution.
  1. Apri Attribution.
  2. Vai su Workflows.
  3. Invia un webhook di test dal tuo sistema di origine.
  4. Apri il workflow creato.
  5. Mappa i campi in ingresso su attribuzione, email, nome, valore del deal, valuta, ID modulo o regole.
  6. Salva la mappatura.
Dopo la mappatura, i webhook futuri con la stessa struttura vengono interpretati automaticamente. Quando un payload non può essere interpretato affatto, Finseo crea il workflow per te e suggerisce una mappatura dei campi tramite AI — devi solo confermarla.
Puoi anche usare regole quando un campo di origine deve essere tradotto. Per esempio, se utm_source contiene chatgpt, mappalo su AI Search.

Formati di origine supportati

Finseo rileva automaticamente diverse origini comuni:
  • HubSpot: payload dei webhook contatto legacy con properties, oppure body JSON personalizzati da Operations Hub.
  • Typeform: form_response.answers, inclusi campi choice, choices, text ed email.
  • Tally: payload data.fields.
  • Salesforce: JSON da Flow HTTP Callout, per esempio LeadSource, Email, Name, Amount e CurrencyIsoCode.
  • Jotform: multipart/form-data con rawRequest o campi come q3_howDid, formID e submissionID.
  • Stripe: payload di eventi (checkout.session.completed, invoice.paid, …) — salvati come conversioni con conversione automatica dei centesimi e classificazione trial/rinnovo.
  • WooCommerce: webhook degli ordini, inclusi i meta di Order Attribution come origine marketing.
  • Shopware: payload ordini di Flow Builder con orderNumber, amountTotal ed email del cliente.
  • Raw JSON: payload diretti con campi come channelId, respondentEmail, dealValue e metadata.

Esempi

Import batch giornaliero

Se preferisci un job giornaliero, invia fino a 1000 risposte in una volta con la bulk API.
Consulta la Bulk Create Attributions API per il riferimento completo.

Ricevi eventi di attribuzione

Puoi configurare un URL webhook in uscita nelle impostazioni Attribution. Finseo invia un evento al tuo URL ogni volta che viene salvata una nuova risposta.
Se aggiungi un secret per il webhook in uscita, Finseo firma il body JSON con un header X-FinSEO-Signature usando HMAC-SHA256.

Limiti di frequenza

  • Endpoint webhook: 120 richieste al minuto per progetto.
  • Endpoint collect dello snippet: 60 richieste al minuto per IP visitatore.
Le richieste oltre il limite ricevono 429 e possono essere ritentate senza problemi dopo un minuto.

Risoluzione dei problemi

Ogni richiesta webhook in ingresso viene registrata con il risultato del parsing in Attribution → Webhook logs — incluse le richieste rifiutate. Gli stati:

Best practice

  • Aggiungi la domanda di attribuzione vicino alla conversione, come registrazione, richiesta demo, checkout o qualificazione del lead.
  • Mantieni le opzioni di risposta stabili tra i vari paesi. Traduci le etichette per gli utenti se necessario, ma mantieni coerenti i valori dei webhook.
  • Invia in dealCurrency la valuta originale pagata; Finseo può comunque aggregare e mappare i valori.
  • Includi un respondentExternalId stabile come ID ordine, ID lead del CRM, ID contatto o ID deal.
  • Metti prodotto, SKU, mercato, campagna e altro contesto di business in metadata.
  • Invia un evento per ogni lead, ordine o deal. Evita di inviare ogni visualizzazione di pagina come attribuzione.