> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuración web push

> Configura notificaciones web push con OneSignal para re-involucrar usuarios en Chrome, Firefox, Safari y Edge.

Las notificaciones web push re-involucran a los usuarios con contenido oportuno — incluso cuando no están navegando activamente en tu sitio web. Soportan contenido rico incluyendo texto, imágenes, botones de acción y sonidos.

<Frame caption="Las notificaciones web push te ayudan a alcanzar usuarios incluso cuando no están en tu sitio">
  <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/ac9092f6fd99acc866af2598470d3b4b6e8233d947e45d8aade0b8bfcea71c8f-channel-setup-web-push.jpg?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=e73d6a84ca1e7ea2402ca3dc73d33f02" alt="Web push notification examples across different browsers and devices" width="1280" height="720" data-path="images/docs/ac9092f6fd99acc866af2598470d3b4b6e8233d947e45d8aade0b8bfcea71c8f-channel-setup-web-push.jpg" />
</Frame>

Para que web push funcione:

* **Sitio web HTTPS**: Web push solo funciona en sitios seguros con un certificado SSL válido
* **Service worker**: Debes poder agregar el [service worker de OneSignal](./onesignal-service-worker) a tu sitio web
* **Origen de dominio único**: Debe seguir la [política de mismo origen](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)
* **Permiso del usuario**: Los usuarios deben otorgar permiso explícitamente para recibir notificaciones
* **Navegadores soportados**: Funciona en la mayoría de navegadores modernos (Chrome, Firefox, Safari, Edge)

<Warning>
  Los usuarios no pueden suscribirse mientras están en modo Incógnito o navegación privada. Los dispositivos iOS requieren configuración adicional (ver [Web push para iOS](./web-push-for-ios)). Algunos navegadores pueden tener límites de notificaciones o requerir interacción del usuario — ver [Web push FAQ](./web-push-setup-faq).
</Warning>

Esta guía recorre cada paso—desde la configuración del SDK hasta enviar mensajes push personalizados—para ayudarte a implementar exitosamente las notificaciones push de OneSignal.

***

## Guías para desarrolladores web push

Antes de que puedas enviar notificaciones web push, tu desarrollador necesita completar los siguientes pasos.

<Note>
  ¿No eres desarrollador? Ver [Gestionar miembros del equipo](./manage-team-members) para invitar a un compañero de equipo con acceso de desarrollador a tu proyecto OneSignal.
</Note>

<Columns cols={2}>
  <Card title="Configuración SDK Web" icon="browsers" href="./web-sdk-setup">
    Guía completa para instalar y configurar el SDK Web de OneSignal, incluyendo pruebas en localhost y prompts de permiso.
  </Card>

  <Card title="Plugin WordPress" icon="plug" href="./wordpress">
    Integra rápidamente notificaciones push en WordPress usando nuestro plugin oficial—sin codificación requerida.
  </Card>

  <Card title="Configuración iOS web push" icon="apple" href="./web-push-for-ios">
    Sigue los pasos específicos de Apple para habilitar web push en iPhones e iPads ejecutando iOS 16.4+.
  </Card>

  <Card title="Migración desde otro proveedor" icon="arrow-right-arrow-left" href="./migrating-to-onesignal">
    Aprende a hacer la transición desde otro proveedor web push y retener tus suscriptores.
  </Card>
</Columns>

***

## Opciones de configuración

Configura tu sitio web para web push en el dashboard de OneSignal bajo **Settings > Push & In-App > Web**.

<Frame caption="Activa la plataforma web en tu configuración de OneSignal">
  <img src="https://mintcdn.com/onesignal/KPVdijCt4_xCbkO8/images/dashboard/web-push-platform-activation.png?fit=max&auto=format&n=KPVdijCt4_xCbkO8&q=85&s=beba7df5d3a4ad5545311951da0f03d2" alt="OneSignal dashboard showing web push platform activation in settings" width="1188" height="597" data-path="images/dashboard/web-push-platform-activation.png" />
</Frame>

Selecciona el tipo de integración que coincida con tu sitio:

