Analytics. Every click, mapped in real time.
Flusso di clic in tempo reale su ClickHouse. Geo, dispositivo, referrer, UTM. Viste funnel e coorte su Business. Esportazioni programmate su S3, BigQuery o Snowflake.
- ClickHouse-backed for sub-second queries
- GDPR-compliant by default — no cookies needed
- Geo, device, referrer, UTM — in one view
- Export via API or scheduled CSV
How it works
From impression to revenue — every step measured
Click events fire into Redpanda the instant a redirect happens, with zero impact on redirect latency. The click-ingester service writes them to ClickHouse asynchronously — typically under 5 seconds. You see funnel drop-off, geo spread, and conversion attribution in the same view.
Geo analytics
Country → region → city, where the IP resolves
Geo resolution uses MaxMind GeoIP2 City. IP is used for lookup only and is not stored in click events — GDPR-compliant by default. For workspaces that need country-only resolution, that’s a single workspace setting on Business.
- Country breakdownISO 3166-1 alpha-2 with click share %
- City-level precisionWhere IP resolution goes below region
- Device + OS splitMobile, tablet, desktop; iOS, Android, Windows
- UTM attributionsource, medium, campaign, term, content
- Hour × day heatmapIdentify peak windows and bot patterns
- Germany3,241
- Poland2,108
- France1,879
- United States1,432
- United Kingdom1,219
- Netherlands887
- Czech Republic641
- Sweden512
- Click from Berlin, DEnewsletter.acme.comMobile2s ago
- QR scan from Tokyo, JPdirectMobile5s ago
- Click from Warsaw, PLtwitter.comDesktop11s ago
- Click from Paris, FRlinkedin.comDesktop18s ago
- Click from New York, USgoogle.comMobile27s ago
- Click from Amsterdam, NLdirectDesktop41s ago
Live stream
Watch clicks arrive as they happen
The real-time view polls the analytics API every 30 seconds. Events are typically in ClickHouse within 5 seconds of the click. During traffic spikes, the Redpanda topic buffers events for up to 7 days — no events are lost, the ingester just catches up.
- Sub-5s click-to-dashboard lag on average
- Redpanda topic buffers 7 days of events
- Consumer lag monitored; alert fires at 60s
- Real-time Kafka firehose on Business
- 30s dashboard poll; configurable via API
What you can do
- Eventi di clic in tempo reale
- Suddivisioni per paese / dispositivo / referrer
- Ritenzione funnel + coorte (Business)
- Heatmap ora del giorno × giorno della settimana
- Esportazioni programmate su S3 / BQ / Snowflake
- Attribuzione delle conversioni da Stripe / Shopify
Cosa fa effettivamente lo stack di analytics
Il conteggio dei clic e i breakdown geografici sono presenti in ogni shortener. Le funzionalità seguenti sono quelle in cui l'architettura basata su ClickHouse fa davvero la differenza.
Eventi clic grezzi in ClickHouse — ogni evento, nessuna aggregazione all'inserimento
Gli eventi clic vengono inseriti tramite Redpanda e scritti in ClickHouse dal servizio click-ingester. Non c'è un livello di campionamento — un link con 10 clic e uno con 10 milioni di clic usano la stessa pipeline. La conservazione è di 90 giorni su Free, 12 mesi su Pro, 24 mesi su Business. I campi dello schema dell'evento includono: click_id, link_id, workspace_id, occurred_at (UTC), country_iso2, region, city, device_type, os, browser, referrer_domain, utm_source, utm_medium, utm_campaign, utm_term, utm_content e referer (URL completo, nullable). Lo schema è pubblico e versionato; le modifiche ricevono una guida alla migrazione. Il ritardo di inserimento degli eventi è solitamente inferiore a 5 secondi dalla disponibilità del clic a ClickHouse. Se hai utilizzato Bitly o Rebrandly e ti affidi al 'conteggio totale dei clic' come KPI, otterrai gli stessi numeri da Elido — con in più la possibilità di interrogare gli eventi grezzi invece di un semplice contatore.
Breakdown geografici, per dispositivo, referrer e UTM a livello di link
Ogni link nella dashboard ha la sua vista di analytics: grafico dei clic in serie temporale (orario, giornaliero, settimanale), breakdown geografico (paese → regione → città, dove la risoluzione IP arriva al livello della città), tipo di dispositivo (mobile, tablet, desktop), OS, browser, dominio referrer e distribuzione dei parametri UTM. La heatmap ora del giorno × giorno della settimana mostra quando il traffico di un link raggiunge il picco — utile per programmare campagne, confermare che un evento dal vivo ha generato traffico all'ora prevista e individuare pattern di bot (i bot spesso colpiscono i link in orari insoliti costanti senza diffusione geografica). Per i link con regole smart-link, gli analytics per variante sono visibili nella stessa vista — conteggio dei clic e serie temporale per variante.
Attribuzione delle conversioni server-side da Stripe, Shopify e webhook personalizzati
L'attribuzione delle conversioni server-side colma il divario creato dai pixel client-side. Ad ogni clic, Elido registra un click_id e lo passa come parametro di query all'URL di destinazione. Quando scatta un evento di conversione sul tuo backend (Stripe checkout.session.completed, Shopify orders/paid o il tuo POST all'endpoint di conversione di Elido), Elido lo associa al clic di origine, attribuisce il valore del ricavo e invia la conversione a GA4 Measurement Protocol, Meta Conversions API (CAPI) o Mixpanel — a seconda di cosa hai configurato. La conversione appare nella vista di analytics del link attribuita al clic (e al suo contesto UTM). Questo funziona tra sessioni del browser e confini degli adblocker perché è server-to-server. Caso limite: se il tuo flusso di checkout rimuove il parametro di query click_id prima della conversione (ad esempio, checkout multi-step che non conserva i parametri di query), l'attribuzione si interrompe. Testa l'intero flusso di checkout con il click_id prima di andare live.
Esportazioni pianificate S3, BigQuery e Snowflake, oltre al firehose Kafka in tempo reale
L'esportazione pianificata invia gli eventi clic a S3 (Parquet o JSON), BigQuery o Snowflake con una cadenza configurabile (oraria o giornaliera). Le esportazioni incrementali aggiungono solo i nuovi eventi dall'ultima esecuzione, con chiave occurred_at. La prima esecuzione esegue il backfill fino alla tua finestra di conservazione. Per i team che necessitano di dati sotto il minuto nel loro warehouse: il firehose Kafka/Redpanda (Business) fornisce un gruppo di consumatori diretto con un ritardo end-to-end inferiore a 5 secondi. Entrambi i percorsi utilizzano lo stesso schema di eventi — passare dall'esportazione pianificata al firehose è un cambiamento di consumatore, non di schema. Per i team che preferiscono SQL diretto rispetto all'ETL di esportazione: il DSN ClickHouse di sola lettura (Business) ti consente di connettere Metabase, Hex, Grafana o qualsiasi client compatibile con ClickHouse direttamente alla tabella degli eventi del tuo workspace.
Heatmap di retention e viste di coorte per l'analisi dell'engagement a livello di clic
I workspace Business ottengono viste di coorte e retention nella dashboard di analytics. Scegli un link o una campagna, scegli una dimensione di coorte (paese, tipo di dispositivo, sorgente UTM) e ottieni una heatmap di retention giornaliera o settimanale. Questo risponde a domande come 'gli utenti che cliccano dalla ricerca organica tornano a questo link più degli utenti a pagamento?' — non a livello di sessione (Elido non traccia le sessioni), ma a livello di coorte di clic. È uno strumento diverso da un tool di product analytics come Mixpanel o PostHog: misura il re-engagement con il link, non il comportamento all'interno del prodotto. Per i team che utilizzano link brevi nelle campagne email, le coorti di retention evidenziano se un link viene rivisitato (newsletter inoltrate, pagine salvate nei preferiti) o se è un'azione una tantum.
Team che si affidano agli analytics di Elido
I nomi sono segnaposto per ora — i nomi reali dei clienti verranno inseriti man mano che verranno pubblicati i casi studio.
“Siamo passati a Meta CAPI server-side tramite Elido dopo che iOS 14.5 ha reso inefficace l'attribuzione del nostro pixel. La configurazione ha richiesto due sprint; abbiamo recuperato l'attribuzione su circa il 25% delle conversioni che il pixel stava perdendo. Il passaggio del contesto UTM a CAPI è ciò che ha reso l'attribuzione effettivamente utile.”
“Il DSN ClickHouse su Business consente ai nostri dashboard Metabase di interrogare direttamente i dati degli eventi clic. Nessun lavoro di esportazione da sorvegliare, nessun ritardo di sincronizzazione. Rispondiamo a 'quale articolo ha generato più clic sui link monetizzati oggi?' senza aprire un ticket al team engineering.”
“Esportiamo in BigQuery e uniamo gli eventi clic con la nostra tabella degli ordini Shopify. Il passaggio del click_id è la chiave — possiamo tracciare il clic di un link breve fino all'acquisto con un semplice JOIN. Questo ha colmato il nostro gap di attribuzione last-click.”
Elido analytics vs Bitly Analytics vs Heap
Due opzioni lato shortener confrontate con una piattaforma di product analytics. Onesti su quale strumento sia quello giusto per ogni domanda.
| Feature | Elido | Bitly Analytics | Heap |
|---|---|---|---|
| Accesso agli eventi clic grezzi | Schema ClickHouse completo, esportazione, DSN | Contatori aggregati; dati grezzi non accessibili | Accesso completo agli eventi — product analytics |
| Campionamento | 0% — ogni evento memorizzato | Nessuna informazione sul campionamento pubblicata | Dipendente dal piano nel livello gratuito |
| Orizzonte di retention | Fino a 24 mesi (Business) | 90 giorni (a pagamento) | Dipende dal piano |
| Conversione server-side | GA4 MP, Meta CAPI, Mixpanel | Non disponibile | Inserimento server-side (eventi prodotto) |
| Esportazione in warehouse | Esportazione pianificata S3, BigQuery, Snowflake | Solo download CSV | Heap Data Lake (BigQuery) |
| Firehose Kafka in tempo reale | Sì — Business | Non disponibile | Non disponibile |
| Tracciamento a livello utente | No — solo a livello di clic | No | Sì — funzionalità principale |
| Accesso SQL diretto | DSN ClickHouse di sola lettura (Business) | No | Heap Data Lake (BigQuery) |
Domande sugli analytics
Cosa contengono i campi dell'evento clic?
click_id (UUID), link_id, workspace_id, occurred_at (timestamp UTC), country_iso2, region, city, device_type (mobile/tablet/desktop), os, browser, referrer_domain, utm_source, utm_medium, utm_campaign, utm_term, utm_content, referer (URL completo, nullable). Lo schema è disponibile su /docs/api-reference sotto 'Click events'. È stabile; le aggiunte sono retrocompatibili; le rimozioni ricevono un avviso di deprecazione di 90 giorni.
Perché a volte manca la geolocalizzazione a livello di città?
La risoluzione geografica a livello di città dipende dall'intervallo IP. NAT di classe carrier, VPN e alcuni proxy aziendali risolvono solo a livello di regione o paese — non possiamo risalire a una città da un IP NAT condiviso. Utilizziamo MaxMind GeoIP2 City; l'accuratezza è elevata per gli IP residenziali ma inferiore per gli intervalli IP degli operatori mobili e aziendali. Riportiamo ciò che riusciamo a risolvere; non tiriamo a indovinare.
In che modo l'attribuzione della conversione si interrompe se il click_id viene perso?
Se il parametro di query click_id viene rimosso prima della conversione (checkout multi-step, router SPA, reindirizzamenti che non inoltrano i parametri di query), il POST di conversione all'endpoint di Elido non ha alcun clic da associare e l'attribuzione fallisce silenziosamente. Testa il tuo flusso di checkout: clicca su un link breve, verifica che il click_id appaia nel POST di conversione finale. Se non appare, aggiungi l'inoltro dei parametri di query nel tuo flusso di checkout. Questo è il gap di attribuzione più comune — non il pixel, ma la perdita dei parametri di query nella sessione di checkout.
Qual è il ritardo di inserimento tra un clic e la disponibilità in ClickHouse?
Solitamente inferiore a 5 secondi. Il percorso è: il clic colpisce l'edge → evento fire-and-forget a Redpanda → il consumatore click-ingester legge da Redpanda e scrive in ClickHouse. Il consumatore gira continuamente con auto-commit. Se la pipeline rimane indietro (picco di traffico elevato, problema infrastrutturale), il topic Redpanda conserva gli eventi per 7 giorni. Monitoriamo il ritardo del consumatore; l'allerta scatta a 60 secondi di ritardo. Gli aggiornamenti della dashboard in tempo reale interrogano l'API di analytics ogni 30 secondi.
Posso filtrare il DSN ClickHouse per vedere solo i clic di un dominio?
Il DSN si connette a una vista ClickHouse per workspace che mostra tutti i clic per tutti i link nel tuo workspace. Filtri per dominio, link_id o tag nel tuo SQL. Se desideri viste per dominio, creale nel tuo strumento di BI utilizzando una clausola WHERE. Al momento non forniamo sub-utenti per dominio in ClickHouse.
Gli analytics sono conformi al GDPR?
Gli eventi clic vengono raccolti senza cookie. Il tipo di dispositivo, l'OS e il browser vengono dedotti dallo User-Agent. L'IP viene utilizzato per la risoluzione geografica e poi scartato — non memorizziamo IP grezzi negli eventi clic. La geolocalizzazione a livello di città viene memorizzata; se ciò conta come dato personale secondo la tua interpretazione del GDPR (posizione derivata dall'IP), configura il tuo workspace per la risoluzione geografica solo a livello di paese. La risoluzione solo per paese è un'impostazione del workspace su Business.
Qual è la differenza tra analytics su Free, Pro e Business?
Free: conservazione di 90 giorni, breakdown per paese + dispositivo, conteggio clic per link. Pro: conservazione di 12 mesi, breakdown completo geo/dispositivo/referrer/UTM, heatmap ora del giorno, attribuzione conversione. Business: conservazione di 24 mesi, viste coorte + retention, DSN ClickHouse, firehose Kafka, esportazione pianificata BigQuery/Snowflake/S3.
Posso vedere gli analytics per una campagna o cartella specifica, non solo per link?
Sì — gli analytics a livello di campagna aggregano tutti i link taggati per una campagna. I rollup a livello di cartella sono disponibili tramite API (somma dei clic sui link in una cartella per intervallo di date). La vista campagna della dashboard mostra i clic totali, il tasso di conversione, la distribuzione UTM e il breakdown per link per la campagna. Non esiste ancora una 'dashboard analytics cartelle' nell'interfaccia utente — è in tabella di marcia.
Keep reading
Come i team orientati agli analytics usano Elido — DSN ClickHouse, firehose Kafka e attribuzione server-side.
Guide alla configurazione dell'inoltro delle conversioni server-side per ogni piattaforma.
Analytics split A/B — dati sui clic per variante e confidenza del test z nella stessa pipeline di analytics.
Schema ClickHouse, campi evento e riferimento all'endpoint di analytics.
Pronto a provarlo?
Inizia con il piano gratuito, effettua l'upgrade quando hai bisogno di un dominio personalizzato.