OneSignal es la plataforma de mensajería omnicanal más utilizada del mundo — y por una buena razón. Permite enviar push notifications, emails, SMS e In-App Messages desde un solo lugar, con una integración técnica relativamente sencilla. Pero "relativamente sencilla" no significa que no haya errores comunes que hacen perder tiempo, suscriptores y dinero. Esta guía, armada desde nuestra experiencia implementando OneSignal con clientes reales, cubre todos los canales con los pasos exactos que hay que seguir — y los errores que hay que evitar.
📱 Mobile Push & In-App Messages
El canal más impactante de OneSignal. Bien implementado, el push mobile tiene tasas de apertura 3-10x superiores al email. Acá están los pasos críticos para hacerlo bien desde el inicio.
Paso 1 — Crear la app en OneSignal
Ingresá a onesignal.com → New App/Website → elegí 'Mobile App'. Una vez creada, guardá el App ID y la REST API Key desde Settings. Los vas a necesitar en la integración del SDK y en los llamados a la API REST.
Paso 2 — Cargar las credenciales de push
Cada plataforma requiere sus propias credenciales para poder enviar notificaciones:
• Android (FCM): Subir el archivo JSON de Firebase desde la consola de Firebase.
• iOS (APNs): Subir el certificado .p8 de Apple desde tu Apple Developer Account.
• Huawei: Credenciales de Huawei Push Kit (si tu app necesita soporte para dispositivos sin Google Play).
Dónde configurarlas: Settings → Push & In-App → Google Android (FCM) / Apple iOS (APNs).
Paso 3 — Instalar el SDK en la app
Agregá el SDK de OneSignal al proyecto: vía Gradle para Android o CocoaPods / Swift Package Manager para iOS. Una vez instalado, inicializá con el App ID en el arranque de la app — en el Application.onCreate() en Android o en el AppDelegate en iOS.
Paso 4 — Configurar el small icon en Android
Este paso es fácil de pasar por alto y tiene un impacto visible: sin un ícono configurado correctamente, las notificaciones de Android aparecen con un ícono genérico blanco. El ícono debe ser un PNG con fondo transparente y diseño monocromo. Tamaño recomendado: 96x96px.
Paso 5 — Pedir permiso con un InApp previo (soft opt-in)
Antes de mostrar el permission prompt nativo del sistema operativo, mostrá un InApp Message propio que explique el valor de las notificaciones. Esto mejora drásticamente el opt-in rate.
⚠️ Crítico para iOS: El prompt nativo de iOS solo se puede mostrar UNA VEZ. Si el usuario lo rechaza, no se puede volver a pedir sin que vaya a configuraciones manualmente. Por eso el InApp previo es fundamental — filtrá a los usuarios que van a decir que sí antes de gastar la única oportunidad.
Paso 6 — Configurar la Notification Service Extension en iOS
La NSE (Notification Service Extension) es un target adicional en Xcode que procesa las notificaciones antes de mostrarlas. Es obligatoria para: Confirmed Delivery, imágenes en notificaciones, badges y action buttons.
Sin la NSE configurada, iOS no reporta Confirmed Deliveries y las imágenes simplemente no aparecen. También hay que configurar App Groups para que la NSE y la app principal puedan compartir datos.
Pasos 7 y 8 — Testing y verificación de métricas
Enviá un mensaje de prueba desde el Dashboard a un device de test. Probá con la app en foreground y background, en Android e iOS por separado. Luego verificá en el Dashboard: suscriptores activos, opt-in rate por plataforma y que los mensajes muestren los estados Sent / Delivered / Confirmed.
🌐 Web Push
Web Push permite enviar notificaciones a los navegadores de escritorio y mobile sin necesidad de una app. Compatible con Chrome, Firefox, Edge y (desde iOS 16.4+) Safari mobile si el usuario agrega el sitio a su pantalla de inicio.
Paso 1 — Crear la app y copiar credenciales
onesignal.com → New App/Website → 'Web'. Guardá el App ID y REST API Key.
Paso 2 — Instalar el Web SDK
Agregá el snippet JS de OneSignal en el <head> de todas las páginas del sitio. También se puede instalar vía Google Tag Manager. Verificá que cargue sin errores en la consola del navegador antes de continuar.
Paso 3 — Configurar el Permission Prompt
Tenés tres opciones para pedir permiso al usuario:
• Slide Prompt: Un banner de OneSignal que convierte mejor que el prompt nativo directo.
• Native Browser Prompt: El popup del navegador directamente.
• Custom Prompt (InApp previo): Tu propio diseño antes del prompt nativo.
⚠️ Al igual que en iOS mobile, el permission prompt nativo del navegador solo se puede mostrar UNA VEZ. Si el usuario lo rechaza, el navegador no vuelve a preguntar. Usá el Slide Prompt o un InApp previo para maximizar las chances.
Paso 4 — Configurar iOS Web Push (Safari mobile)
Para soportar usuarios en iOS 16.4+ en Safari, necesitás un archivo manifest.json en el directorio raíz de tu sitio. Además, iOS requiere que el usuario agregue el sitio a su pantalla de inicio antes de poder suscribirse — es una limitación del sistema operativo, no de OneSignal.
Pasos 5 y 6 — Testing y métricas web
Creá una campaña de prueba desde el Dashboard y verificá recepción en Chrome y Safari. En el Dashboard deberías ver suscriptores activos, opt-in rate y mensajes con estado Sent / Delivered.
⚙️ Advanced Settings — Opcionales pero muy recomendados
Estos pasos no son obligatorios para enviar el primer mensaje, pero son fundamentales para sacarle el verdadero potencial a OneSignal: segmentación precisa, personalización y automatización.
1 — Identificación de usuarios con external_id
Cuando el usuario hace login en tu app o sitio, identificalo en OneSignal con tu propio ID de usuario. Esto permite targetear usuarios específicos y cruzar los datos de OneSignal con tu backend o CRM.
// Cuando el usuario hace login
OneSignal.login('TU_USER_ID');
// Cuando hace logout
OneSignal.logout();
💡 El external_id debe ser el mismo ID que usás en tu backend. Sin esto, no podés enviar notificaciones transaccionales a un usuario específico.
2 — Data Tags para segmentación
Los Data Tags son propiedades de usuario que podés usar para segmentar y personalizar mensajes. Se envían via SDK o API.
// Setear propiedades del usuario
OneSignal.User.addTags({
plan: 'premium',
ciudad: 'bsas',
ultima_compra: '2024-03-15'
});
3 — Custom Events para triggers avanzados
Los Custom Events permiten registrar acciones específicas del usuario para disparar automatizaciones (Journeys) e In-App Messages.
// Trackear un evento personalizado
OneSignal.trackEvent('purchase', {
amount: 100,
product: 'course'
});
// Otros ejemplos
OneSignal.trackEvent('article_read', { category: 'tecnologia' });
OneSignal.trackEvent('checkout_started');
💡 Los triggers básicos como 'app open' o 'tiempo en pantalla' funcionan sin código adicional. Los Custom Events requieren implementación pero abren posibilidades avanzadas de personalización.
4 — Mensajería transaccional vía API REST
Para envíos automáticos desde tu backend (ej: 'pedido despachado', confirmación de pago, alertas de sistema), integrá el endpoint POST /notifications de la API REST de OneSignal.
curl --request POST \
--url https://api.onesignal.com/notifications \
--header 'Authorization: Key TU_REST_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"app_id": "TU_APP_ID",
"include_aliases": {
"external_id": ["user_123"]
},
"target_channel": "push",
"contents": {
"en": "Tu pedido fue despachado 🚀"
}
}'
5 — Migrar suscriptores existentes
Si venías con otro proveedor de push, podés importar los push tokens históricos y emails via CSV o API para no perder tu base de suscriptores.
OneSignal también maneja email, lo que permite coordinar push y email desde un solo lugar. Eso es muy poderoso para Journeys omnicanal: si el usuario no abre el push en 24hs, le mandás el email automáticamente.
Paso 1 — Habilitar el canal Email
Ir a Settings → Platforms → Email → Activate. Por defecto OneSignal usa Mailgun con IP compartida. Si ya tenés Sendgrid, Mailgun propio o Mailchimp, podés conectarlos para no pagar volumen de email a OneSignal. Para alto volumen, se puede solicitar una IP dedicada.
Paso 2 — Configurar el dominio de envío (SPF / DKIM / DMARC)
Este es el paso más técnico y el más crítico para la deliverabilidad. Sin autenticación del dominio, los emails caen en spam. Hay que agregar tres registros DNS:
• SPF: Autoriza a OneSignal a enviar emails en nombre de tu dominio.
• DKIM: Firma criptográfica que verifica que el email no fue alterado en tránsito.
• DMARC: Define qué hacer con los emails que no pasen SPF o DKIM.
⚠️ Este paso lo debe hacer el equipo de IT o quien administre el DNS del dominio. Sin esto, no importa qué tan buenos sean tus emails — van al spam.
Paso 3 — From Name, From Email y Reply-To
Configurá el nombre y dirección del remitente que verán los usuarios (ej: 'Equipo MiApp' <hola@miapp.com>). También configurá el Reply-To para los casos en que los usuarios respondan directamente.
Pasos 4 y 5 — Importar emails existentes y capturar nuevos via SDK
Si tenés una base de emails histórica, importala via CSV o API. Incluí el external_id para cruzar con los perfiles de usuario existentes. Solo importá usuarios que tenían opt-in previo — nunca listas compradas.
// Capturar el email del usuario cuando lo ingresa
OneSignal.User.addEmail('usuario@mail.com');
Pasos 6 y 7 — Templates y Unsubscribe
Creá los templates en el editor drag-and-drop de OneSignal. Siempre incluí un link de unsubscribe visible y funcional — es requerido legalmente (CAN-SPAM, GDPR). OneSignal lo gestiona automáticamente si usás su footer por defecto.
Pasos 8 y 9 — Testing y métricas de deliverability
Antes de lanzar, enviá un email de prueba a una dirección propia y verificá: que llega, que no cae en spam, que los links funcionan y que el unsubscribe funciona. Revisá en Gmail y Outlook, y en vista mobile.
Métricas de referencia: Bounce rate normal: < 2% / Open rate objetivo: > 20%. Un bounce rate alto indica problemas de lista o de configuración DNS.
📌 Canales Adicionales: SMS, WhatsApp e Integraciones
OneSignal también soporta SMS via Twilio y WhatsApp via Meta/Twilio Webhooks, lo que lo convierte en una plataforma verdaderamente omnicanal. En cuanto a integraciones nativas, tiene conectores con Amplitude, Mixpanel y Appsflyer — muy útiles para cruzar datos de comportamiento con las campañas de mensajería.
Conclusión: el orden importa
OneSignal es una plataforma muy poderosa, pero como toda integración técnica, el diablo está en los detalles. Los errores más costosos que vemos en implementaciones reales son: no configurar la NSE en iOS (perdés Confirmed Delivery e imágenes), gastar el prompt nativo sin un InApp previo (perdés opt-in rate para siempre), y no autenticar el dominio de email (tus emails van al spam desde el día uno).
Seguir esta checklist en orden te evita esos errores y te deja una implementación sólida sobre la cual construir campañas, Journeys y automatizaciones que realmente convierten. Si necesitás ayuda con la implementación, en Bildung Data somos partners de OneSignal y acompañamos proyectos de integración end-to-end.
📖 Documentación oficial completa: documentation.onesignal.com