# Conecta búsqueda, web y app con deep links

- **URL canónica:** https://playbook.affpartners.io/es/apps/practices/discoverability-links/
- **Versión Markdown:** https://playbook.affpartners.io/es/apps/practices/discoverability-links/index.md
- **Módulo:** ASO y SEO
- **Tiempo:** 2 horas para la primera ruta

Un deep link es una dirección precisa dentro de la app. Debe conservar la tarea original después de un toque, de un inicio de sesión e incluso de una instalación nueva, y ofrecer una alternativa clara cuando el destino no esté disponible.

## Resultado

Un mapa de ruta continua y una matriz de pruebas para iOS y Android que cubra los estados instalada, sin sesión, no instalada y app desactualizada.

## Un enlace debe llevar a la habitación correcta, no solo al edificio

Quien lee una guía sobre su estado espera que el toque abra ese estado. La pantalla de inicio lo obliga a buscar el camino otra vez. Una buena ruta recuerda el destino a través del inicio de sesión y ofrece una alternativa segura cuando la pantalla no está disponible.

## Qué vas a necesitar

- **Una ruta:** Una página web o un mensaje concretos, una pantalla de destino en la app y una acción esperada.
- **Desarrollo:** Un desarrollador de iOS y Android, o el responsable de los enlaces, que conozca las rutas soportadas y el comportamiento del inicio de sesión.
- **Pruebas:** Dispositivos de ambas plataformas, la app instalada y desinstalada, cuentas de prueba y eventos de analítica.

## Términos en lenguaje sencillo

- **Deep link — Un enlace a una pantalla concreta de la app:** Definición: Tras el toque, el usuario aterriza en la ruta prometida y no en la pantalla de inicio. Ejemplo: Un push sobre una lección guardada abre esa lección directamente.
- **SEO — Mejorar las páginas de un sitio para las búsquedas:** Definición: Las páginas útiles responden preguntas reales de los usuarios y ayudan a encontrar el producto mediante los buscadores. Ejemplo: Una página responde una pregunta, explica las condiciones y lleva a una ruta relevante de la app.
- **Analytics event — El registro de una acción concreta del usuario:** Definición: La app envía un evento cuando un usuario abre una pantalla, toca un botón o completa una acción. Ejemplo: registration_started y registration_completed muestran cuántas personas abandonan el registro.
- **Conversion — La proporción de personas que pasan al siguiente paso:** Definición: Muestra cuántas de las personas que empezaron un paso lo completaron o llegaron al siguiente. Ejemplo: 80 registros completados de 100 iniciados: 80 ÷ 100 × 100% = 80% de conversión.

## Cuándo aplicarla

Los clics desde la búsqueda, el sitio, el correo o un push abren la página de inicio, se pierden después del inicio de sesión o de una instalación nueva, y dejan la acción objetivo sin poder medirse.

## Qué describir antes de desarrollar

Primero mapea el comportamiento para cada estado del usuario. El mismo enlace no debe quedar en un callejón sin salida cuando falten la app o la pantalla.

- **Mapa de rutas**
  - **Fuente:** Relaciona la fuente, la pantalla prometida, el inicio de sesión necesario y la acción objetivo después de abrir.
  - **Si no hay acceso:** Empieza con el enlace más importante y anota a mano el comportamiento esperado para los cinco estados.
- **Errores técnicos**
  - **Fuente:** Reúne las aperturas exitosas, las rutas alternativas, las rutas desconocidas y la versión de la app de cada enlace.
  - **Si no hay acceso:** Sin eventos, lleva un registro manual de pruebas con el dispositivo, la versión, los pasos y un video del error.
- **Toques y acciones**
  - **Fuente:** Une el toque, la apertura de la pantalla de destino y la acción completada con un único identificador de ruta.
  - **Si no hay acceso:** Agrega un parámetro técnico route_id al enlace y al evento de pantalla antes del próximo lanzamiento.

## Configura una ruta continua

1. **Elige una tarea y una pantalla.** Empieza con una promesa concreta y un resultado final. No crees un enlace universal de «abrir la app».
   - **Dónde hacerlo:** En la primera fila del mapa de rutas.
   - **Ejemplo:** El artículo «Cómo revisar el estado» → la pantalla concreta de estado → el usuario ve el siguiente paso.