<Frame caption="Elige tu tipo de integración basado en la configuración de tu sitio web">
  <img src="https://mintcdn.com/onesignal/BK2J-grzBpDdh8NC/images/dashboard/web-push-integration-type-options.png?fit=max&auto=format&n=BK2J-grzBpDdh8NC&q=85&s=f74c4245d969d80db72268a865bcf899" alt="OneSignal dashboard showing integration type options: Typical Site, WordPress, and Custom Code" width="2668" height="1454" data-path="images/dashboard/web-push-integration-type-options.png" />
</Frame>

<Columns cols={3}>
  <Card title="Sitio típico" icon="globe" href="./web-sdk-setup">
    **Recomendado** - Configura prompts, notificación de bienvenida y configuración de service worker directamente en el dashboard—sin codificación backend requerida.
  </Card>

  <Card title="WordPress" icon="plug" href="./wordpress">
    Usa el plugin oficial de OneSignal para configurar fácilmente push en tu sitio WordPress con configuración completa basada en UI.
  </Card>

  <Card title="Código personalizado" icon="code" href="./web-push-custom-code-setup">
    Configuración de control completo para desarrolladores que quieren personalizar todo a través de código.
  </Card>
</Columns>

Detalles del sitio:

* **Nombre del sitio**: Usado en títulos de notificación predeterminados
* **URL del sitio**: Debe coincidir exactamente con tu origen de dominio (sin rutas o desajuste de `www`)
* **Resuscripción automática**: Recomendado - Resuscribe automáticamente a usuarios recurrentes que limpiaron datos del navegador
* **URL de icono predeterminado**: Imagen de `256x256px` mostrada en notificaciones (si no se establece, se usa un icono de campana predeterminado)

### Resuscripción automática

Si los usuarios limpian sus datos del navegador, dejarán de recibir notificaciones push. Habilita esta opción para resuscribir automáticamente a los usuarios cuando regresen a tu sitio. Ver [Suscripciones](./subscriptions) para más detalles.

<Frame caption="Configuración web en el dashboard de OneSignal">
  <img src="https://mintcdn.com/onesignal/uaUYB-ILUGPSRvKB/images/docs/web-push-site-settings.png?fit=max&auto=format&n=uaUYB-ILUGPSRvKB&q=85&s=893a536c16cb4c439bc8fe53892861da" alt="OneSignal dashboard web push configuration settings showing site details and auto resubscribe option" width="2072" height="712" data-path="images/docs/web-push-site-settings.png" />
</Frame>

***

### Prompts de permiso web

Solicitar permiso de notificación a los usuarios es crítico para el opt-in. Puedes personalizar el comportamiento y apariencia de las solicitudes de permiso según tu configuración.

<Tip>
  Usa mensajería clara que explique el beneficio, solicita a los usuarios en el momento correcto (ej. después del engagement) y usa un pre-prompt antes de activar el diálogo nativo del navegador.
</Tip>

<Columns cols={2}>
  <Card title="Prompts de permiso web" icon="bell" href="./permission-requests">
    Compara diferentes tipos de prompt (slidedown, basado en categorías, nativo, campana de suscripción y más) y aprende cuándo usar cada uno.
  </Card>

  <Card title="Referencia SDK Web" icon="code" href="./web-sdk-reference">
    Aprende a controlar programáticamente cuándo y cómo se muestran los prompts usando el SDK.
  </Card>
</Columns>

***

### Notificación de bienvenida

Puedes habilitar un push de confirmación opcional que se envía inmediatamente después de que un usuario se suscriba.

La integración Típica y WordPress puede establecer esto en el dashboard.

<Frame caption="Las notificaciones de bienvenida confirman la suscripción exitosa y demuestran valor">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f33b02284d74f534669e87edfc8cd23e6be06eb8e705f640fd96bd8b7292ff4d-Screenshot_2024-10-25_at_2.06.50_PM.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=a70fc05fa5728334e75b95bbb276a923" alt="OneSignal dashboard showing welcome notification configuration with title, message, and URL fields" width="2072" height="728" data-path="images/docs/f33b02284d74f534669e87edfc8cd23e6be06eb8e705f640fd96bd8b7292ff4d-Screenshot_2024-10-25_at_2.06.50_PM.png" />
</Frame>

