Smart-посилання. One link, many destinations.
Маршрутизація за пристроєм, географією, мовою, часом доби. Правила оцінюються на edge POP — перше збіг виграє, резервний варіант — до призначення за замовчуванням. Не коштує нічого крім звичайного редиректу з кешу.
- First-match rule engine at the edge
- Sub-millisecond rule evaluation
- A/B variants with z-test confidence
- Time-windowed campaigns in UTC
How it works
The redirect path, end to end
Smart-link rules are evaluated inside the same edge process that answers the redirect — there is no separate rules service to call. A cache-hit redirect with rules is indistinguishable from a plain one in latency.
- Step 1
User clicks
elido.me/xFrom email, QR, social, anywhere.
- Step 2
Nearest edge POP
Frankfurt · 4 msAnycast routes to Hetzner FRA / OVH SGP / Hetzner ASH.
- Step 3
Rule eval
L1 cache · 0.2 msFirst-match wins, no origin round-trip.
- Step 4
302 → destination
elido.me/x → /de/preiseClick event fired async to Redpanda.
Rule builder
Rules that read like English
Every rule combines up to six dimensions — geo, device, OS, language, referrer, and time — joined with AND. Drag to reorder; first match wins. The fallback is always required, so a rule set never produces a 404.
- CountryISO 3166-1 alpha-2 lists, e.g. DE, AT, CH
- Device & OSiOS, Android, Windows, macOS, Linux
- LanguageAccept-Language with BCP-47 fallbacks
- Time windowUTC range with day-of-week filter
- ReferrerExact or wildcard host match
- 1ifCountry: DE, AT, CHANDDevice: Mobile/de/preise⋮⋮
- 2ifCountry: FR, BEANDLanguage: fr-*/fr/tarifs⋮⋮
- 3ifOS: iOSApp Store · apps.apple.com/...⋮⋮
- 4ifTime: Mon–Fri 09–17 UTCANDReferrer: newsletter.*/promo/q2⋮⋮
- else/en/pricing— fallback (required)
Real-world routing
Same short link. Different landing per visitor.
The two patterns we see most: device-fork to native app stores with a desktop fallback, and country-fork for localised pricing pages. Both compose with A/B splits on the fallback path.
Country routing in production
An EU SaaS routing brand.app/pricing by visitor country. The fallback (everyone else) lands on the English page.
- DE · Germany/de/preise
- FR · France/fr/tarifs
- ES · Spain/es/precios
- IT · Italy/it/prezzi
- PL · Poland/pl/cennik
- NL · Netherlands/nl/prijzen
- SE · Sweden/sv/priser
- UA · Ukraine/uk/tsiny
- — · Everyone else/en/pricing
A/B testing
Split traffic. Watch confidence climb.
Up to 5 variants per link with weighted or round-robin splits. Each variant tracks its own click time-series. The dashboard surfaces a two-proportion z-test as a directional indicator — we don’t hide the math.
- Weighted (sums to 100) or round-robin
- Per-variant click time-series
- Z-test confidence over a configurable sample floor
- Winner-picks-all locks the link to the leading variant
- Composes with rules — A/B applies to the fallback path
What you can do
- Зіставлення ISO-країни та часового поясу IANA
- Цільова аудиторія мобільних пристроїв / планшетів / настільних комп'ютерів
- Часові вікна з фільтрами дня тижня
- Регулярний вираз User-Agent для досвідчених користувачів
- Обмеження кліків для кожного посилання (max_clicks)
- A/B варіанти з ваговим або циклічним розподілом
Як насправді працює механізм правил смарт-посилань
Гео-роутинг та таргетинг за пристроями — це базовий рівень. Деталі нижче пояснюють граничні випадки, на яких спотикаються прості реалізації.
Перемагає перший збіг, оцінка на edge POP — без запитів до джерела
Правила зберігаються в Redis (L2 кеш) і оцінюються сервісом edge-redirect при кожному запиті, всередині того ж процесу, що виконує перенаправлення — окремий механізм правил не викликається. Оцінка правил додає менше 1 мс до перенаправлення при попаданні в кеш. Порядок оцінки — це порядок, який ви встановили в дашборді або через API; перетягуйте для зміни порядку або використовуйте поле order в API. Семантика першого збігу означає, що ви ставите найконкретніші правила на початку (наприклад, 'mobile + Germany + Monday morning → promo page'), а загальні правила — в кінці. Якщо жодне правило не підходить, використовується резервне призначення (fallback) — воно є обов'язковим і не може бути порожнім. Зміни правил поширюються з api-core до Redis менш ніж за 30 секунд; TTL кешу LRU на edge для посилань з правилами становить 60 секунд, тому повне вікно розповсюдження складає менше 90 секунд.
Шість вимірів: географія, пристрій, ОС, мова, реферер та час
Кожне правило може поєднувати до шести вимірів в одній умові. Географія: список кодів країн ISO 3166-1 alpha-2 (одна або кілька країн). Тип пристрою: mobile, tablet, desktop — визначається за User-Agent. ОС: iOS, Android, Windows, macOS, Linux — також за User-Agent. Мова: відповідність заголовку Accept-Language (теги мов BCP 47; 'fr' відповідає 'fr-FR', 'fr-CA' тощо). Домен реферера: точний збіг або маска (wildcard) для домену в заголовку Referer (корисно для маршрутизації трафіку з соцмереж, пошти або прямих переходів). Час: часове вікно в UTC з опціональним фільтром за днями тижня (наприклад, 'Пн–Пт 09:00–17:00 UTC'). Регулярні вирази User-Agent доступні для досвідчених користувачів, яким потрібно таргетувати конкретну версію браузера або краулер; за замовчуванням вони не відображаються в дашборді, лише через API. Кілька вимірів в одному правилі об'єднуються через 'І'; посилання може мати до 5 правил (Pro) або необмежено (Business).
Зважений A/B спліт із достовірністю z-test — до 5 варіантів на посилання
Посилання може мати до 5 варіантів призначення. Трафік розподіляється за вагою (налаштовується для кожного варіанту; сума ваг повинна дорівнювати 100) або за принципом round-robin. Для кожного варіанту відстежується власний часовий ряд кліків, щоб ви могли бачити стабільність ефекту протягом дня. Модель достовірності — це z-test для двох часток на рівні кліків: дашборд показує 'варіант А лідирує з достовірністю X%', як тільки обидва варіанти наберуть мінімальну вибірку (за замовчуванням 200 кліків кожен, налаштовується до 1000). Ми повідомляємо необроблену достовірність z-test; ми не застосовуємо корекцію для послідовного тестування. Варіанти A/B та правила смарт-посилань можуть співіснувати в одному посиланні: спочатку оцінюються правила, а A/B спліт застосовується лише до шляху fallback. Таким чином, ви можете безумовно направляти користувачів iOS, одночасно тестуючи два призначення для всіх інших. Кнопка 'вибрати переможця' закріплює посилання за лідируючим варіантом і видаляє інші — це незворотна дія.
Правила з часовим вікном для сезонних та подієвих кампаній
Часові правила дозволяють встановити правило, яке активується та деактивується за розкладом без ручного втручання. Типове використання: правило для промо-сторінки, активне з Чорної п'ятниці 00:00 UTC до Кіберпонеділка 23:59 UTC, після чого автоматично відбувається повернення до основного призначення. Правила оцінюються в UTC; якщо ваша кампанія чутлива до часових поясів, конвертуйте час в UTC при налаштуванні. Заплановані правила оцінюються так само, як і статичні — на edge, без запитів до джерела. Дашборд показує шкалу часу для запланованих правил, щоб було видно вікна, що перекриваються. Граничний випадок: якщо два правила з часовим вікном перекриваються і обидва підходять, перемагає правило з меншим індексом черговості (перший збіг). Виявлення конфліктів відсутнє — перевірка перекриття правил є вашою відповідальністю.
Резервне призначення обов'язкове — жодних 404, якщо правила не збігаються
Кожне смарт-посилання повинно мати резервне призначення (fallback). Опції 'показати сторінку помилки, якщо жодне правило не підійшло' не існує — fallback є вашою сіткою безпеки. Резервним призначенням може бути будь-яка URL-адреса; воно також використовується як канонічне призначення для Google Bot та інших краулерів (правила смарт-посилань не застосовуються до відомих User-Agent краулерів, щоб уникнути плутанини при індексації). Крім основного fallback, термін дії посилання (expires_at) та ліміт кліків (max_clicks) мають власні налаштовувані URL для перенаправлення після закінчення терміну — окремо від основного fallback правил. Таким чином, посилання може мати: до 5 правил маршрутизації, fallback на випадок відсутності збігу правил, призначення після закінчення терміну дії та призначення після вичерпання ліміту кліків. Вони чисто поєднуються; граничні випадки описані в інструкціях.
Команди, які використовують смарт-посилання у продакшені
Наразі імена є плейсхолдерами — справжні назви клієнтів з'являться тут після публікації кейсів.
“Ми відмовилися від сервісу редиректів на Node.js, який забирав 40 мс на запит до джерела. Смарт-посилання на Elido оцінюють правила на edge; редирект працює так само швидко, як і звичайне коротке посилання. Сервіс правил складався з 600 рядків коду, які нам більше не потрібно підтримувати.”
“Правила з часовим вікном для сезонного контенту дозволяють нам налаштовувати кампанії заздалегідь і спокійно йти спати. Раніше це була ручна зміна редиректу о 2 годині ночі. Тепер це заплановане правило та нагадування в календарі, щоб перевірити результат.”
“Відображення достовірності A/B у дашборді припинило суперечки на тему 'чи є це статистично значущим?' на наших стендапах. Ми дивимося на число z-test, узгоджуємо поріг і рухаємося далі.”
Смарт-посилання Elido проти гео-таргетингу Bitly та Rebrandly
І Bitly, і Rebrandly пропонують гео-роутинг. Відмінності полягають у глибині правил, затримці оцінки та можливостях A/B тестування.
| Feature | Elido | Bitly | Rebrandly |
|---|---|---|---|
| Виміри правил | Географія, пристрій, ОС, мова, реферер, час | Географія + пристрій (обмежено) | Географія + пристрій |
| Варіанти A/B на посилання | До 5 — зважені + достовірність z-test | Недоступно | Недоступно |
| Оцінка правил на edge | Так — без запитів до джерела | Редиректи на edge; оцінка правил різниться | Залежить від плану |
| Час розповсюдження правил | Менше 90 секунд | Не задокументовано | Не задокументовано |
| Заплановані правила / правила з часовим вікном | Так — вікно UTC, фільтр за днями тижня | Недоступно | Недоступно |
| Макс. кількість правил на посилання | 5 на Pro, необмежено на Business | Географія: 1 на посилання | Залежить від плану |
| Резервне призначення (fallback) | Обов'язкове, налаштовуване | Призначення за замовчуванням | Призначення за замовчуванням |
| Ліміт кліків | Так — для посилання, для варіанту | Недоступно | Недоступно |
Питання про смарт-посилання
Як швидко поширюються зміни правил?
api-core надсилає зміни правил до Redis протягом 30 секунд після збереження. Сервіс edge-redirect має вбудований кеш LRU з TTL 60 секунд для посилань з правилами. Повне розповсюдження: менше 90 секунд у гіршому випадку. Якщо вам потрібне швидше розповсюдження (наприклад, перемикання під час прямого ефіру), API має ендпоінт для очищення кешу, який негайно скидає Redis — після цього edge LRU отримає нові дані з Redis протягом секунд.
Що станеться, якщо під один запит підійдуть два правила?
Перемагає перший збіг — застосовується правило з найменшим індексом черговості. Виявлення конфліктів або об'єднання відсутні. Ви несете відповідальність за правильний порядок правил та уникнення перекриття часових вікон або списків країн. Інструмент попереднього перегляду правил у дашборді дозволяє симулювати тестовий запит до поточного набору правил, щоб перевірити, яке з них спрацює.
Чи застосовуються правила до Google Bot та інших краулерів?
Ні. Відомі патерни User-Agent краулерів виключені з оцінки правил; краулери завжди отримують резервне призначення (fallback). Це зроблено навмисно — ви ж не хочете, щоб маршрутизація смарт-посилань впливала на індексацію або ненавмисно показувала краулерам контент для певного регіону. Список виключення краулерів ідентичний тому, який використовується на edge для класифікації органічного трафіку та ботів в аналітиці.
Як розраховується достовірність z-test?
Z-test для двох часток на рівні кліків. Нульова гіпотеза полягає в тому, що обидва варіанти мають однаковий показник переходів (CTR). Достовірність становить 1 - p-value, виражена у відсотках. Ми не застосовуємо корекцію Бонферроні для кількох варіантів; використання більше 2 варіантів підвищує частоту хибнопозитивних результатів. Для формальних експериментів експортуйте сирий потік кліків і запустіть тест на значущість у вашому сховищі даних. Ми виводимо число в дашборді як орієнтир, а не як остаточний причинно-наслідковий висновок.
Чи можу я встановити правило, яке маршрутизує лише за конкретним реферером?
Так — відповідність домену реферера є одним із шести вимірів правил. Ви можете вказати точний домен (наприклад, 'newsletter.example.com') або маску ('*.example.com'). Використовується заголовок Referer; видалення реферера в HTTPS означає, що ви не завжди отримуватимете реферер із зовнішніх HTTPS-сайтів. Для посилань, поширених в електронній пошті (де Referer зазвичай відсутній), правила реферера менш надійні, ніж правила за географією або пристроями.
Чи можу я використовувати смарт-посилання на безкоштовному тарифі?
Ні. Смарт-посилання — це функція тарифів Pro та Business. Посилання на безкоштовному тарифі ведуть до одного призначення без правил маршрутизації. Ви можете переглянути інтерфейс правил у безкоштовній версії, але правила не будуть оцінюватися на edge, доки ви не оновите тариф.
Чи є аналітика для кожного варіанту?
Так. Кожен варіант у A/B спліті має власний часовий ряд кліків, доступний у вікні аналітики посилання. Розбивка за географією, пристроями та реферерами агрегується на рівні посилання, а не для кожного варіанту — розбивка вимірів по варіантах є у планах розвитку для тарифу Business.
Яка різниця між смарт-посиланням та A/B сплітом кампанії?
A/B смарт-посилання працює на рівні посилання: ви розділяєте трафік на різні призначення для однієї короткої URL-адреси. A/B кампанії працює на рівні кампанії: ви запускаєте два варіанти коротких посилань (різні слаги), що ведуть на одне призначення, і використовуєте аналітику кампанії, щоб порівняти, який слаг отримав більше кліків. Різні випадки використання: A/B на рівні посилання — для тестування призначень; A/B кампанії — для тестування креативів та слагів.
Keep reading
Universal Links + App Links — специфічний для мобільних пристроїв рівень маршрутизації, який працює разом із правилами смарт-посилань.
A/B на рівні кампанії, UTM-шаблони та запланований експорт — робочий процес кампаній, побудований на основі смарт-посилань.
Дані про кліки, розбивка за географією/пристроями та когортні представлення — як насправді виглядає трафік смарт-посилань у ClickHouse.
Як продуктові команди використовують смарт-посилання для маршрутизації на основі feature-flags, онбордингу та поширення всередині додатка.
Готові спробувати?
Почніть з безкоштовного плану, оновіть, коли вам знадобиться власний домен.