2. **Describe los estados del usuario.** Anota el comportamiento cuando la app está instalada, el usuario no tiene sesión, la versión está desactualizada o la app no está.
   - **Dónde hacerlo:** En las filas de la matriz de pruebas.
   - **Ejemplo:** Después de iniciar sesión, el ID de ruta original sobrevive y abre el estado, no la pantalla de inicio.
3. **Agrega una alternativa segura.** Si la pantalla de destino no está disponible, muestra una página web relevante, la tienda o la ayuda. No dejes una pantalla en blanco ni un error sin explicación.
   - **Dónde hacerlo:** En los ajustes del enrutador de enlaces.
   - **Ejemplo:** App no instalada → la guía web sigue disponible, más un botón claro hacia la tienda.
4. **Prueba en dispositivos reales.** Revisa iOS y Android, el arranque en frío, el inicio de sesión, una versión antigua y la entrada desde distintas fuentes. Anota el resultado real de cada fila.
   - **Dónde hacerlo:** En los dispositivos y las versiones que la audiencia usa de verdad.
   - **Ejemplo:** Android 13 desde el navegador, iOS 17 desde el correo y ambas plataformas después de cerrar sesión.
5. **Une el toque con el resultado.** Envía route_id —el identificador de la ruta— y registra la apertura de la pantalla de destino, la ruta alternativa, los errores y la acción objetivo.
   - **Dónde hacerlo:** En los parámetros del enlace y en los eventos de analítica.
   - **Ejemplo:** Un toque en el sitio → se abre la app → se ve el estado → el siguiente paso, con route_id=status_help.

## Ejemplos prácticos

- **El inicio de sesión no borra el destino:** El enlace al estado pide al usuario que inicie sesión, conserva el route_id y después abre la pantalla prometida en lugar de la página de inicio.
- **Sin app, sin callejón sin salida:** El usuario se queda en la guía web útil y recibe un enlace claro a la tienda. Después de instalar, la ruta continúa; si no, se abre una alternativa web de forma segura.

## Artefacto final: Matriz de verificación de la ruta «Abrir estado»

Recorre cada fila en iOS y en Android. Con «la app se abrió» no basta: tiene que aparecer la pantalla prometida.

| Estado | Ruta esperada | Ruta alternativa | Resultado |
| --- | --- | --- | --- |
| Instalada, con sesión | Directo a la pantalla de estado | No hace falta | Revisar iOS/Android |
| Instalada, sin sesión | Inicio de sesión → pantalla de estado | Conservar el destino | El ID de ruta no se pierde |
| App no instalada | Ficha de la tienda | La respuesta web sigue disponible | No se muestra ningún error |
| Versión desactualizada | Una pantalla soportada o un aviso de actualización | Versión web | Sin callejón sin salida |
| Pantalla eliminada | Una alternativa vigente | Sección de ayuda | Un evento de «ruta no encontrada» |

El escenario está listo cuando el toque muestra la pantalla prometida en todos los estados soportados y los errores de ruta llegan al reporte con la versión y la plataforma.

## Lista de verificación del deep link

El enlace está listo solo después de probar la ruta completa, no tras una apertura afortunada en el dispositivo del desarrollador.

- [ ] Hay una pantalla prometida concreta y una acción objetivo.
- [ ] El destino original sobrevive al inicio de sesión y al arranque en frío.
- [ ] Hay una alternativa para app ausente, versión antigua y pantalla eliminada.
- [ ] El enlace no lleva datos sensibles del usuario.
- [ ] El toque, la pantalla, los errores y la acción están unidos por el ID de ruta y probados en iOS/Android.

## Cómo saber si la ruta funciona

- **Éxito técnico:** La proporción de toques que abrieron la pantalla prometida o una alternativa correcta sin error.
- **Contexto conservado:** Después de iniciar sesión o de una instalación nueva, el usuario continúa la tarea original en lugar de aterrizar en la pantalla de inicio.
- **Acción útil:** Los usuarios completan la acción después del toque, mientras bajan los errores de «ruta no encontrada» y las vueltas atrás.

## Regla principal

Un deep link cuenta como funcional solo cuando los usuarios llegan a la pantalla prometida en todos los estados soportados, no solo en la prueba del desarrollador.

## Crece con GameChange Partners

[Explorar el programa de afiliados ↗](https://gamechange.partners/es?utm_source=academy&utm_medium=referral&utm_campaign=gcpacademy)

---

- [Versión HTML](https://playbook.affpartners.io/es/apps/practices/discoverability-links/)
- [Todas las prácticas](https://playbook.affpartners.io/es/apps/)
