Links inteligentes. One link, many destinations.
Roteie por dispositivo, geo, idioma, hora do dia. Regras avaliadas no POP da borda — a primeira correspondência vence, com fallback para o destino padrão. Sem custos adicionais além de um redirecionamento normal de cache-hit.
- 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
- Correspondência de país ISO e fuso horário IANA
- Segmentação para celular / tablet / desktop
- Janelas de tempo com filtros de dia da semana
- Regex de User-Agent para usuários avançados
- Limite de cliques por link (max_clicks)
- Variantes A/B com pesos ou round-robin
O que o mecanismo de regras de links inteligentes realmente faz
Roteamento geográfico e segmentação por dispositivo são o básico. Os detalhes abaixo explicam os casos extremos que atrapalham implementações simples.
A primeira correspondência vence, avaliada no POP da borda — sem ida e volta à origem
As regras são armazenadas no Redis (cache L2) e avaliadas pelo serviço edge-redirect em cada solicitação, dentro do mesmo processo que faz o redirecionamento — não há um mecanismo de regras separado para chamar. A avaliação de regras adiciona menos de 1ms a um redirecionamento de cache-hit. A ordem de avaliação é a ordem que você define no dashboard ou na API; arraste para reordenar ou use o campo de ordem na API. A semântica de 'primeira correspondência' significa que você coloca suas regras mais específicas primeiro (ex: 'celular + Alemanha + segunda de manhã → página promocional') e suas regras gerais por último. Se nenhuma regra corresponder, o destino de fallback é servido — o fallback é obrigatório, não pode ficar vazio. As alterações de regras propagam do api-core para o Redis em menos de 30 segundos; o TTL do cache LRU de borda para links com regras é de 60 segundos, portanto, a janela total de propagação é inferior a 90 segundos.
Seis dimensões: geo, dispositivo, SO, idioma, referenciador e tempo
Cada regra pode combinar até seis dimensões em uma única condição. Geo: lista de códigos de país ISO 3166-1 alfa-2 (um ou mais países). Tipo de dispositivo: celular, tablet, desktop — derivado do User-Agent. SO: iOS, Android, Windows, macOS, Linux — também do User-Agent. Idioma: correspondência de cabeçalho Accept-Language (tags de idioma BCP 47; 'fr' corresponde a 'fr-FR', 'fr-CA', etc.). Domínio referenciador: correspondência exata ou curinga (wildcard) contra o domínio do cabeçalho Referer (útil para rotear social vs e-mail vs direto). Tempo: janela de tempo UTC com filtro opcional de dia da semana (ex: 'Seg–Sex 09:00–17:00 UTC'). O regex de User-Agent está disponível para usuários avançados que precisam segmentar uma versão específica do navegador ou bot; não é exposto no dashboard por padrão, apenas via API. Múltiplas dimensões em uma única regra são combinadas com AND; um link pode ter até 5 regras (Pro) ou ilimitadas (Business).
Divisões A/B ponderadas com confiança de teste z — até 5 variantes por link
Um link pode ter até 5 variantes de destino. O tráfego é dividido por peso (configurável por variante; a soma dos pesos deve ser 100) ou round-robin. Cada variante rastreia sua própria série temporal de cliques para que você possa ver se o efeito é consistente ao longo das horas do dia. O modelo de confiança é um teste z de duas proporções ao nível do clique: o dashboard mostra 'variante A lidera com X% de confiança' assim que ambas as variantes ultrapassam uma amostra mínima (padrão de 200 cliques cada, configurável até 1.000). Relatamos a confiança bruta do teste z; não aplicamos correções de testes sequenciais. Variantes A/B e regras de links inteligentes podem coexistir no mesmo link: as regras são avaliadas primeiro e a divisão A/B se aplica apenas ao caminho de fallback. Assim, você pode rotear usuários de iOS incondicionalmente enquanto testa A/B em dois destinos para todos os outros. O botão 'o vencedor leva tudo' bloqueia o link na variante vencedora e exclui as outras — isso é irreversível.
Regras por janela de tempo para campanhas sazonais e baseadas em eventos
As regras de tempo permitem definir uma regra que ativa e desativa em um cronograma sem intervenção manual. O uso típico: uma regra de página promocional ativa da Black Friday 00:00 UTC até a Cyber Monday 23:59 UTC, e então volta automaticamente para o destino perene. As regras são avaliadas em UTC; se sua campanha for sensível ao fuso horário, converta para UTC no momento da configuração. As regras agendadas são avaliadas da mesma forma que as regras estáticas — na borda, sem ida e volta à origem. O dashboard mostra uma visualização de linha do tempo das regras agendadas para que janelas sobrepostas sejam visíveis. Caso extremo: se duas regras de janela de tempo se sobreporem e ambas corresponderem, aquela com o menor índice de ordem vence (primeira correspondência). Não há detecção de conflito — regras sobrepostas são sua responsabilidade de revisar.
O destino de fallback é obrigatório — sem erros 404 quando as regras não coincidem
Todo link inteligente deve ter um destino de fallback. Não há opção de 'mostrar uma página de erro se nenhuma regra corresponder' — o fallback é a rede de segurança. O fallback pode ser qualquer URL; ele também é usado como o destino canônico para o Google Bot e outros rastreadores (regras de links inteligentes não são aplicadas a User-Agents de rastreadores conhecidos para evitar confusão na indexação). Além do fallback primário, a expiração no nível do link (expires_at) e o limite de cliques (max_clicks) têm cada um seu próprio URL de destino expirado configurável — separado do fallback de regras. Portanto, um link pode ter: até 5 regras de roteamento, um fallback para quando não houver correspondência de regra, um destino para pós-data de expiração e um destino para pós-limite de cliques. Estes se compõem de forma limpa; os casos extremos estão documentados nos guias.
Equipes usando links inteligentes em produção
Os nomes são provisórios por enquanto — nomes reais de clientes aparecerão aqui conforme os estudos de caso forem publicados.
“Aposentamos um serviço de redirecionamento Node.js que nos custava 40ms de ida e volta. Os links inteligentes no Elido avaliam as regras na borda; o redirecionamento é tão rápido quanto um link curto comum. O serviço de regras tinha 600 linhas de código que não precisamos mais manter.”
“Regras de janela de tempo para conteúdo sazonal nos permitem configurar campanhas com antecedência e ir dormir. Antes, isso era uma mudança manual de redirecionamento às 2 da manhã. Agora é uma regra agendada e um lembrete no calendário para verificar o resultado.”
“A exibição de confiança A/B no dashboard acabou com a discussão de 'isso é estatisticamente significativo?' na nossa reunião diária. Olhamos para o número do teste z, concordamos com um limite e seguimos em frente.”
Links inteligentes Elido vs Bitly geo + Rebrandly geo
Tanto Bitly quanto Rebrandly oferecem roteamento geográfico. As diferenças estão na profundidade da regra, latência de avaliação e capacidade A/B.
| Feature | Elido | Bitly | Rebrandly |
|---|---|---|---|
| Dimensões de regra | Geo, dispositivo, SO, idioma, referenciador, tempo | Geo + dispositivo (limitado) | Geo + dispositivo |
| Variantes A/B por link | Até 5 — ponderado + confiança de teste z | Não disponível | Não disponível |
| Regras avaliadas na borda | Sim — sem ida e volta à origem | Redirecionamentos servidos na borda; a avaliação de regras varia | Varia de acordo com o plano |
| Tempo de propagação de regras | Menos de 90 segundos | Não documentado | Não documentado |
| Regras agendadas / por janela de tempo | Sim — janela UTC, filtro de dia da semana | Não disponível | Não disponível |
| Máximo de regras por link | 5 no Pro, ilimitado no Business | Geo: 1 por link | Varia de acordo com o plano |
| Destino de fallback | Obrigatório, configurável | Destino padrão | Destino padrão |
| Limite de cliques | Sim — por link, por variante | Não disponível | Não disponível |
Perguntas sobre links inteligentes
Com que rapidez as alterações de regras se propagam?
O api-core envia as alterações de regras para o Redis em até 30 segundos após salvar. O serviço edge-redirect tem um cache LRU em processo com um TTL de 60 segundos para links com regras. Propagação total: menos de 90 segundos no pior caso. Se você precisar de propagação mais rápida (ex: corte de evento ao vivo), a API tem um endpoint de limpeza de cache (cache-bust) que força a invalidação imediata no Redis — o LRU de borda falhará e buscará novamente no Redis em segundos.
O que acontece se duas regras corresponderem à mesma solicitação?
A primeira correspondência vence — a regra com o menor índice de ordem é aplicada. Não há detecção de conflito ou fusão. É sua responsabilidade ordenar as regras corretamente e evitar janelas de tempo ou listas de países sobrepostas. A ferramenta de pré-visualização de regras no dashboard permite simular uma solicitação de teste contra o conjunto de regras atual para verificar qual regra é acionada.
As regras se aplicam ao Google Bot e outros rastreadores?
Não. Padrões conhecidos de User-Agent de rastreadores são excluídos da avaliação de regras; rastreadores sempre recebem o destino de fallback. Isso é intencional — você não quer que seu roteamento de link inteligente afete o comportamento de indexação ou sirva conteúdo específico da região para rastreadores involuntariamente. A lista de exclusão de rastreadores é a mesma usada pela borda para classificar o tráfego orgânico vs bot nas análises.
Como a confiança do teste z é calculada?
Teste z de duas proporções ao nível do clique. A hipótese nula é que ambas as variantes têm a mesma taxa de cliques. A confiança é 1 - p-valor, expressa como uma porcentagem. Não aplicamos a correção de Bonferroni para múltiplas variantes; executar mais de 2 variantes aumenta a taxa de falsos positivos. Para experimentos formais, exporte o fluxo de cliques brutos e execute o teste de significância em seu warehouse. Apresentamos o número do dashboard como um indicador direcional, não como uma conclusão causal.
Posso definir uma regra que roteia apenas em um referenciador específico?
Sim — a correspondência de domínio referenciador é uma das seis dimensões de regra. Você pode corresponder a um domínio exato (ex: 'newsletter.example.com') ou um curinga ('*.example.com'). O cabeçalho Referer é usado; a remoção de referenciadores HTTPS (referrer-stripping) significa que você nem sempre obterá um referenciador de sites HTTPS externos. Para links compartilhados em e-mails (onde o Referer costuma estar ausente), as regras de referenciador são menos confiáveis do que as regras de geo ou dispositivo.
Posso usar links inteligentes no plano gratuito?
Não. Links inteligentes são um recurso Pro e Business. Os links do plano gratuito vão para um único destino sem regras de roteamento. Você pode visualizar a interface de regras no plano gratuito, mas as regras não são avaliadas na borda até que você faça o upgrade.
Existem análises por variante?
Sim. Cada variante em uma divisão A/B tem sua própria série temporal de cliques visível na visualização de análise de link. Os detalhamentos por geo, dispositivo e referenciador são agregados no nível do link, não por variante — detalhamentos de dimensão por variante estão no roteiro (roadmap) para o plano Business.
Qual é a diferença entre um link inteligente e uma divisão A/B de campanha?
O A/B de link inteligente é por link: você divide o tráfego para diferentes destinos para o mesmo URL curto. O A/B de campanha é no nível da campanha: você executa duas variantes de link curto (slugs diferentes) direcionadas para o mesmo destino e usa a análise de campanha para comparar qual slug obteve mais cliques. Casos de uso diferentes: o A/B no nível do link é para teste de destino; o A/B de campanha é para teste de criativos e slugs.
Keep reading
Universal Links + App Links — a camada de roteamento específica para dispositivos móveis que funciona junto com as regras de links inteligentes.
A/B no nível da campanha, modelos UTM e exportações agendadas — o fluxo de trabalho de campanha baseado em links inteligentes.
Dados de cliques, detalhamento de geo/dispositivo e visualizações de coorte — como o tráfego de links inteligentes realmente aparece no ClickHouse.
Como as equipes de produto usam links inteligentes para roteamento de feature-flags, onboarding e compartilhamento no aplicativo.
Pronto para experimentar?
Comece no plano gratuito, faça o upgrade quando precisar de um domínio personalizado.