[Automatyzacja biznesu · Analityka · Produkt backendowy]
TrackLink — śledzenie i analityka marketingowa
System śledzonych linków i zdarzeń marketingowych: linki kampanii, identyfikatory źródeł, przetwarzanie kliknięć i zdarzeń, własne domeny oraz analityka dostarczana przez narzędzia w Telegramie.
01Przegląd projektu
TrackLink odpowiada na praktyczne pytanie biznesowe: które źródła przyprowadzają ludzi i jak daleko oni docierają. Tworzy śledzone linki, przetwarza kliknięcia i zdarzenia oraz zamienia je w analitykę i raporty.
To produkt niezależny od Astra Raven, pokazujący te same umiejętności backendowe i interfejsowe w marketingu i automatyzacji biznesu.
02Wyzwanie inżynierskie
Śledzenie leży na ścieżce krytycznej kliknięcia użytkownika. Musi być szybkie i niezawodne, a zapisywane dane na tyle czyste, by można było na nich opierać decyzje.
- A
Szybko przekierowywać, niezawodnie zapisując zdarzenie.
- B
Utrzymać spójność identyfikatorów źródeł między linkami i domenami.
- C
Walidować i deduplikować zdarzenia, zanim trafią do analityki.
- D
Prezentować wyniki w formie użytecznej dla marketerów.
03Architektura rozwiązania
Najedź lub dotknij etapu.
Link kampanii
Śledzony link z identyfikatorami źródła, opcjonalnie na własnej domenie.
04Główne komponenty
- 01
Zarządzanie linkami
Tworzenie śledzonych linków i zarządzanie identyfikatorami źródeł.
- 02
Własne domeny
Linki obsługiwane na domenach klienta.
- 03
Przetwarzanie zdarzeń
Szybka obsługa kliknięć i walidacja kolejnych zdarzeń.
- 04
Silnik analityki
Agregacje według źródła, etapu konwersji i okresu.
- 05
Mini App
Interfejs w Telegramie do linków, analityki i raportów.
- 06
Testy
Testy w Playwright i diagnostyka krytycznych ścieżek.
05Stack technologiczny
Backend
- Python
- aiohttp
- Event tracking
Dane
- SQL
- State handling
- Aggregations
Interfejs i QA
- Telegram Mini App
- Linux deployment
- Playwright
06Interaktywna demonstracja
Analityka kampanii
IlustracjaDane demo — wygenerowany przykład. Bez prawdziwych klientów, kampanii i wskaźników konwersji.
Kliknięcia
—
Unikalni użytkownicy
—
Uruchomienia bota
—
Odfiltrowane duplikaty
—
Trend ruchu · kliknięcia dziennie
Etapy konwersji
Źródła
| Źródło | Kliknięcia | Uruchomienia bota | Otwarcia Mini App | Udział |
|---|
07Decyzje inżynierskie
- 01
Najpierw zapis, potem szybkie przekierowanie
Kliknięcie jest rejestrowane minimalną pracą na ścieżce zapytania; cięższe przetwarzanie odbywa się później.
- 02
Zdarzenia walidowane jak dane wejściowe
Deduplikacja i walidacja utrzymują wiarygodność analityki.
- 03
Tam, gdzie są użytkownicy
Analityka trafia do Telegrama, w którym użytkownicy już pracują.
08Niezawodność i testy
- Testy Playwright tworzenia linków i przekierowań.
- Deduplikacja powtarzających się zdarzeń.
- Diagnostyka nieudanych lub podejrzanych zdarzeń.
09Przykład kodu
from aiohttp import web
async def track_and_redirect(request: web.Request) -> web.StreamResponse:
slug = request.match_info["slug"]
link = await request.app["links"].get(slug)
if link is None:
raise web.HTTPNotFound()
# Keep the hot path small: enqueue, don't aggregate here.
await request.app["events"].put({
"link_id": link.id,
"source": request.query.get("src", link.default_source),
"kind": "click",
})
raise web.HTTPFound(link.target_url)Ilustracja Przykład ilustracyjny — handler „zapisz i przekieruj” w aiohttp.
Kod źródłowy produktu jest prywatny. Przykłady pokazują podejście inżynierskie, a nie wewnętrzną logikę. Więcej w Engineering Lab.
10Możliwe kierunki rozwoju
- Integracje webhook z systemami CRM.
- Wysyłka raportów według harmonogramu.
- Widoki kohortowe według źródła i okresu.