Tracciamento delle conversioni. Attribuisci ogni euro al clic che l'ha generato.
I ricevitori webhook di Stripe e Shopify verificano le firme e legano i ricavi al link breve di origine. L'attribuzione della campagna è derivata automaticamente.
- Attribuzione Stripe & Shopify lato server
- Passthrough di click_id - niente JS lato client
- Fatturato per link, campagna, giorno, piattaforma
- Verifica automatica della firma HMAC
Come funziona
Il click_id percorre l'intero funnel
Un UUID viene marcato al momento del clic e passa attraverso ogni step - parametro URL, cookie di sessione, sessione Stripe, ordine Shopify - finché il webhook non scatta e chiude il loop di attribuzione lato server. Per l'attribuzione stessa non serve JavaScript lato client.
- Passo 01
Clic sullo short link
elido.me/saleL'edge marca un UUID v4
cid: a3f9c1… - Passo 02
click_id allegato
?elido_cid=a3f9c1…Parametro URL + cookie first-party
cid: a3f9c1… - Passo 03
L'utente converte
client_reference_id=a3f9c1…La sessione Stripe porta il click_id
cid: a3f9c1… - Passo 04
Il webhook scatta
checkout.session.completedFatturato attribuito al link originario
cid: a3f9c1…
Integrazioni
Receiver webhook drop-in per Stripe e Shopify
Registra l'endpoint nella dashboard, incolla il signing secret e l'attribuzione inizia a fluire. La verifica della firma HMAC avviene prima che venga processato qualunque payload - i webhook falsificati vengono rifiutati prima di toccare i tuoi dati.
Dashboard fatturato
Fatturato per link, per campagna, per giorno
Ogni short link ha un totale fatturato live - somma di tutti i valori di conversione attribuibili via quel link. Filtra per tag campagna, range di date o piattaforma. Esporta in CSV o streamma in BigQuery con export schedulati.
- Fatturato per linkValori di conversione sommati, in qualunque valuta, nella denominazione originale
- CVR nel tempoSerie temporale del tasso di conversione accanto al volume di clic
- Forwarding a GA4 / Meta CAPIFan-out asincrono dopo la registrazione della conversione
- DeduplicazioneIdempotente su click_id + event_name - webhook doppi non raddoppiano il conteggio
| Link | Clic | Conv. | Fatturato | CVR |
|---|---|---|---|---|
| elido.me/bfcm | 18,420 | 847 | €76,280 | 4.6% |
| elido.me/sale | 11,034 | 512 | €41,430 | 4.6% |
| elido.me/nl/shop | 8,901 | 398 | €29,104 | 4.5% |
| elido.me/email-q2 | 6,201 | 201 | €14,872 | 3.2% |
| elido.me/ig-bio | 5,032 | 88 | €6,104 | 1.7% |
Cosa puoi fare
- Stripe checkout.session.completed
- Stripe payment_intent.succeeded
- Shopify orders/paid
- Attribuzione della campagna derivata dal link
- Riepilogo dei ricavi nella dashboard
Come funziona l'attribuzione delle conversioni server-side end-to-end
I pixel lato client perdono il 20–40% delle conversioni a causa di adblocker, restrizioni sulla privacy di iOS e catene di redirect al checkout. L'attribuzione server-side colma questo divario.
Ogni clic riceve un UUID passato alla destinazione: l'ancora di attribuzione per l'abbinamento delle conversioni
Quando un utente clicca su un link breve di Elido, l'edge genera un click_id (UUID v4) e lo aggiunge come parametro di query (elido_cid) all'URL di destinazione. Il tuo flusso di checkout dovrebbe mantenere questo parametro in ogni pagina della canalizzazione: la maggior parte dei router SPA e degli stack di checkout renderizzati dal server inoltrano i parametri di query sconosciuti per impostazione predefinita, ma le catene di redirect nei checkout multifase potrebbero rimuoverli. Il click_id viene memorizzato anche in un cookie di sessione sul dominio di destinazione se incorpori lo snippet di attribuzione da 2KB di Elido (opzionale). Testa l'intero flusso di checkout prima di andare live: clicca su un link breve, completa un acquisto di prova, verifica che l'elido_cid appaia nel POST di conversione. Se non appare, aggiungi l'inoltro dei parametri di query nel tuo middleware di checkout. Questo è il fallimento più comune nella configurazione dell'attribuzione: non il webhook, ma la perdita dei parametri di query nel checkout.
Il ricevitore webhook di Stripe verifica le firme e attribuisce gli eventi checkout.session.completed e payment_intent.succeeded
Registra l'endpoint del webhook Stripe di Elido nella tua dashboard Stripe (Impostazioni → Webhook → Aggiungi endpoint). Elido ascolta gli eventi checkout.session.completed e payment_intent.succeeded. Su ogni evento, Elido verifica l'intestazione Stripe-Signature utilizzando il tuo segreto di firma del webhook, estrae l'importo del pagamento e la valuta, cerca il click_id memorizzato rispetto al client_reference_id della Checkout Session (che il tuo checkout deve popolare - vedi la guida) e registra la conversione a fronte di quel clic. Le entrate e il click_id sono quindi disponibili nella vista analitica del link e nel riepilogo delle entrate della campagna. Il campo client_reference_id della Checkout Session è il passaggio consigliato; in alternativa, usa il campo metadata di Stripe con la chiave elido_cid se utilizzi direttamente PaymentIntents. La configurazione completa richiede circa 30 minuti se la tua integrazione Stripe gestisce già i webhook.
Il webhook orders/paid di Shopify lega le entrate dell'ordine al clic sul link breve originale
Registra l'endpoint del webhook Shopify di Elido nel tuo pannello di controllo Shopify (Impostazioni → Notifiche → Webhook → Crea webhook → Argomento: ordini/pagato). Elido verifica l'intestazione X-Shopify-Hmac-Sha256, estrae il totale dell'ordine e la valuta, e cerca l'elido_cid dai note_attributes dell'ordine (che popoli dal carrello utilizzando l'API note_attributes del carrello di Shopify, passando il click_id dal cookie di sessione o dal parametro URL). Per i negozi Shopify che utilizzano i temi Online Store 2.0, lo snippet di attribuzione di Elido inserisce automaticamente il click_id nel carrello al momento del clic. Gli ordini attribuiti sono deduplicati in base all'ID ordine, in modo che gli ordini rimborsati e sostituiti non vengano contati due volte. I negozi Shopify Plus con estensioni di checkout personalizzate possono passare il click_id attraverso un canale più affidabile - la guida alla configurazione copre il flusso specifico per Plus.
Invia una richiesta POST all'endpoint di conversione di Elido da qualsiasi backend, non solo Stripe e Shopify
Invia una POST a /v1/conversions con un corpo JSON: { click_id: "...", event_name: "purchase", value: 99.00, currency: "EUR", metadata: {} }. Il click_id è l'elido_cid del clic. Elido autentica la richiesta con la chiave API del tuo workspace (consigliato HMAC-SHA256 sul corpo del payload per una maggiore sicurezza). Questo endpoint copre qualsiasi conversione non gestita dalle integrazioni native di Stripe o Shopify: WooCommerce, attivazioni di prova SaaS personalizzate, invii di moduli di lead, conversioni di chiamate telefoniche tracciate dalla tua piattaforma di telefonia. Il campo event_name è testo libero; usa qualsiasi convenzione di denominazione preferita dal tuo team: viene visualizzato così com'è nella vista analitica. Idempotenza: invia la stessa combinazione di click_id + event_name due volte e verrà registrata solo la prima. Il valore dell'evento e i metadati sono mutabili solo alla prima scrittura.
Invia le conversioni simultaneamente a GA4 Measurement Protocol, Meta CAPI e Mixpanel server-track
Dopo che Elido ha registrato una conversione a fronte di un clic, invia l'evento a tutte le destinazioni di inoltro server-side abilitate: GA4 Measurement Protocol (l'evento appare in GA4 come un evento di acquisto server-side con i parametri UTM originali del clic), Meta CAPI (l'evento viene deduplicato rispetto al pixel lato client se entrambi sono attivi, utilizzando l'event_id dal click_id) e Mixpanel server-track (l'evento viene inviato con il distinct_id dalla chiamata $identify di Mixpanel se hai configurato l'identità incrociata). L'inoltro avviene in modo asincrono dopo la registrazione della conversione - non blocca la risposta del webhook a Stripe o Shopify. Gli eventi di inoltro falliti vengono riprovati con backoff esponenziale per 24 ore, poi eliminati con una voce di log. Puoi vedere lo stato dell'inoltro per ogni conversione nella dashboard.
Team revenue che utilizzano il monitoraggio delle conversioni di Elido
I nomi sono segnaposto: i casi di studio reali dei clienti verranno pubblicati qui.
“iOS 14.5 ha annullato l'attribuzione del nostro Meta Pixel sul 30% degli acquisti da mobile. Il webhook Stripe server-side tramite Elido ha recuperato la maggior parte di essi: il passaggio del click_id nel client_reference_id di Stripe è stata la chiave. La configurazione ha richiesto un pomeriggio.”
“Inviamo le attivazioni di prova all'endpoint di conversione personalizzato di Elido. La catena clic → prova → pagamento è ora tracciabile end-to-end senza un CDP completo. L'inoltro a GA4 Measurement Protocol significa che le nostre dashboard dei canali a pagamento sono di nuovo accurate.”
“Il webhook orders/paid di Shopify più lo snippet di attribuzione nel tema è stata un'integrazione di un giorno. Le entrate per campagna sono ora un numero in tempo reale nel nostro standup mattutino, non una formula in un foglio di calcolo che qualcuno deve aggiornare.”
Monitoraggio conversioni Elido vs Bitly vs Short.io
Bitly non ha il monitoraggio delle conversioni server-side. Short.io ha pixel di conversione di base. Il monitoraggio delle conversioni di Elido è server-side e inoltra a più piattaforme pubblicitarie.
| Feature | Elido | Bitly | Short.io |
|---|---|---|---|
| Attribuzione delle conversioni server-side | Sì - basata su webhook, con firma verificata | Non disponibile | Non disponibile |
| Integrazione webhook Stripe | checkout.session.completed + payment_intent.succeeded | Non disponibile | Non disponibile |
| Integrazione webhook Shopify | orders/paid - firma verificata, deduplicazione ordini | Non disponibile | Non disponibile |
| Endpoint di conversione personalizzato | POST /v1/conversions - qualsiasi backend, qualsiasi evento | Non disponibile | Non disponibile |
| Inoltro GA4 / Meta CAPI | Sì - inviato dopo la registrazione della conversione | Non disponibile | Parziale - solo pixel lato client |
| Entrate nelle analisi | Riepilogo entrate per link e per campagna con valuta | Non disponibile | Solo conteggio conversioni, nessuna entrata |
| Deduplicazione delle conversioni | Sì - idempotenza su click_id + event_name | Non applicabile | Non disponibile |
Domande sul monitoraggio delle conversioni
Cosa succede se il click_id viene rimosso prima della conversione?
Se il parametro di query elido_cid viene perso prima che l'evento di conversione si attivi - a causa di una catena di redirect, di un router SPA che non inoltra i parametri di query o di un checkout di terze parti che rimuove i parametri sconosciuti - la conversione non può essere attribuita. Testa l'intero funnel: clicca su un link breve, traccia l'elido_cid in ogni pagina fino alla conferma del checkout, verifica che appaia nel POST di conversione. Lo snippet di attribuzione di Elido (un piccolo blocco JavaScript) imposta anche il click_id in un cookie di prima parte come fallback: se il parametro URL viene perso ma l'utente è ancora nella stessa sessione del browser, l'attribuzione può essere recuperata dal cookie.
Come vengono gestiti i rimborsi nell'attribuzione delle conversioni?
Elido non elabora automaticamente gli eventi di rimborso. Se si attiva un evento charge.refunded di Stripe o refunds/create di Shopify, Elido non storna le entrate attribuite. Puoi inviare un evento di conversione con valore negativo all'endpoint personalizzato per stornare manualmente l'attribuzione. Un listener per il webhook di rimborso è in programma. Fino ad allora, se hai bisogno di entrate nette accurate in Elido, sottrai i totali dei rimborsi utilizzando l'esportazione dei dati e il tuo sistema di gestione degli ordini.
Il monitoraggio delle conversioni funziona se l'utente completa il checkout su un dispositivo diverso?
No: se l'utente clicca sul link breve da mobile ma completa il checkout su desktop, il click_id non viene trasferito tra i dispositivi. La conversione non verrà attribuita a meno che la sessione dell'utente non abbia conservato l'elido_cid attraverso il cambio di dispositivo (ad esempio, tramite un account loggato che lo ha memorizzato). L'attribuzione cross-device richiede un grafico di identità server-side, che Elido non fornisce. Per la precisione dell'attribuzione cross-device, usa il tuo MMP o CDP insieme alle conversioni server-side di Elido.
Quali valute sono supportate per l'attribuzione delle entrate?
Tutti i codici valuta ISO 4217 sono accettati nel campo value di un evento di conversione. Le entrate vengono memorizzate nella valuta originale; la dashboard analitica mostra le entrate nella valuta di ogni evento di conversione. Se hai bisogno di una vista aggregata in un'unica valuta, esporta gli eventi di conversione e convertili nel tuo data warehouse - Elido non applica tassi di cambio FX.
Come si imposta il passaggio del client_reference_id di Stripe?
Quando crei una Checkout Session di Stripe, imposta client_reference_id sul valore del parametro URL elido_cid dal clic di riferimento. In JavaScript: const session = await stripe.checkout.sessions.create({ ..., client_reference_id: searchParams.get('elido_cid') }). Il gestore webhook di Elido legge questo campo da checkout.session.completed. Se utilizzi direttamente PaymentIntents, usa invece il campo metadata con la chiave elido_cid. La guida alla configurazione su /docs/guides/conversion-tracking contiene codice copia-incolla per Node, Python e Go.
I dati di conversione sono inclusi nelle esportazioni di analisi?
Sì. Gli eventi di conversione sono memorizzati in una tabella separata (conversions) accanto alla tabella degli eventi di clic (clicks). Le esportazioni pianificate su S3, BigQuery o Snowflake includono entrambe le tabelle. La chiave di JOIN è click_id. Una query SQL di riferimento che unisce i clic alle conversioni e calcola le entrate per sorgente UTM della campagna è presente nella guida all'esportazione.
Posso tracciare conversioni senza entrate come la compilazione di moduli o le attivazioni di prova?
Sì - l'endpoint di conversione personalizzato accetta qualsiasi event_name e un valore opzionale (impostato su 0 per eventi senza entrate). Usa nomi di eventi come 'trial_started', 'demo_booked', 'form_submitted'. Questi appaiono nella vista analitica del link sotto 'Conversioni' con il nome dell'evento come etichetta. Se effettui anche l'inoltro a GA4, questi vengono mappati su eventi GA4 personalizzati. I conteggi delle conversioni (non solo le entrate) sono visibili per link e per campagna, indipendentemente dal valore dell'evento.
Qual è la latenza dalla ricezione dell'evento di conversione alla visibilità nelle analisi?
Dalla ricezione del webhook all'archivio di analisi: in genere meno di 5 secondi tramite la stessa pipeline del flusso di eventi degli eventi di clic. L'attribuzione (l'abbinamento della conversione al clic di origine) avviene in modo sincrono alla ricezione del webhook - se il click_id si risolve, l'attribuzione è immediata. L'inoltro a valle a GA4 / Meta CAPI / Mixpanel è asincrono e aggiunge 2–10 secondi. Il numero delle entrate nella vista analitica della dashboard si aggiorna entro 30 secondi dalla ricezione dell'evento di conversione.
Continua a leggere
Analisi dei clic - dove le entrate della conversione appaiono accanto ai conteggi dei clic.
Attiva i pixel di Meta CAPI e Google Ads sul redirect - il lato acquisizione del loop di conversione.
Attribuzione delle entrate a livello di campagna - scopri quale variante della campagna ha generato più entrate.
Webhook in uscita firmati con HMAC da Elido - ricevi eventi di clic con attribuzione delle conversioni nei tuoi sistemi.
Pronto a provarlo?
Inizia con il piano gratuito, effettua l'upgrade quando hai bisogno di un dominio personalizzato.