Smart links. Un solo enlace, muchos destinos.
Enrutamiento por dispositivo, geolocalización, idioma, hora del día. Las reglas se evalúan en el POP del edge - la primera coincidencia gana, se vuelve al destino predeterminado. No cuesta nada además de un redireccionamiento normal con acierto de caché.
- Motor de reglas first-match en el edge
- Evaluación de reglas en submilisegundos
- Variantes A/B con confianza por test Z
- Campañas con ventanas horarias en UTC
Cómo funciona
El camino del redirect, de extremo a extremo
Las reglas de smart-link se evalúan dentro del mismo proceso edge que responde al redirect - no hay un servicio de reglas separado. Un redirect con caché y reglas es indistinguible en latencia de uno sencillo.
- Paso 1
El usuario hace clic
elido.me/xDesde email, QR, redes sociales - desde donde sea.
- Paso 2
POP edge más cercano
in-region · <10 msAnycast enruta al POP edge más cercano - UE, EE. UU. Este o Asia-Pacífico.
- Paso 3
Evaluación de reglas
L1 cache · 0.2 msGana el primer match, sin ida y vuelta al origen.
- Paso 4
302 → destino
elido.me/x → /de/preiseEl evento de clic se dispara asíncrono a nuestro flujo de eventos.
Constructor de reglas
Reglas que se leen como un texto en claro
Cada regla combina hasta seis dimensiones - geo, dispositivo, SO, idioma, referente y tiempo - unidas con AND. Arrastra para reordenar; gana el primer match. El fallback siempre es obligatorio, así que un conjunto de reglas nunca produce un 404.
- PaísListas ISO 3166-1 alpha-2, p. ej. DE, AT, CH
- Dispositivo y SOiOS, Android, Windows, macOS, Linux
- IdiomaAccept-Language con fallbacks BCP-47
- Ventana horariaRango en UTC con filtro por día de la semana
- ReferenteCoincidencia exacta o por comodín del host
- 1siPaís: DE, AT, CHANDDispositivo: Móvil/de/preise⋮⋮
- 2siPaís: FR, BEANDIdioma: fr-*/fr/tarifs⋮⋮
- 3siSO: iOSApp Store · apps.apple.com/...⋮⋮
- 4siHora: Mon–Fri 09–17 UTCANDReferente: newsletter.*/promo/q2⋮⋮
- si no/en/pricing— fallback (obligatorio)
Enrutado real
El mismo enlace corto. Landings distintas por visitante.
Los dos patrones que más vemos: device-fork hacia las tiendas nativas con fallback de escritorio, y country-fork para páginas de precios localizadas. Ambos componen con splits A/B sobre el fallback.
Enrutado por país en producción
Un SaaS de la UE enruta brand.app/pricing por país de visitante. El fallback (los demás) cae en la página en inglés.
- DE · Alemania/de/preise
- FR · Francia/fr/tarifs
- ES · España/es/precios
- IT · Italia/it/prezzi
- PL · Polonia/pl/cennik
- NL · Países Bajos/nl/prijzen
- SE · Suecia/sv/priser
- UA · Ucrania/uk/tsiny
- — · Los demás/en/pricing
Tests A/B
Reparte tráfico. Mira subir la confianza.
Hasta 5 variantes por enlace con splits ponderados o round-robin. Cada variante lleva su propia serie temporal de clics. El panel muestra un test Z de dos proporciones como indicador direccional - no ocultamos las matemáticas.
- Ponderado (suma 100) o round-robin
- Serie temporal de clics por variante
- Confianza por test Z sobre una muestra mínima configurable
- El modo winner-takes-all bloquea el enlace en la variante líder
- Compone con reglas - A/B se aplica al fallback
Lo que puedes hacer
- Coincidencia de país ISO y zona horaria IANA
- Orientación a móvil / tablet / escritorio
- Ventanas de tiempo con filtros por día de la semana
- Expresiones regulares de User-Agent para usuarios avanzados
- Límite de clics por enlace (max_clicks)
- Variantes A/B con ponderación o rotación
Qué hace realmente el motor de reglas de smart-links
El enrutamiento geográfico y la segmentación por dispositivo son lo básico. Los detalles a continuación explican los casos extremos que complican las implementaciones simples.
La primera coincidencia gana, evaluada en el POP del edge - sin viaje de ida y vuelta al origen
Las reglas se almacenan en la caché en memoria (L2) y son evaluadas por nuestro servicio de edge en cada solicitud, dentro del mismo proceso que realiza la redirección - no hay un motor de reglas separado al que llamar. La evaluación de reglas añade menos de 1 ms a una redirección con acierto en caché. El orden de evaluación es el que establezcas en el dashboard o API; arrastra para reordenar o usa el campo de orden en la API. La semántica de 'primera coincidencia' significa que colocas tus reglas más específicas primero (ej. 'móvil + Alemania + lunes por la mañana → página de promoción') y tus reglas generales al final. Si ninguna regla coincide, se sirve el destino fallback - el fallback es obligatorio, no puede estar vacío. Los cambios en las reglas se propagan de nuestra API a la caché en memoria en menos de 30 segundos; el TTL de la caché LRU del edge para enlaces con reglas es de 60 segundos, por lo que la ventana de propagación completa es inferior a 90 segundos.
Seis dimensiones: geo, dispositivo, OS, idioma, referente y tiempo
Cada regla puede combinar hasta seis dimensiones en una sola condición. Geo: lista de códigos de país ISO 3166-1 alpha-2 (uno o más países). Tipo de dispositivo: móvil, tablet, escritorio - derivado del User-Agent. OS: iOS, Android, Windows, macOS, Linux - también del User-Agent. Idioma: coincidencia de cabecera Accept-Language (etiquetas de idioma BCP 47; 'fr' coincide con 'fr-FR', 'fr-CA', etc.). Dominio referente: coincidencia exacta o con comodines contra el dominio de la cabecera Referer (útil para enrutar tráfico social vs email vs directo). Tiempo: ventana de tiempo UTC con filtro opcional de día de la semana (ej. 'Lun–Vie 09:00–17:00 UTC'). El regex de User-Agent está disponible para usuarios avanzados que necesiten segmentar una versión específica de navegador o rastreador; no está expuesto en el dashboard por defecto, solo vía API. Las múltiples dimensiones en una sola regla se combinan con AND; un enlace puede tener hasta 5 reglas (Pro) o ilimitadas (Business).
Splits A/B ponderados con confianza z-test - hasta 5 variantes por enlace
Un enlace puede tener hasta 5 variantes de destino. El tráfico se divide por peso (configurable por variante; los pesos deben sumar 100) o round-robin. Cada variante rastrea su propia serie temporal de clics para que puedas ver si el efecto es constante a lo largo del día. El modelo de confianza es un z-test de dos proporciones a nivel de clic: el dashboard muestra 'la variante A lidera con X% de confianza' una vez que ambas variantes superan una muestra mínima (por defecto 200 clics cada una, configurable hasta 1,000). Reportamos la confianza bruta del z-test; no aplicamos correcciones de pruebas secuenciales. Las variantes A/B y las reglas de smart-links pueden coexistir en el mismo enlace: las reglas se evalúan primero, y el split A/B se aplica solo a la ruta de fallback. Así puedes enrutar a los usuarios de iOS incondicionalmente mientras realizas un A/B testing de dos destinos para todos los demás. El botón de 'el ganador se lo lleva todo' bloquea el enlace a la variante líder y elimina las otras - esto es irreversible.
Reglas con ventana de tiempo para campañas estacionales y basadas en eventos
Las reglas de tiempo te permiten configurar una regla que se activa y desactiva según un horario sin intervención manual. El uso típico: una regla para una página promocional activa desde el Black Friday 00:00 UTC hasta el Cyber Monday 23:59 UTC, que luego vuelve automáticamente al destino perenne. Las reglas se evalúan en UTC; si tu campaña depende de la zona horaria, conviértela a UTC al momento de la configuración. Las reglas programadas se evalúan de la misma manera que las reglas estáticas - en el edge, sin viaje de ida y vuelta al origen. El dashboard muestra una vista de línea de tiempo de las reglas programadas para que las ventanas superpuestas sean visibles. Caso extremo: si dos reglas de ventana de tiempo se superponen y ambas coinciden, gana la que tenga el índice de orden más bajo (primera coincidencia). No hay detección de conflictos - las reglas superpuestas son tu responsabilidad de revisar.
El destino fallback es obligatorio - sin errores 404 cuando las reglas no coinciden
Cada smart-link debe tener un destino fallback. No hay una opción de 'mostrar una página de error si ninguna regla coincide' - el fallback es la red de seguridad. El fallback puede ser cualquier URL; también se utiliza como el destino canónico para Google Bot y otros rastreadores (las reglas de smart-links no se aplican a User-Agents de rastreadores conocidos para evitar confusiones en la indexación). Más allá del fallback principal, la expiración a nivel de enlace (expires_at) y el límite de clics (max_clicks) tienen cada uno su propia URL de destino expirado configurable - independiente del fallback de reglas. Así, un enlace puede tener: hasta 5 reglas de enrutamiento, un fallback para cuando no hay coincidencia de reglas, un destino para después de la fecha de expiración y un destino para después del límite de clics. Estos se componen limpiamente; los casos extremos están documentados en las guías.
Equipos que usan smart-links en producción
Los nombres son marcadores de posición por ahora - los nombres de clientes reales aparecerán aquí a medida que se publiquen los casos de estudio.
“Retiramos un servicio de redirección en Node.js que nos costaba 40 ms de ida y vuelta. Los smart-links en Elido evalúan las reglas en el edge; la redirección es tan rápida como un enlace corto normal. El servicio de reglas eran 600 líneas de código que ya no mantenemos.”
“Las reglas de ventana de tiempo para contenido estacional nos permiten configurar campañas con antelación y olvidarnos. Antes eso era un cambio de redirección manual a las 2 AM. Ahora es una regla programada y un recordatorio en el calendario para revisar el resultado.”
“La visualización de confianza A/B en el dashboard terminó con la discusión de '¿es eso estadísticamente significativo?' en nuestro standup. Miramos el número del z-test, acordamos un umbral y seguimos adelante.”
Smart-links de Elido vs geo de Bitly + geo de Rebrandly
Tanto Bitly como Rebrandly ofrecen enrutamiento geográfico. Las diferencias radican en la profundidad de las reglas, la latencia de evaluación y la capacidad A/B.
| Feature | Elido | Bitly | Rebrandly |
|---|---|---|---|
| Dimensiones de reglas | Geo, dispositivo, OS, idioma, referente, tiempo | Geo + dispositivo (limitado) | Geo + dispositivo |
| Variantes A/B por enlace | Hasta 5 - ponderadas + confianza z-test | No disponible | No disponible |
| Reglas evaluadas en el edge | Sí - sin viaje de ida y vuelta al origen | Redirecciones servidas en el edge; la evaluación de reglas varía | Varía según el plan |
| Tiempo de propagación de reglas | Menos de 90 segundos | No documentado | No documentado |
| Reglas programadas / ventanas de tiempo | Sí - ventana UTC, filtro de día de la semana | No disponible | No disponible |
| Máximo de reglas por enlace | 5 en Pro, ilimitadas en Business | Geo: 1 por enlace | Varía según el plan |
| Destino fallback | Obligatorio, configurable | Destino por defecto | Destino por defecto |
| Límite de clics | Sí - por enlace, por variante | No disponible | No disponible |
Preguntas sobre smart-links
¿Qué tan rápido se propagan los cambios de reglas?
Nuestra API envía los cambios de reglas a la caché en memoria en menos de 30 segundos tras guardar. Nuestro servicio de edge tiene una caché LRU en el proceso con un TTL de 60 segundos para enlaces con reglas. Propagación completa: menos de 90 segundos en el peor de los casos. Si necesitas una propagación más rápida (ej. corte en vivo de un evento), la API tiene un endpoint para invalidar la caché que fuerza la invalidación de la caché en memoria inmediatamente - el LRU del edge fallará y volverá a obtener en segundos.
¿Qué sucede si dos reglas coinciden con la misma solicitud?
La primera coincidencia gana - se aplica la regla con el índice de orden más bajo. No hay detección de conflictos ni fusión. Es tu responsabilidad ordenar las reglas correctamente y evitar ventanas de tiempo o listas de países superpuestas. La herramienta de vista previa de reglas en el dashboard te permite simular una solicitud de prueba contra el conjunto de reglas actual para verificar qué regla se activa.
¿Se aplican las reglas a Google Bot y otros rastreadores?
No. Los patrones de User-Agent de rastreadores conocidos se excluyen de la evaluación de reglas; los rastreadores siempre reciben el destino fallback. Esto es intencional - no quieres que el enrutamiento de tu smart-link afecte el comportamiento de indexación o sirva contenido específico por región a los rastreadores de forma involuntaria. La lista de exclusión de rastreadores es la misma que utiliza el edge para clasificar tráfico orgánico vs bots en analytics.
¿Cómo se calcula la confianza del z-test?
Z-test de dos proporciones a nivel de clic. La hipótesis nula es que ambas variantes tienen la misma tasa de clics. La confianza es 1 - p-value, expresada como porcentaje. No aplicamos la corrección de Bonferroni para múltiples variantes; ejecutar más de 2 variantes aumenta la tasa de falsos positivos. Para experimentos formales, exporta el flujo de clics brutos y ejecuta la prueba de significancia en tu almacén de datos. Mostramos el número en el dashboard como un indicador direccional, no como una conclusión causal.
¿Puedo configurar una regla que enrute solo en un referente específico?
Sí - la coincidencia de dominio referente es una de las seis dimensiones de las reglas. Puedes coincidir con un dominio exacto (ej. 'newsletter.example.com') o un comodín ('*.example.com'). Se utiliza la cabecera Referer; el recorte de referentes en HTTPS significa que no siempre obtendrás un referente de sitios HTTPS externos. Para enlaces compartidos en email (donde Referer suele estar ausente), las reglas de referente son menos fiables que las de geo o dispositivo.
¿Puedo usar smart-links en el nivel gratuito?
No. Los smart-links son una característica de Pro y Business. Los enlaces del nivel gratuito van a un único destino sin reglas de enrutamiento. Puedes previsualizar la interfaz de reglas en el nivel gratuito, pero las reglas no se evalúan en el edge hasta que actualices tu plan.
¿Hay analytics por variante?
Sí. Cada variante en un split A/B tiene su propia serie temporal de clics visible en la vista de analytics del enlace. Los desgloses por geo, dispositivo y referente se agregan a nivel de enlace, no por variante - los desgloses de dimensiones por variante están en el roadmap para Business.
¿Cuál es la diferencia entre un smart-link y un split A/B de campaña?
El A/B de smart-link es por enlace: divides el tráfico a diferentes destinos para la misma URL corta. El A/B de campaña es a nivel de campaña: ejecutas dos variantes de enlace corto (diferentes slugs) que apuntan al mismo destino, y usas los analytics de campaña para comparar qué slug obtuvo más clics. Diferentes casos de uso: el A/B a nivel de enlace es para probar destinos; el A/B de campaña es para probar creatividades y slugs.
Sigue leyendo
Universal Links + App Links - la capa de enrutamiento específica para móviles que funciona junto a las reglas de smart-links.
A/B a nivel de campaña, plantillas UTM y exportaciones programadas - el flujo de trabajo de campaña construido sobre smart-links.
Datos de clics, desglose por geo/dispositivo y vistas de cohortes - cómo se ve realmente el tráfico de smart-links en tu almacén de analítica.
Cómo los equipos de producto usan smart-links para enrutamiento de feature-flags, onboarding y compartición en la aplicación.
¿Listo para probarlo?
Empieza con el plan gratuito, actualiza cuando necesites un dominio personalizado.