El deep linking es la práctica de usar un enlace que abre una pantalla específica dentro de una aplicación móvil, en lugar de la pantalla de inicio de la app o una página web. Un deep link (a menudo escrito como una sola palabra, "deeplink") es el enlace en sí: una URL que lleva suficiente información para que el teléfono abra la app correcta y para que la app muestre el contenido correcto.
Esta es la diferencia en la práctica, con una app de recetas inventada:
| Enlace | Qué pasa cuando lo tocas |
|---|---|
https://apps.apple.com/app/id0000000000 | Abre la ficha de la app en la tienda. No pasa nada dentro de la app. |
https://recipes.example.com/ | Abre la página de inicio del sitio web en un navegador. |
https://recipes.example.com/recipes/lemon-tart | Con el deep linking configurado, abre la app directamente en la receta de tarta de limón. Sin la app, abre la misma receta en el sitio web. |
recipeapp://recipes/lemon-tart | Abre la app en la receta de tarta de limón, pero solo si la app está instalada. |
Las dos últimas filas son deep links.
¿Qué es el deep linking y qué significa "deeplink"?
En la web, cada página tiene su propia dirección. Las apps no empezaron así: tocar el ícono de una app abre la puerta principal, y el usuario encuentra su propio camino desde ahí. El deep linking les da a las pantallas dentro de una app sus propias direcciones. "Deep" (profundo) se refiere al destino, el contenido que está más allá de la pantalla de inicio. Deep link y deeplink significan ambos el enlace, y deep linking es la técnica.
Un deep link tiene dos tareas:
- Lograr que el teléfono abra la app correcta. El sistema operativo tiene que reconocer que esta URL pertenece a tu app y no al navegador.
- Decirle a la app adónde ir. La ruta y los parámetros de la URL (por ejemplo
/recipes/lemon-tarto?code=SPRING) le indican a tu app qué pantalla mostrar y qué datos cargar.
iOS y Android se encargan de la primera tarea. La segunda siempre es tu propio código: la app recibe la URL, la lee y navega.
¿Cómo funcionan los deep links en iOS?
iOS te da dos formas de hacer que un enlace abra tu app: los esquemas de URL personalizados y los Universal Links.
Esquemas de URL personalizados
Un esquema de URL personalizado es un prefijo que inventas y registras para tu app, como recipeapp://. Cualquier enlace que empiece con ese prefijo se entrega a tu app.
Los esquemas personalizados se configuran rápido, pero son limitados. La documentación de Apple sobre cómo definir un esquema de URL personalizado dice que los esquemas personalizados son "una forma aceptable de deep linking", pero que los universal links son "muy recomendables". Destacan dos razones:
- Nada impide que otra app registre el mismo esquema. Si dos apps lo reclaman, Apple dice que no está definido a qué app se dirige el sistema.
- Una URL de esquema personalizado no es una dirección web, así que no hay nada a lo que recurrir como alternativa. Si la app no está instalada, el enlace falla, y en iOS el usuario puede ver un error que dice que Safari no puede abrir la página.
Universal Links
Un Universal Link es un enlace https:// común a tu propio sitio web que iOS abre en tu app. La guía de Apple para permitir que apps y sitios web enlacen a tu contenido describe el comportamiento: cuando alguien toca un universal link, el sistema lo envía directamente a tu app sin pasar por el navegador, y si la persona no ha instalado tu app, la misma URL se abre en su navegador para que tu sitio web pueda gestionarla. Una sola URL sirve para ambos casos.
Para demostrar que la app y el sitio web pertenecen al mismo dueño, configuras una asociación en ambos sentidos:
- En tu sitio web, alojas un archivo llamado
apple-app-site-associationen el directorio.well-known. Este lista el identificador de tu app y las rutas de URL que la app gestiona. - En tu app, agregas la capacidad Associated Domains en Xcode con una entrada como
applinks:recipes.example.com.
Cuando la app se instala, iOS descarga el archivo y comprueba que los dos lados coincidan. Los detalles están en la guía de Apple sobre compatibilidad con dominios asociados.
¿Cómo funcionan los deep links en Android?
Android usa las mismas dos ideas, ambas construidas sobre los intent filters.
Intent filters y esquemas personalizados
Un intent filter es una entrada en el AndroidManifest.xml de tu app que le indica a Android qué enlaces puede abrir una actividad. La guía de Google para crear deep links enumera lo que el filtro necesita: la acción VIEW, las categorías DEFAULT y BROWSABLE (sin BROWSABLE, un enlace que se toca en un navegador no puede llegar a tu app) y una o más etiquetas <data> que describan las URL, con al menos un esquema.
Un filtro con el esquema recipeapp hace que los enlaces recipeapp://... abran tu app. También puedes declarar enlaces https de esta manera, pero Google señala que los deep links simples están sujetos al diálogo de desambiguación del sistema, el aviso "Abrir con" que le pide al usuario elegir entre tu app y otras apps que pueden gestionar el enlace.
Android App Links
Los Android App Links son la versión verificada y el equivalente en Android de los Universal Links. Según la documentación de App Links de Google, establecen una asociación de confianza entre tu app y tu sitio web, de modo que los enlaces verificados se abren en tu app de inmediato, sin ningún diálogo. Son compatibles con Android 6 y versiones posteriores, en dispositivos que tienen los servicios de Google.
La configuración es un reflejo de la de iOS:
- Agrega
android:autoVerify="true"al intent filter de tus enlaceshttps. - Aloja un archivo Digital Asset Links en
https://your-domain/.well-known/assetlinks.jsonque nombre tu app y su certificado de firma.
Cuando la app se instala, Android obtiene el archivo de cada dominio de tus intent filters y lo verifica. Si la verificación no se supera, tus enlaces siguen funcionando como deep links comunes, pero pueden abrir el navegador o mostrar el selector.
¿Cuáles son los principales tipos de deep links?
| Tipo | Cómo se ve | Si la app está instalada | Si la app no está instalada |
|---|---|---|---|
| Esquema de URL personalizado (iOS y Android) | recipeapp://recipes/lemon-tart | Abre la app | Falla, a menudo con un error |
| Universal Link (iOS) | https://recipes.example.com/recipes/lemon-tart | Abre la app directamente | Abre la página web |
| App Link (Android) | https://recipes.example.com/recipes/lemon-tart | Abre la app directamente, sin selector | Abre la página web |
| Deferred deep link | Normalmente un enlace https:// de una plataforma de enlaces | Abre la app en la pantalla correcta | Envía al usuario a la tienda y luego entrega el destino en la primera apertura |
| Contextual deep link | Cualquiera de los anteriores más parámetros, como ?ref=MIKEYB | Abre la app y pasa los datos adicionales | Depende del tipo subyacente |
Los Universal Links y los App Links no son algo aparte de los deep links. Son la forma recomendada de crearlos en cada plataforma. "Deferred" (diferido) y "contextual" describen lo que un enlace puede hacer, así que un solo enlace puede ser un Universal Link, diferido y contextual, todo a la vez.
Para ver las ventajas y desventajas con más detalle, consulta nuestra comparación de deep links, Universal Links y deferred deep links.
¿Qué es el deferred deep linking y cuándo lo necesitas?
El deferred deep linking es el deep linking que sobrevive a una instalación. Si la persona que toca el enlace todavía no tiene la app, primero se le envía a la App Store o a Google Play, y el destino original se entrega a la app la primera vez que se abre. El enlace es "diferido" porque su tarea se pospone hasta después de la descarga.
Ni los Universal Links ni los App Links hacen esto por sí solos. Ambos recurren al sitio web cuando falta la app, y después de una instalación la app se abre en su pantalla de inicio sin ningún recuerdo del enlace.
Cómo funciona un deferred deep link
- El usuario toca el enlace. Este va a un servidor gestionado por ti o por tu plataforma de enlaces, que registra el destino y los parámetros que haya.
- El servidor revisa el dispositivo. Si la app está instalada, el enlace la abre directamente. Si no, se redirige al usuario a la tienda correcta.
- El usuario instala la app y la abre.
- En el primer inicio, un SDK dentro de la app pregunta qué enlace llevó a esta instalación y recibe el destino y los parámetros.
- Tu app lleva al usuario a esa pantalla.
El paso 4 es la parte difícil, y cambia según la plataforma. En Android, Google Play ofrece la Play Install Referrer API, que le permite a una app recuperar la URL de referencia de su propia instalación, junto con los momentos en que ocurrió el clic y en que empezó la instalación. En iOS, la App Store no le entrega a la app una cadena de referencia de la misma manera, así que las plataformas de enlaces guardan los detalles del enlace en sus propios servidores y los devuelven cuando la app recién instalada se conecta.
Cuándo lo necesitas
Necesitas deferred deep linking cuando muchas de las personas que tocan tus enlaces todavía no tienen la app, y el lugar al que llegan después de instalarla cambia el resultado:
- Enlaces de referidos y de invitación. El nuevo usuario debería ver quién lo invitó y recibir la recompensa.
- Enlaces de afiliados y de creadores. La venta tiene que acreditarse a la persona que compartió el enlace.
- Promociones y contenido compartido. Quien tocó un enlace a una oferta, un producto o un artículo específico debería llegar a él después de instalar.
Si tus enlaces solo van a usuarios existentes, los Universal Links y los App Links estándar son suficientes. Nuestra guía sobre deferred deep links para el marketing de apps cubre los casos de uso de marketing con más profundidad. Si usabas Firebase Dynamic Links para esto, el servicio se cerró en agosto de 2025; consulta qué sustituye a Firebase Dynamic Links.
¿Por qué fallan los deep links?
Los deep links dependen de que tu sitio web, tu app y el sistema operativo coincidan, así que hay varios puntos en los que pueden fallar.
El archivo de asociación falta o está mal
La mayoría de los fallos de Universal Links y App Links se remontan al archivo de tu servidor web. Apple indica que el archivo apple-app-site-association debe servirse por https:// con un certificado válido y sin redirecciones. Apple también exige que cada subdominio tenga su propia entrada y sirva su propio archivo. En Android, una huella de certificado incorrecta en assetlinks.json es un culpable frecuente.
La verificación no se superó en Android
Cuando la verificación de App Links no tiene éxito, Android trata tus enlaces como enlaces web comunes, así que el usuario recibe el navegador o un selector. La documentación de Google señala que en Android 11 y versiones anteriores, el sistema convierte tu app en el gestor predeterminado solo si encuentra un archivo que coincida para cada host del manifiesto, de modo que un dominio mal configurado puede afectar a los demás.
El toque ocurrió en un lugar donde los enlaces se comportan distinto
Apple documenta un caso sorprendente: cuando un usuario está navegando por tu sitio web en Safari y toca un universal link al mismo dominio, iOS lo mantiene en Safari, bajo el supuesto de que quiere quedarse en el navegador. Los enlaces a un dominio diferente abren la app. El comportamiento también puede variar cuando un enlace se abre dentro del navegador integrado de otra app, o cuando una herramienta de correo reescribe tu enlace para que pase por su propio dominio de conteo de clics, porque el dominio que se abre ya no es el que está asociado con tu app. Prueba los enlaces en los lugares donde tu audiencia realmente los va a tocar.
La app se abre pero llega a la pantalla de inicio
El sistema operativo hizo su trabajo y tu app no. O la app no gestiona esa ruta de URL, o el gestor se ejecuta antes de que la app esté lista para navegar (por ejemplo, antes de que el usuario haya iniciado sesión). Conserva el destino hasta que la app pueda mostrarlo.
¿Qué hace una plataforma de deep linking?
Una plataforma de deep linking es un servicio que crea y gestiona deep links por ti, para que un solo enlace se comporte correctamente en cada dispositivo. Insert Links, los deep links integrados en Insert Affiliate, son un ejemplo, y Branch y AppsFlyer son otros dos. Puedes crear un deep linking básico por tu cuenta con las funciones anteriores. Una plataforma se gana su lugar cuando necesitas lo que los sistemas operativos no ofrecen:
- Un enlace para cada caso. La plataforma detecta iOS o Android, app instalada o no, y dirige al usuario según corresponda.
- Deferred deep linking. Guarda los detalles del enlace en el momento del toque y los devuelve a la app en la primera apertura, mediante su SDK.
- Archivos de asociación alojados. Sirve los archivos
apple-app-site-associationyassetlinks.jsonen un dominio de enlaces, para que no tengas que mantenerlos tú. - Parámetros e informes. Lleva los datos de campaña, de referido o de afiliado a través de la instalación e informa sobre clics y aperturas.
Dónde encaja esto con los enlaces de afiliados para apps
Un creador comparte un enlace, un seguidor lo toca, instala la app y se suscribe unos días después. A menos que el identificador del afiliado viaje a través de la instalación, nadie puede decir quién ganó la comisión.
Insert Affiliate resuelve esto con sus propios deferred deep links, llamados Insert Links. Cada afiliado recibe un enlace que detecta si el usuario está en iOS o Android y si la app ya está instalada. Si lo está, el enlace abre la app y acredita las ventas futuras a ese afiliado. Si no lo está, el usuario va a la App Store o a Google Play, y en la primera apertura el SDK recuerda qué afiliado lo refirió. Insert Links puede funcionar solo con un esquema de URL personalizado, con Universal Links y App Links como una mejora opcional y recomendada. La guía de configuración de Insert Links explica cada paso. Si ya usas Branch, AppsFlyer u otra plataforma de deep linking, Insert Affiliate puede leer el afiliado desde esos enlaces, así que no tienes que reemplazar nada.
Preguntas frecuentes
¿Cuál es la diferencia entre un deep link y un enlace normal?
Un enlace normal abre una página web en un navegador o, en el mejor de los casos, abre una app en su pantalla de inicio. Un deep link abre una pantalla específica dentro de una app, como un producto, un perfil o una oferta. Los mejores deep links también son enlaces https:// comunes, así que una sola URL sirve tanto para la app como para el sitio web.
¿Cuál es la diferencia entre el deep linking y el deferred deep linking?
El deep linking estándar solo funciona cuando la app ya está instalada. El deferred deep linking también funciona para las personas que no tienen la app: las envía a la tienda y luego entrega el destino original cuando abren la app por primera vez. Lo necesitas para los enlaces de referidos, de afiliados y de publicidad.
¿Los Universal Links y los App Links son lo mismo?
Hacen el mismo trabajo en plataformas diferentes. Los Universal Links son los deep links https:// verificados de Apple para iOS, y los App Links son el equivalente de Google para Android. Ambos dependen de un archivo en tu sitio web que demuestra que eres dueño del dominio y de la app, y la mayoría de las apps configuran ambos.
¿Necesito una plataforma de deep linking?
No siempre. Si solo necesitas enlaces que abran una app instalada en la pantalla correcta, los Universal Links y los App Links lo cubren sin ningún tercero. Una plataforma empieza a valer la pena cuando necesitas deferred deep linking, un único enlace que dirija según el dispositivo o datos que se conserven a través de la instalación, porque los sistemas operativos no ofrecen eso de fábrica.
Por dónde empezar
Si tu app todavía no tiene deep links, elige las pocas pantallas a las que la gente más necesita llegar, dales URL https:// limpias y configura Universal Links y App Links con una alternativa web. Agrega el deferred deep linking cuando empieces a enviar enlaces a personas que no tienen la app, que es cuando comienzan los programas de referidos y de afiliados. Insert Affiliate es gratis para empezar si quieres que esos enlaces paguen comisión por las compras que generan.
