[Автоматизація бізнесу · Аналітика · Backend-продукт]
TrackLink — трекінг і маркетингова аналітика
Система відстежуваних посилань і маркетингових подій: посилання кампаній, ідентифікатори джерел, обробка кліків і подій, власні домени та аналітика в Telegram-інструментах.
01Огляд проєкту
TrackLink відповідає на практичне бізнес-питання: які джерела приводять людей і як далеко вони проходять. Він створює відстежувані посилання, обробляє кліки й події та перетворює їх на аналітику й звіти.
Це окремий від Astra Raven продукт, який показує ті самі навички бекенда й інтерфейсів у маркетингу та автоматизації бізнесу.
02Інженерна задача
Трекінг стоїть на критичному шляху кліку користувача. Він має бути швидким і надійним, а дані, що зберігаються, — достатньо чистими, щоб на них можна було спиратися в рішеннях.
- A
Швидко перенаправляти, надійно записуючи подію.
- B
Зберігати узгодженість ідентифікаторів джерел між посиланнями й доменами.
- C
Перевіряти й дедуплікувати події до потрапляння в аналітику.
- D
Показувати результати у вигляді, зручному для маркетологів.
03Архітектура рішення
Наведіть або натисніть на етап.
Посилання кампанії
Відстежуване посилання з ідентифікаторами джерела, за потреби на власному домені.
04Основні компоненти
- 01
Керування посиланнями
Створення відстежуваних посилань і керування ідентифікаторами джерел.
- 02
Власні домени
Посилання, що працюють на доменах клієнта.
- 03
Обробка подій
Швидка обробка кліків і перевірка подальших подій.
- 04
Рушій аналітики
Агрегації за джерелами, етапами конверсії та періодами.
- 05
Mini App
Telegram-інтерфейс для посилань, аналітики та звітів.
- 06
Тестування
Тести на Playwright і діагностика критичних сценаріїв.
05Технологічний стек
Бекенд
- Python
- aiohttp
- Event tracking
Дані
- SQL
- State handling
- Aggregations
Інтерфейс і QA
- Telegram Mini App
- Linux deployment
- Playwright
06Інтерактивна демонстрація
Аналітика кампанії
ІлюстраціяДемо-дані — згенерований приклад. Жодних реальних клієнтів, кампаній чи показників конверсії.
Кліки
—
Унікальні відвідувачі
—
Запуски бота
—
Відфільтровано дублів
—
Динаміка · кліки за день
Етапи конверсії
Джерела
| Джерело | Кліки | Запуски бота | Відкриття Mini App | Частка |
|---|
07Інженерні рішення
- 01
Спершу записати, потім швидко перенаправити
Клік фіксується мінімальною роботою на шляху запиту; важка обробка виконується після.
- 02
Події перевіряються як вхідні дані
Дедуплікація й перевірка зберігають достовірність аналітики.
- 03
Там, де вже працюють користувачі
Аналітика доставляється в Telegram, де користувачі вже перебувають.
08Надійність і тестування
- Тести Playwright для створення посилань і редиректів.
- Дедуплікація повторюваних подій.
- Діагностика невдалих або підозрілих подій.
09Приклад коду
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)Ілюстрація Ілюстративний інженерний приклад — обробник «записати й перенаправити» на aiohttp.
Вихідний код продукту закритий. Приклади показують інженерний підхід, а не внутрішню логіку. Більше — в Engineering Lab.
10Можливий розвиток
- Webhook-інтеграції з CRM-системами.
- Надсилання звітів за розкладом.
- Когортні звіти за джерелами та періодами.