Dane o kliknięciach, które naprawdę możesz odpytywać.
Mierzysz atrybucję, porzucenia w lejku i przyrost. Elido zapisuje każde kliknięcie w kolumnowym magazynie analitycznym z surowym dostępem - bez próbkowania i opóźnień w agregacji.
- Brak próbkowania kliknięć na żadnym poziomie - każde zdarzenie jest przechowywane
- Eksport kliknięć do Twojego bucketu S3 (NDJSON z gzip)
- Zaplanowany eksport S3 + BigQuery (domyślnie Parquet)
- Surowe zdarzenia kliknięć przez firehose webhooków / konsumenta Kafka
Jak trafiają dane o kliknięciach
Kliknięcie → strumień zdarzeń → magazyn analityczny, bez agregacji pośrodku.
Większość skracaczy daje Ci licznik. My dajemy Ci wiersz na każde kliknięcie, pobrany w ciągu pięciu sekund, odpytywalny z własnego klienta SQL. Pipeline to jeden temat zgodny z Kafką, który jeden konsument opróżnia do magazynu analitycznego - żadnego serwisu agregacji, żadnych dziennych podsumowań, żadnej adnotacji 'próbkowane po 10K'.
- Step 1
Click
elido.me/x → 302Edge POP returns the destination + emits an event to our event stream.
- Step 2
Event stream
topic: clicks.<workspace>12 partitions, at-least-once delivery, 7-day topic retention.
- Step 3
Analytics store
<5s p99 ingest lagOur ingestion service drains the topic into the per-workspace events table.
- Step 4
Your tools
S3 export · Analytics APIScheduled or on-demand S3 export (gzip NDJSON), or the analytics REST API. A direct read-only DSN is planned.
Eksport analityki i API
Zdarzenia kliknięć w Twoim buckecie; bezpośredni DSN tylko do odczytu jest planowany.
Workspace'y Business mogą eksportować zdarzenia kliknięć jako gzip NDJSON do własnego bucketu S3, według harmonogramu lub na żądanie, i ładować je do hurtowni, z której czytają Metabase, Hex, Apache Superset, Grafana lub Looker. Agregaty są też dostępne przez REST API analityki. Bezpośredni DSN analityki tylko do odczytu jest planowany i nie jest jeszcze dostępny.
- Stabilny schematWersjonowany w /docs/api-reference; poradniki migracji w /changelog
- Własny magazynPliki gzip NDJSON w Twoim buckecie S3, ograniczone do Twojego workspace'u
- Zgodność z BIZaładuj do hurtowni stojącej za Metabase, Hex, Superset, Grafana, Looker
- API analitykiAgregaty wg kraju, urządzenia, referrera i czasu przez REST
SELECT country, COUNT(*) AS clicks
FROM events
WHERE link_id = 'lnk_8a2fc1...'
AND occurred_at >= now() - INTERVAL 7 DAY
GROUP BY country
ORDER BY clicks DESC
LIMIT 5;Geografia, która przetrwa eksport
Gęstość na poziomie kraju przy każdym kliknięciu - nie zahashowany kubełek.
Każde zdarzenie kliknięcia zawiera kraj, region i miasto wg ISO 3166-1 alpha-2, ustalone z offline'owego zbioru geo-IP. Adres IP odwiedzającego jest zapisywany razem ze zdarzeniem kliknięcia, więc traktuj te dane jako dane osobowe w rozumieniu RODO. Poniżej te same dane w interfejsie, które trafiają do Twojej hurtowni - bez warstwy agregacji pomiędzy.
Source of truth. 0% sampling, 24-month retention on Business.
Hourly buckets, snappy-compressed Parquet (or JSON if you prefer).
Native BigQuery Transfer service or Snowflake external table loads from S3.
Eksport do magazynu danych
Godzinowy Parquet do S3, następnie natywny transfer do Twojego magazynu.
Zaplanowany eksport przesyła zdarzenia kliknięć jako Parquet do Twojego zasobnika S3 w trybie godzinowym lub dziennym; natywny transfer BigQuery lub zewnętrzna tabela Snowflake ładuje dane stamtąd. Pierwsze uruchomienie to pełne uzupełnienie do okna retencji; kolejne uruchomienia dodają tylko nowe zdarzenia kluczone na znaczniku czasu zdarzenia. Błędy są ponawiane; powiadomienie o martwych wiadomościach jest wysyłane, jeśli partia nie może wylądować w ciągu 2 godzin.
- Parquet (domyślnie) lub JSON; jeden obiekt per kubełek godzinny
- Filtruj eksport według domeny, kampanii lub tagu linku
- Natywny transfer BigQuery + zewnętrzna tabela Snowflake
- Alert o martwych wiadomościach przy awarii partii dłuższej niż 2h
- Firehose Kafka dla dostarczania poniżej sekundy (Business)
Co możesz zrobić
- Brak próbkowania kliknięć na żadnym poziomie - każde zdarzenie jest przechowywane
- Eksport kliknięć do Twojego bucketu S3 (NDJSON z gzip)
- Zaplanowany eksport S3 + BigQuery (domyślnie Parquet)
- Surowe zdarzenia kliknięć przez firehose webhooków / konsumenta Kafka
- Opóźnienie zapytań poniżej sekundy na tabelach zawierających ponad 1 mld wierszy
- Atrybucja kliknięć po stronie serwera z deduplikacją click-ID
Co oznacza 'analytics-first' w modelu danych Elido
Analityka większości skracaczy linków to zagregowane sumy. Poniższe funkcje wyjaśniają, co zmienia się, gdy surowy strumień kliknięć jest podstawowym artefaktem, a nie podsumowaniem.
Każde kliknięcie przechowywane - bez adnotacji 'po N zdarzeniach stosujemy próbkowanie'
Zdarzenia kliknięć są pozyskiwane przez temat zgodny z Kafką i zapisywane do magazynu analitycznego przez naszą usługę ingestii. Nie ma warstwy próbkowania. Link z 10 kliknięciami i link z 10 milionami kliknięć mają każde zdarzenie w tej samej tabeli - schemat się nie zmienia, żadna agregacja nie jest stosowana podczas pozyskiwania. Retencja wynosi 90 dni w planie Free, 12 miesięcy w Pro i 24 miesiące w Business. Po upływie okna retencji zdarzenia są trwale usuwane; liczba usuniętych zdarzeń jest logowana. Schemat zdarzeń jest publiczny - możesz zobaczyć dokładnie, jakie pola są przechowywane, co oznacza, że możesz zaplanować model danych w swoim magazynie danych przed rozpoczęciem eksportu. Opóźnienie zdarzeń od kliknięcia do dostępności w analityce wynosi typowo poniżej 5 sekund; konsument działa z automatycznym committem i rejestruje metryki opóźnienia, dzięki czemu możesz zobaczyć, czy pipeline nie pozostaje w tyle.
GA4 MP, Meta CAPI i Mixpanel po stronie serwera - deduplikowane względem kliknięcia
Piksele po stronie klienta pomijają znaczną część konwersji w zależności od penetracji adblockerów i ITP w iOS Safari. Przekazywanie po stronie serwera wysyła konwersję do GA4 Measurement Protocol, Meta Conversions API lub Mixpanel bezpośrednio z backendu Elido - bez konieczności używania JS po stronie klienta. Kluczem deduplikacji jest ID kliknięcia: gdy zdarzenie konwersji dotrze przez webhook Stripe lub Shopify, Elido dopasowuje je do źródłowego kliknięcia i rozsyła do wszystkich skonfigurowanych endpointów po stronie serwera. ID kliknięcia jest przekazywany jako parametr zapytania do docelowego URL w momencie kliknięcia; Twój flow zakupowy powinien go zachować aż do zdarzenia konwersji. Każde przekazane zdarzenie niesie oryginalne parametry UTM z kliknięcia, dzięki czemu atrybucja przeżywa cały lejek. Jest to przydatne do odzyskiwania konwersji pomijanych przez piksele po stronie klienta - nie zastępuje pełnego CDP, ale zamyka powszechną lukę w atrybucji ostatniego kliknięcia.
Eksport kliknięć do S3 - załaduj do hurtowni za Metabase, Hex lub Grafana
Workspace'y Business mogą eksportować zdarzenia kliknięć jako NDJSON z gzip do własnego bucketu S3, według harmonogramu lub na żądanie. Załaduj pliki do hurtowni za Metabase, Hex, Apache Superset, Grafana lub dowolnym zgodnym klientem SQL/BI i pisz tam SQL na swoich danych o kliknięciach. Agregaty są też dostępne przez REST API analityki. Dla zespołów, które chcą łączyć zdarzenia kliknięć z własnymi danymi produktowymi - 'które linki przyniosły użytkowników, którzy potem się aktywowali?' - skopiuj eksport do hurtowni i połącz tam. Bezpośredni analityczny DSN tylko do odczytu, dzięki któremu narzędzie BI łączy się bez zadania eksportu, jest planowany i jeszcze niedostępny.
Zaplanowane eksporty do S3, BigQuery i Snowflake
Zaplanowany eksport działa w konfigurowalnym rytmie (co godzinę, dziennie) i przesyła strumień zdarzeń kliknięć - lub podzbiór filtrowany według domeny, kampanii lub taga linku - do S3, BigQuery lub Snowflake. Eksport S3 domyślnie używa Parquet (dostępny JSON); BigQuery i Snowflake używają natywnych konektorów ze schematem tworzonym i aktualizowanym przez Elido. Eksporty przyrostowe są kluczowane na timestampie zdarzenia; pierwszy eksport to pełne uzupełnienie w ramach okna retencji; kolejne eksporty dołączają tylko nowe zdarzenia. Jeśli potrzebujesz odtworzyć dane od określonego timestampu, jednorazowy pełny eksport jest dostępny przez zgłoszenie do supportu. Błędy eksportu są logowane i ponawiane; powiadomienie dead-letter trafia na adres e-mail workspace, jeśli batch nie powiedzie się przez ponad 2 godziny.
Konsument Kafka w czasie rzeczywistym dla pipeline'ów zdarzeń, które nie mogą czekać na eksporty wsadowe
Workspace'y Business mogą konsumować zdarzenia kliknięć bezpośrednio z tematu zgodnego z Kafką jako grupa konsumentów Kafka. Otrzymujesz ID grupy konsumentów, serwer bootstrap i certyfikat klienta - standardowa konfiguracja konsumenta Kafka. To właściwa ścieżka dla alertów w czasie rzeczywistym (wykrywanie skoków na linku, flagowanie anomalii geograficznych), dashboardów czasu rzeczywistego wymagających danych poniżej sekundy oraz pipeline'ów, gdzie rytm zaplanowanego eksportu jest zbyt wolny. Firehose dostarcza każde zdarzenie przynajmniej raz; Twój konsument jest odpowiedzialny za idempotentność przy odtwarzaniu. Retencja tematu wynosi 7 dni; jeśli konsument pozostanie w tyle o więcej niż 7 dni, zdarzenia zostaną utracone - ustaw monitoring opóźnienia konsumenta. To nie jest funkcja analityczna dla początkujących; wymaga kodu konsumenta Kafka i doświadczenia operacyjnego z grupami konsumentów. Jeśli zaplanowany eksport do BigQuery zapewnia to, czego potrzebujesz, zacznij od niego.
Stos, z którym będziesz pracować
- Surowe zdarzenia kliknięć
- Bezpośredni dostęp SQL
- GA4 / Meta CAPI / Mixpanel
- Eksport do S3 + BigQuery
- Eksport kliknięć do S3 (NDJSON z gzip)
- Webhook firehose
Co będziesz mierzyć
- Wskaźnik próbkowania
- 0% - każde kliknięcie zapisane
- Opóźnienie zapisu zdarzeń
- Poniżej 5 sekund
- Horyzont retencji
- Do 24 miesięcy
Analityka Elido vs Bitly Analytics vs Heap
Bitly Analytics jest wystarczające do liczby kliknięć i podstawowego geo. Heap to pełna platforma analityki produktowej. Poniższe porównanie jest uczciwe co do tego, gdzie każda opcja jest właściwym narzędziem.
Pytania zespołów analitycznych
Jaki jest dokładny schemat zdarzeń dla zdarzeń kliknięć?
Schemat jest publiczny pod /docs/api-reference w sekcji 'Click events'. Kluczowe pola: 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. Pola nullable są nullable, nie pustymi ciągami. Zmiany schematu są ogłaszane w /changelog z przewodnikiem migracji.
Czy istnieje przewodnik konsumenta Kafka?
Tak - /docs/guides/kafka-firehose omawia serwer bootstrap, konfigurację grupy konsumentów, rotację certyfikatu klienta i przykładowy kod konsumenta w Go i Python. Temat jest jeden na workspace; liczba partycji jest stała i wynosi 12. Reset offsetu jest domyślnie ustawiony na earliest przy pierwszym dołączeniu grupy konsumentów. Jeśli budujesz na tej podstawie, zaplanuj czas na monitoring opóźnienia konsumenta - to tryb awarii, który dotyka zespołów, które go nie skonfigurują.
Czy mogę łączyć zdarzenia kliknięć z własną tabelą użytkowników?
W swoim magazynie danych, tak. Standardowy wzorzec to: eksportuj zdarzenia kliknięć do BigQuery lub Snowflake przez zaplanowany eksport, następnie łącz po parametrach UTM lub niestandardowym parametrze user_id, który dołączasz do swoich docelowych URL krótkich linków. Elido nie przechowuje tożsamości użytkownika w zdarzeniach kliknięć - click_id to losowy UUID per kliknięcie, niezwiązany z kontem użytkownika.
Jak działa deduplikacja konwersji po stronie serwera?
Gdy wysyłasz żądanie POST zdarzenia konwersji do endpointu konwersji Elido, podajesz click_id zwrócony w oryginalnej odpowiedzi na kliknięcie (jest przekazywany jako parametr zapytania do docelowego URL). Elido wyszukuje kliknięcie, sprawdza, czy nie zostało już zaatrybuowane, i rozsyła konwersję do GA4 MP, Meta CAPI lub Mixpanel z kontekstem UTM oryginalnego kliknięcia. Zduplikowane zgłoszenia z tym samym click_id są idempotentne - są potwierdzane, ale nie są zliczane podwójnie.
Co się dzieje, gdy mój konsument Kafka pozostaje w tyle?
Zdarzenia są przechowywane w temacie przez 7 dni. Jeśli zatwierdzony offset grupy konsumentów pozostanie w tyle o więcej niż 7 dni, starsze zdarzenia zostaną utracone przed odczytaniem przez konsumenta. Monitoruj opóźnienie konsumenta; ustaw alert przy 6-godzinnym opóźnieniu jako wczesne ostrzeżenie. Jeśli nie możesz odzyskać zdarzenia z firehose, zaplanowany eksport do S3/BigQuery pokrywa tę lukę - to dobra kopia zapasowa dla firehose.
Czy eksport kliknięć zawiera dane innych workspace'ów?
Nie. Eksporty zawierają wyłącznie zdarzenia Twojego workspace i są zapisywane do Twojego własnego bucketu S3. Bezpośredni analityczny DSN tylko do odczytu jest planowany i jeszcze niedostępny; gdy się pojawi, będzie ograniczony do Twojego workspace.
Czy istnieje minimalna wielkość próbki, zanim kohorty kliknięć mają sens?
Magazyn analityczny wykonuje zapytanie kohortowe na dowolnym istniejącym zbiorze danych - nie jest wymuszane żadne minimum. Statystyczna miarodajność to Twoja ocena. Kohorta 50 kliknięć daje Ci liczbę, ale jest zaszumiona. Wyświetlamy surowe liczby i procenty; nie stosujemy wygładzania bayesowskiego ani przedziałów ufności do widoków kohortowych. Do formalnej analizy eksportuj dane i uruchom swój model w magazynie danych.
Czy mogę filtrować zaplanowany eksport do podzbioru linków?
Tak - filtry eksportu obsługują: konkretną domenę, konkretne ID kampanii, konkretny tag lub zakres dat. Filtrowany eksport jest nadal przyrostowy; kolejne uruchomienia dołączają tylko nowe zdarzenia pasujące do filtra. Jeśli dodasz nowy warunek filtru do istniejącego zadania eksportu, musisz albo utworzyć nowe zadanie, albo wykonać jednorazowy pełny ponowny eksport w celu uzupełnienia historii nowego filtra.
Lista lektur dla analityka
Zestawienie per link, atrybucja konwersji, retencja kohort.
Przekierowanie po stronie serwera do GA4, Meta CAPI, Mixpanel.
Specyfikacja OpenAPI 3.1, schemat zdarzeń kliknięć, typowane SDK w TS / Py / Go.
Zdarzenia podpisane HMAC, polityka ponownych prób, firehose Kafka dla dużych wolumenów.
Konfiguracja eksportu, schemat, wzorce ładowania do BigQuery + Snowflake.
Nie wiesz, która perspektywa pasuje?
Większość zespołów zaczyna od jednej, a potem rozszerza się na wszystkie cztery. Nasz zespół sprzedaży może omówić Twój konkretny stos w 20 minut.