La integración de Código personalizado usa el objeto `welcomeNotification` en la función `OneSignal.init`. Ver [Referencia SDK Web](./web-sdk-reference) para detalles.

**¿Por qué enviar notificaciones de bienvenida?**

* Permite que los usuarios sepan que se han suscrito exitosamente
* Muestra cómo se verán las futuras notificaciones
* Proporciona contenido de incorporación o siguientes pasos

***

## Usuarios y suscripciones

Cuando un usuario se suscribe a push, OneSignal automáticamente crea una **suscripción** única vinculada a su navegador/dispositivo.

Las suscripciones web push se crean cuando los usuarios:

* Otorgan permiso para notificaciones push en tu sitio web usando un navegador y dispositivo específico
* Regresan a tu sitio **después de limpiar datos del navegador** (si la Resuscripción automática está habilitada)
* Se suscriben desde un nuevo navegador o dispositivo

<Note>
  Cada combinación de navegador/dispositivo crea una suscripción separada. El modo incógnito/navegación privada no puede crear suscripciones. Las suscripciones web push permanecen anónimas hasta que les asignas un [External ID](./users#external-id).
</Note>

<Frame caption="Dashboard OneSignal: Audience > Users">
  <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/dashboard/users-page.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=8992ef97cf3c9f336078f9dbf8a6374e" alt="OneSignal dashboard Users page showing a list of Users with Subscription details" width="2316" height="858" data-path="images/dashboard/users-page.png" />
</Frame>

<Columns cols={2}>
  <Card title="Usuarios" icon="users" href="./users">
    Aprende a gestionar usuarios, asignar External IDs y rastrear su actividad.
  </Card>

  <Card title="Suscripciones" icon="address-book" href="./subscriptions">
    Entiende cómo funcionan las suscripciones a través de navegadores y dispositivos.
  </Card>

  <Card title="Segmentos" icon="chart-pie" href="./segmentation">
    Agrupa usuarios en segmentos para dirigirte basado en comportamiento, dispositivo y más.
  </Card>
</Columns>

### Soporte iOS

Apple agregó soporte web push para iPhones e iPads ejecutando iOS 16.4+ pero con requisitos más estrictos:

* Los usuarios deben agregar tu sitio a su pantalla de inicio
* Los prompts de permiso se muestran solo después de ese paso
* Las notificaciones se comportan como alertas de app nativa una vez habilitadas

<Columns cols={2}>
  <Card title="Web push para iOS" icon="apple" href="./web-push-for-ios">
    Instrucciones paso a paso para habilitar soporte iOS, incluyendo configuración de service worker y manifest.
  </Card>

  <Card title="Guía de agregar a pantalla de inicio" icon="mobile" href="./web-push-for-ios#step-4%3A-guide-users-to-%E2%80%9Cadd-to-home-screen%E2%80%9D">
    Consejos para alentar a los usuarios a instalar tu sitio para que puedan recibir iOS web push.
  </Card>
</Columns>

***

## Diseñar notificaciones web push

Crear notificaciones push efectivas involucra más que escribir texto. Aprende qué elementos son personalizables y cómo usarlos efectivamente.

<Frame caption="Anatomía de notificación web push - personaliza elementos 1-6, mientras 7-9 son controlados por el navegador">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/dd4f79c-Web_Push_Examples.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=8d72d6952cd50f8c01a49ada61a15456" alt="Annotated diagram showing the anatomy of a web push notification with customizable and browser-controlled elements" width="1937" height="1359" data-path="images/docs/dd4f79c-Web_Push_Examples.png" />
</Frame>

1. [Título](./push#title): Encabezado que llama la atención (recomendado: menos de `50` caracteres)
2. [Mensaje](./push#message): Contenido principal de la notificación (recomendado: menos de `120` caracteres)
3. [Icono](./notification-icons): Tu icono de marca o imagen específica de notificación (recomendado: `256x256px` PNG o JPG)
4. [Imagen grande](./push#image): Contenido visual llamativo
5. [Botones de acción](./action-buttons): Botones de llamado a la acción
6. Navegador: El navegador/app mostrando el push
7. Dominio: Tu origen de sitio establecido automáticamente por el navegador
8. Marca de tiempo y Descartar: El navegador agrega estos controles
9. Más opciones: Controles adicionales específicos del navegador

<Columns cols={2}>
  <Card title="Descripción general Push" icon="bell" href="./push">
    Descripción general completa de la creación de notificaciones push, opciones y comportamiento de entrega.
  </Card>

  <Card title="Plantillas" icon="clone" href="./templates">
    Ahorra tiempo con plantillas reutilizables para mensajería consistente.
  </Card>
</Columns>

### Personalización y localización de mensajes

Puedes personalizar mensajes push para coincidir con las preferencias e idioma de cada usuario.

<Columns cols={2}>
  <Card title="Personalización de mensajes" icon="wand-magic-sparkles" href="./message-personalization">
    Inserta variables dinámicas (como nombre o preferencias) para adaptar mensajes.
  </Card>

  <Card title="Mensajería multi-idioma" icon="language" href="./multi-language-messaging">
    Entrega automáticamente mensajes en el idioma preferido de cada usuario.
  </Card>
</Columns>

***

## Configurar comportamiento web push

Controla cómo se comportan tus mensajes push después del envío—cuándo aparecen, cuánto tiempo se almacenan y cómo interactúan los usuarios.

### Configuraciones de entrega, visualización y descarte

<Columns cols={2}>
  <Card title="Throttling" icon="gauge-high" href="./throttling">
    Controla la velocidad de entrega de notificaciones.
  </Card>

  <Card title="Frequency Capping" icon="hand" href="./frequency-capping">
    Establece límites para prevenir el sobre-envío de notificaciones al mismo usuario.
  </Card>

  <Card title="Time To Live (TTL)" icon="clock" href="./push#time-to-live-ttl">
    Define cuánto tiempo los servicios push retienen mensajes cuando el dispositivo está offline.
  </Card>

  <Card title="Web Push Topic" icon="layer-group" href="./push#web-push-topic-web-push">
    Usa temas para agrupar, reemplazar o suprimir notificaciones duplicadas.
  </Card>
</Columns>

### Comportamiento de clic

Controla qué sucede cuando un usuario hace clic en una notificación.

**Por defecto:** Hacer clic abre tu página de inicio.

**Personalízalo:**

* Dirige usuarios a una URL específica
* Usa tracking UTM
* Suprime el comportamiento predeterminado con `?_osp=do_not_open`

<Columns cols={2}>
  <Card title="URLs, enlaces y Deep Linking" icon="link" href="./links">
    Dirige usuarios a contenido o páginas relevantes usando deep links y tracking.
  </Card>

  <Card title="Botones de acción" icon="hand-pointer" href="./action-buttons">
    Permite que los usuarios tomen acciones inmediatas desde tu notificación.
  </Card>

  <Card title="SDK Push Notification Event Listeners" icon="code" href="./web-sdk-reference#push-notifications">
    Escucha eventos de clic y activa comportamiento in-app con código personalizado.
  </Card>
</Columns>

***

## Prueba tu configuración

Antes de lanzar, prueba exhaustivamente tu implementación web push a través de dispositivos y navegadores.

### Lista de verificación pre-lanzamiento

* SDK está cargado correctamente sin errores
* El prompt de permiso aparece y funciona
* La notificación de prueba se envía y recibe
* Los iconos e imágenes se renderizan correctamente
* El service worker está registrado y actualizado
* El certificado HTTPS es válido

### Analytics push y solución de problemas

Mide el rendimiento de notificaciones y resuelve problemas comunes de entrega:

<Columns cols={2}>
  <Card title="Reportes de mensajes push" icon="chart-line" href="./push-notification-message-reports">
    Ve métricas de entrega, tasa de apertura y clics para cada mensaje.
  </Card>

  <Card title="Descripción general de analytics" icon="chart-bar" href="./analytics-overview">
    Explora métricas de engagement y comportamiento del usuario a través de canales.
  </Card>

  <Card title="Notificaciones no mostradas o retrasadas" icon="circle-exclamation" href="./notifications-not-shown-web-push">
    Lista de verificación de solución de problemas si los mensajes no aparecen.
  </Card>

  <Card title="Imágenes de notificación no se muestran" icon="image" href="./notification-images-not-showing">
    Soluciona problemas de renderizado de imágenes a través de diferentes navegadores.
  </Card>
</Columns>

***

## Próximos pasos

<Columns cols={2}>
  <Card title="Pruebas A/B" icon="flask" href="./ab-testing">
    Optimiza mensajes con experimentos para encontrar qué impulsa el engagement.
  </Card>

  <Card title="Journeys" icon="route" href="./journeys-overview">
    Construye flujos de mensajería automatizados de múltiples pasos disparados por el comportamiento del usuario.
  </Card>

  <Card title="Etiquetas" icon="tags" href="./add-user-data-tags">
    Agrega datos a nivel de usuario para personalización y targeting.
  </Card>

  <Card title="Analytics" icon="chart-bar" href="./analytics-overview">
    Rastrea métricas de engagement y conversión a través de canales.
  </Card>
</Columns>

***

## Preguntas frecuentes

### ¿Pueden los usuarios suscribirse a web push en iOS?

Sí, comenzando con iOS 16.4+. Los usuarios primero deben agregar tu sitio web a su pantalla de inicio, luego otorgar permiso de notificación. Ver [Web push para iOS](./web-push-for-ios) para los pasos completos de configuración.

### ¿Por qué un usuario dejó de recibir notificaciones web push?

La causa más común es que el usuario limpió sus datos del navegador, lo que elimina la suscripción push. Habilita **Auto Resubscribe** en tu configuración de web push para resuscribir automáticamente a usuarios recurrentes. Ver [Suscripciones](./subscriptions) para más detalles.

### ¿Funcionan las notificaciones web push en modo Incógnito o navegación privada?

No. Los usuarios no pueden suscribirse a web push mientras están en modo incógnito o navegación privada. Las suscripciones creadas en una sesión normal no son accesibles en modo privado.

### ¿Qué navegadores admiten notificaciones web push?

Chrome, Firefox, Safari (macOS e iOS 16.4+) y Edge admiten web push. Cada navegador puede tener diferente comportamiento de prompt y visualización de notificaciones. Ver [Web push FAQ](./web-push-setup-faq) para detalles específicos de cada navegador.

### ¿Puedo usar subdominios con web push?

Cada subdominio (por ejemplo, `app.example.com` vs `shop.example.com`) es un origen separado. Los navegadores aplican la [política de mismo origen](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy) para web push, por lo que cada subdominio requiere su propia aplicación de OneSignal. El service worker también debe estar alojado en el mismo origen que la página de suscripción — no se permiten CDN ni otros subdominios. Ver [Múltiples sitios y subdominios](./web-push-setup-faq#multiple-sites--subdomains) para opciones de configuración.

### ¿Cómo registro más de un dominio para web push?

Necesitas una aplicación de OneSignal separada para cada dominio o subdominio. Una sola aplicación de OneSignal solo puede servir a un origen. Para gestionar múltiples dominios, redirige a los usuarios a un único origen para la suscripción o crea aplicaciones de OneSignal individuales por origen. Ver [Múltiples sitios y subdominios](./web-push-setup-faq#multiple-sites--subdomains) para estrategias detalladas.

### ¿Por qué no aparece mi prompt de web push?

Las causas comunes incluyen: el sitio no está servido sobre HTTPS, el service worker no está registrado correctamente, el usuario ya otorgó o denegó permiso, o el usuario está en modo incógnito. Revisa la consola del navegador para errores y ver [Notificaciones no mostradas](./notifications-not-shown-web-push) para un listado completo.
