Requisitos previos
Antes de comenzar, asegúrate de tener:- Una tienda Shopify con la aplicación Vendo instalada
- Una cuenta y aplicación OneSignal (plataforma Web)
- Tu App ID de OneSignal (obligatorio)
- Tu REST API Key de OneSignal (obligatoria para eventos del lado del servidor como sincronización de pedidos y etiquetado de usuarios)
Configuración de OneSignal
Crear una aplicación OneSignal
Inicia sesión en onesignal.com y crea o selecciona una aplicación. Elige Web como plataforma y selecciona Custom Code como tipo de integración.
Configurar los ajustes de push web
En tu aplicación OneSignal, navega a Settings > Push & In-App > Web Settings o sigue la guía de configuración de push web.Configuración del sitio
- Site Name: El nombre de tu tienda, usado como título de notificación predeterminado.
- Site URL: La URL accesible públicamente de tu tienda Shopify (p. ej.,
https://yourstore.com).- Debe ser el origen exacto de tu sitio.
- No uses
https://your-site.myshopify.com/si los clientes acceden a tu sitio a través de un dominio personalizado comohttps://your-site.com/.
- Default Icon URL: Sube una imagen PNG o JPG cuadrada de 256x256px para los prompts y mensajes de notificación. Si no se configura, se usa un ícono de campana.
Configurar la ruta del service worker
Shopify no permite servir archivos desde la raíz del sitio, por lo que debes indicarle a OneSignal dónde sirve Vendo el archivo service worker.En OneSignal, ve a Settings > Push & In-App > Web Settings, desplázate hasta Advanced Push Settings y configura:

Vendo sirve automáticamente el archivo
| Ajuste | Valor |
|---|---|
| Service Worker Path | /apps/vendo/ |
| Service Worker Filename | OneSignalSDKWorker.js |
| Updater Filename | OneSignalSDKWorker.js |
| Service Worker Registration Scope | /apps/vendo/ |

OneSignalSDKWorker.js requerido en https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js — no se necesitan cargas manuales de archivos.El Updater Filename y el Service Worker Filename son el mismo archivo. OneSignal v16+ usa un único service worker para ambos propósitos.
Copiar tus credenciales
En OneSignal, ve a Settings > Keys & IDs y copia tu App ID y REST API Key. Los ingresarás en Vendo.
Configuración de Vendo
Agregar la integración OneSignal
En Vendo, navega a Integrations > Add Integration > OneSignal (o Destinations > OneSignal).

Ingresar tus credenciales de OneSignal
Ingresa tu App ID y REST API Key de OneSignal de la sección anterior, luego haz clic en Save.
Activar el bloque de tema Vendo
El bloque de tema Vendo carga el SDK de OneSignal en tu tienda. Sin él, el prompt de push no aparecerá y el seguimiento del lado del cliente no funcionará.
- En tu administrador de Shopify, ve a Online Store > Themes > Customize.
- Haz clic en App embeds (ícono de pieza de rompecabezas en la barra lateral izquierda).
- Activa Vendo.
- Haz clic en Save.
Seleccionar eventos a sincronizar
En la aplicación Vendo bajo OneSignal > Events, activa los eventos del lado del cliente y del servidor que deseas enviar a OneSignal. Consulta Seguimiento a continuación para la lista completa de eventos.
Seguimiento
Identificación de usuarios
Vendo utiliza un enfoque solo para usuarios identificados — los visitantes anónimos no se rastrean en OneSignal. Los usuarios deben identificarse a través de uno de cuatro métodos antes de que se envíen los eventos. Esto evita usuarios duplicados y garantiza datos limpios y accionables.| Método | Cómo funciona | Identificador usado |
|---|---|---|
| Suscripción push web | El visitante hace clic en “Permitir” en el prompt push. OneSignal crea un usuario automáticamente y Vendo captura el ID de OneSignal. | OneSignal ID |
| Registro en newsletter | El visitante envía un formulario de newsletter o correo electrónico. Vendo captura el email y llama a OneSignal.login(email). | |
| Inicio de sesión del cliente | El cliente inicia sesión en su cuenta de Shopify. Vendo lo detecta y llama a OneSignal.login() con el identificador configurado. | Shopify Customer ID o Email |
| Compra completada | El cliente completa una compra. Vendo almacena el identificador y llama a OneSignal.login(). | Shopify Customer ID o Email |
Fusión de identidades
Si un suscriptor push (identificado por el ID de OneSignal) luego inicia sesión o completa una compra, Vendo llama aOneSignal.login() con su Shopify Customer ID o email. OneSignal vincula la suscripción push al usuario identificado — no se crean usuarios duplicados. Todas las suscripciones push anteriores se conservan, y los eventos del lado del servidor (pedidos, cumplimientos) llegan al perfil de usuario correcto.
Etiquetas de clientes
Vendo sincroniza las propiedades del cliente como etiquetas en OneSignal para segmentación. Todos los valores se almacenan como cadenas (formato nativo de OneSignal).| Etiqueta | Descripción |
|---|---|
email | Email del cliente |
first_name | Nombre |
last_name | Apellido |
total_spent | Gasto total de por vida |
order_count | Total de pedidos |
verified_email | "true" o "false" |
tax_exempt | "true" o "false" |
marketing_state | Estado de consentimiento de marketing |
first_order_date | Fecha del primer pedido (ISO 8601) |
last_order_date | Fecha del pedido más reciente (ISO 8601) |
customer_created_at | Fecha de creación del cliente |
customer_tags | Etiquetas de Shopify separadas por comas |
email_marketing_consent | Estado de opt-in de marketing |
Eventos del lado del cliente
Vendo rastrea eventos personalizados del lado del cliente en tu tienda a través del Shopify Web Pixel y los envía a OneSignal. Estos eventos solo se envían después de que un usuario es identificado.| Evento | Descripción |
|---|---|
page_viewed | El cliente visita una página (tienda, checkout o estado de pedido) |
product_viewed | El cliente ve una página de detalles de producto |
collection_viewed | El cliente ve una página de colección de productos |
search_submitted | El cliente realiza una búsqueda en la tienda |
product_added_to_cart | Un producto se agrega al carrito |
product_removed_from_cart | Un producto se elimina del carrito |
cart_viewed | El cliente ve la página del carrito |
checkout_started | El cliente inicia el proceso de pago |
checkout_contact_info_submitted | Paso de información de contacto enviado |
checkout_address_info_submitted | Paso de información de dirección enviado |
checkout_shipping_info_submitted | Método de envío seleccionado |
payment_info_submitted | Detalles de pago enviados |
checkout_completed | Pago completado exitosamente |

Eventos del lado del servidor
Los eventos de comercio de Shopify se exportan y reenvían a OneSignal a través del pipeline de Vendo. Estos siempre usan el Shopify Customer ID comoexternal_id.
| Evento | Descripción |
|---|---|
received_orders | Se crea un nuevo pedido |
fulfilled_orders | El pedido está cumplido/enviado |
delivered_orders | El pedido está entregado |
refunded_orders | El pedido está completamente reembolsado |
partially_refunded_orders | El pedido está parcialmente reembolsado |
abandoned_checkouts | El checkout es abandonado |

Propiedades comunes de eventos
Todos los eventos incluyen estas propiedades (como cadenas):| Propiedad | Descripción |
|---|---|
order_id | Identificador de pedido mostrado |
shopify_order_id | ID de pedido interno de Shopify |
email | Email del cliente |
currency | Moneda del pedido |
source | Fuente del evento |
version | Versión de la integración |
Frecuencia de sincronización de datos
| Tipo de datos | Frecuencia de sincronización |
|---|---|
| Etiquetas de clientes | Cada 4–6 horas |
| Eventos de pedidos | Casi en tiempo real (en minutos) |
| Carritos abandonados | Cada 1–2 horas |
| Eventos de cumplimiento | Casi en tiempo real |
Detalles de la plataforma
| Ajuste | Valor |
|---|---|
| Método de sincronización | Cliente + lado del servidor vía Vendo |
| Identidad | Shopify Customer ID, Email u OneSignal ID |
| Deduplicación | Hash UUID v5 por evento |
| Tamaño del lote | 1,000 eventos por solicitud |
| Formato de datos | Todos los valores almacenados como cadenas |
Casos de uso
Recuperación de carrito abandonado
Crea un Journey desencadenado por el eventoabandoned_checkouts. Espera 1 hora después del abandono, luego envía una notificación push con el enlace de recuperación usando la propiedad checkout_url.
Actualizaciones del estado del pedido
Crea Journeys parafulfilled_orders y delivered_orders para enviar notificaciones push inmediatas con información de seguimiento cuando los pedidos se envían y llegan.
Engagement de clientes VIP
Crea un segmento dondetotal_spent sea mayor que un umbral, luego envía ofertas exclusivas personalizadas con la etiqueta first_name.
Campañas de reactivación
Dirige a clientes inactivos creando un segmento dondelast_order_date sea hace más de 90 días y envía campañas de reconquista.
Fuentes compatibles
OneSignal funciona con las siguientes fuentes de datos de Vendo:| Fuente | Eventos | Etiquetas de usuario | Audiencias |
|---|---|---|---|
| Shopify | Sí | Sí | Sí |
| Stripe | Sí | Sí | Sí |
| Mixpanel | — | — | Sí |
| Segment | — | — | Sí |
| Amplitude | — | — | Sí |
Pruebas
Verificar el service worker
Visita
https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js en tu navegador. Deberías ver código JavaScript. Si obtienes un 404, verifica que la aplicación Vendo esté instalada.También puedes abrir el DevTools del navegador (F12), ir a Application > Service Workers y confirmar que OneSignalSDKWorker.js está registrado con un scope de /apps/vendo/.Probar el prompt push
Abre tu tienda en una ventana de navegación incógnito/privada. Deberías ver el prompt de permiso de notificación de OneSignal. Haz clic en Permitir para suscribirte.
Enviar una notificación de prueba
En el panel de OneSignal, ve a Messages > Push > New Message. Envía una notificación de prueba a tu suscriptor y verifica que aparezca.
Verificar datos de usuario en OneSignal
Ve a Audience > Subscriptions y confirma que tu suscripción de prueba aparece. Verifica que las etiquetas de usuario (email, nombre, etc.) se están sincronizando para usuarios identificados.
Solución de problemas
El service worker devuelve 404
El service worker debe estar en/apps/vendo/OneSignalSDKWorker.js. Si ves un error 404 en la ruta raíz (/OneSignalSDKWorker.js), la ruta del service worker no está configurada en OneSignal — sigue el paso de configuración del service worker. Si el 404 está en la ruta /apps/vendo/, verifica que la aplicación Vendo esté instalada y el bloque de tema esté habilitado.
El prompt push no aparece
Verifica que el bloque de tema Vendo esté habilitado en App embeds. Comprueba que tu navegador permita notificaciones (haz clic en el ícono de candado en la barra de direcciones). Prueba en una ventana de navegación privada por si el prompt fue rechazado previamente.Las etiquetas no aparecen en OneSignal
Las etiquetas solo se sincronizan para usuarios identificados — los visitantes anónimos no se rastrean. Asegúrate de que el usuario haya sido identificado mediante suscripción push, inicio de sesión, registro en newsletter o checkout. Las sincronizaciones iniciales de etiquetas pueden tardar varias horas.Los eventos no se disparan
Verifica que los eventos estén habilitados en la aplicación Vendo bajo OneSignal > Events. Los eventos del lado del cliente requieren que el Shopify Web Pixel esté activo y el usuario esté identificado. Los eventos del lado del servidor requieren que la REST API Key esté configurada.Las notificaciones muestran “Entregado” pero no aparecen
La integración está funcionando — el problema está en la configuración de notificaciones de tu navegador o sistema operativo. Revisa la configuración de notificaciones de tu sistema operativo para tu navegador, asegúrate de que el modo No molestar / Concentración esté desactivado y verifica los permisos de notificación a nivel del navegador.Preguntas frecuentes
¿Puedo cambiar el identificador de cliente después de la configuración?
Sí. Actualiza el ajuste en la aplicación Vendo bajo Settings > Customer Identifier. Cambiar el identificador puede crear perfiles de usuario separados si los usuarios existentes ya fueron identificados con el método anterior.¿La integración Vendo admite aplicaciones móviles?
La integración Vendo se enfoca en las tiendas Shopify y el push web. Si también tienes una aplicación móvil, asegúrate de que el identificador que seleccionas en Vendo coincida con el que usas en tu aplicación móvil para que los perfiles de usuario permanezcan consistentes.¿Qué pasa si un visitante nunca es identificado?
Los eventos de visitantes no identificados no se envían a OneSignal. Una vez que el visitante se identifica (suscribiéndose al push, iniciando sesión, registrándose en una newsletter o completando el checkout), Vendo comienza a enviar eventos. Este enfoque solo para usuarios identificados evita usuarios duplicados y garantiza datos limpios.¿Por qué Vendo usa un enfoque solo para usuarios identificados?
Las versiones anteriores rastreaban visitantes anónimos usando la cookie de sesión de Shopify como identificador. Esto creaba usuarios duplicados de OneSignal que nunca podían fusionarse correctamente, llevando a conteos inflados de usuarios y datos fragmentados. El enfoque solo para usuarios identificados garantiza que cada usuario de OneSignal sea real y accionable.Páginas relacionadas
Keys & IDs
Encuentra tu App ID de OneSignal y clave REST API.
Eventos personalizados
Rastrea el comportamiento del usuario y desencadena automatizaciones basadas en eventos de Shopify.
Configuración push web
Configura notificaciones push web para tu tienda Shopify.
Prompts de permiso web
Configura cómo y cuándo solicitar a los visitantes permiso para push web.
