Conecta Shopify a OneSignal mediante la integración Vendo para push web, etiquetas de clientes, eventos de comercio y segmentación por comportamiento.
OneSignal se ha asociado con Vendo para crear una integración de Shopify perfecta. Vendo despliega el SDK de OneSignal en tu tienda de Shopify con un solo clic — sin necesidad de editar manualmente el código del tema. Sincroniza etiquetas de clientes, eventos de navegación del lado del cliente y eventos de comercio del lado del servidor a OneSignal para que puedas crear segmentos y desencadenar campañas push basadas en comportamiento real e historial de compras.Para la documentación de Vendo, consulta Vendo OneSignal Destination.
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.
Debes seleccionar Custom Code. La opción Typical Site no expone la configuración de la ruta del service worker, por lo que el SDK intentará cargar /OneSignalSDKWorker.js desde la raíz de tu tienda — Shopify lo bloquea y las suscripciones push fallarán silenciosamente. Si ya creaste la aplicación con Typical Site, cambia a Custom Code en Settings > Platforms > Web, o elimina y vuelve a crear la aplicación.
2
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).
No uses https://your-site.myshopify.com/ si los clientes acceden a tu sitio a través de un dominio personalizado como https://your-site.com/.
Default Icon URL: Sube un PNG, JPG o GIF no animado cuadrado de 256×256 que aparece en notificaciones y prompts. Si no se configura, se usa un ícono de campana como predeterminado. Consulta Iconos de notificación.
3
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, activa Customize service worker paths and filenames y luego configura:
Ajuste
Valor
Path to service worker files
/apps/vendo/
Main service worker filename
OneSignalSDKWorker.js
Updater service worker filename
OneSignalSDKWorker.js
Service worker registration scope
/apps/vendo/
Configuración del service worker para tiendas Shopify que usan Vendo.
Vendo sirve automáticamente el archivo OneSignalSDKWorker.js requerido en https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js — no se necesitan cargas manuales de archivos.
La página OneSignal > Push Settings de la aplicación Vendo muestra estos valores exactos con opción de copiar con un clic, por lo que no necesitas volver a escribirlos.El Updater Filename y el Main Service Worker Filename son el mismo archivo. OneSignal v16+ usa un único service worker para ambos propósitos.
4
Copiar tus credenciales
En OneSignal, ve a Settings > Keys & IDs y copia tu App ID y REST API Key. Los ingresarás en Vendo.
Instala la aplicación Vendo desde el Shopify App Store.
2
Agregar la integración OneSignal
En Vendo, navega a Destinations > OneSignal.
Agregar la integración OneSignal en Vendo.
3
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.
4
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.
El bloque de tema gestiona la inicialización del SDK, el registro del service worker, la visualización del prompt push, la identificación de usuarios (suscripción push, inicio de sesión, registro en newsletter) y la sincronización de etiquetas para usuarios identificados.
5
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.
6
Configurar los prompts push
Si cada prompt aparece en tu tienda — y cuándo — se controla desde la aplicación Vendo, no desde el panel de OneSignal. En la aplicación Vendo, abre OneSignal > Push Settings. Verás cuatro secciones, cada una con su propio interruptor:
Sección
Qué hace
Subscription Bell
Ícono de campana flotante en el que los visitantes pueden hacer clic para suscribirse en cualquier momento
Push Slide Prompt
Banner deslizante con tu marca que solicita permiso para push
Native Browser Prompt
Activa directamente el diálogo de permiso integrado del navegador
Welcome Notification
Notificación push enviada automáticamente cuando un visitante se suscribe
Para los prompts Push Slide y Native, también estableces triggers — cuántas vistas de página y cuántos segundos esperar antes de que se active el prompt. Los valores predeterminados razonables ya están precargados.Los cuatro prompts están desactivados por defecto — habilita solo los que quieras. Guarda una vez al final de la página; los cambios surten efecto en la siguiente carga de la tienda sin volver a desplegar el tema.
El texto de los botones del prompt, el texto del mensaje de acción, los íconos y las opciones avanzadas como pruebas A/B y localización se configuran en el panel de OneSignal. Desde Push Settings de Vendo, haz clic en Open OneSignal Dashboard para ir directamente a la página de Permission Prompt Setup. Si un prompt está configurado en el panel de OneSignal pero su interruptor en Vendo está desactivado, no se mostrará — el interruptor de Vendo es la fuente de verdad para la visibilidad.
7
Sincronización de datos históricos (opcional)
Vendo puede rellenar retroactivamente clientes existentes e historial de pedidos recientes en OneSignal. Esto ocurre automáticamente en segundo plano después de guardar tus credenciales.
Opciones de sincronización de datos históricos en Vendo.
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).
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
Si tienes una aplicación móvil o conexiones de terceros, selecciona el identificador (Shopify Customer ID vs. Email) que coincida con tus otras herramientas para que los perfiles de usuario permanezcan consistentes entre plataformas. Configúralo en la aplicación Vendo bajo Settings > Customer Identifier.
Si un suscriptor push (identificado por el ID de OneSignal) luego inicia sesión o completa una compra, Vendo llama a OneSignal.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.
Vendo sincroniza las propiedades del cliente como etiquetas en OneSignal para segmentación. Todos los valores se almacenan como cadenas (formato nativo de OneSignal).
Vendo captura los parámetros UTM y los IDs de clic en el checkout y los sincroniza como etiquetas. Los valores de último toque se sobrescriben en cada checkout; los valores de primer toque (initial_utm_*) se escriben solo una vez.
Etiqueta
Descripción
utm_source
Fuente UTM de último toque
utm_medium
Medio UTM de último toque
utm_campaign
Campaña UTM de último toque
utm_content
Contenido UTM de último toque
utm_term
Término UTM de último toque
initial_utm_source
Fuente UTM de primer toque (se establece una vez)
initial_utm_medium
Medio UTM de primer toque (se establece una vez)
initial_utm_campaign
Campaña UTM de primer toque (se establece una vez)
Vendo puede sincronizar la membresía de segmentos de Shopify como etiquetas en el formato shopify_segment_{segment_id} con un valor de "true". Consulta la referencia de Events & Properties de Vendo para detalles sobre cómo ejecutar la sincronización.
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
alert_displayed
Alerta o advertencia mostrada en el checkout
ui_extension_errored
Error en tiempo de ejecución de una extensión de UI del checkout
all_custom_events
Eventos personalizados de clientes de Shopify
Configuración de eventos del lado del cliente en Vendo.
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 como external_id.
Evento
Descripción
order_received
Se crea un nuevo pedido
order_fulfilled
El pedido está cumplido/enviado
order_delivered
El pedido está entregado
order_refunded
El pedido está completamente reembolsado
order_partially_refunded
El pedido está parcialmente reembolsado
cart_abandoned
El checkout es abandonado
Configuración de eventos del lado del servidor en Vendo.
Crea un Journey desencadenado por el evento cart_abandoned. 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.
Crea Journeys para order_fulfilled y order_delivered para enviar notificaciones push inmediatas con información de seguimiento cuando los pedidos se envían y llegan.
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 y que el bloque de tema esté habilitado.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/.
2
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.
3
Enviar una notificación de prueba
En el panel de OneSignal, ve a Messages > New Push. Envía una notificación de prueba a tu suscriptor y verifica que aparezca.
4
Verificar datos de usuario en OneSignal
Ve a Audience > All Users y confirma que tu usuario de prueba aparece. Verifica que las etiquetas de usuario (email, nombre, etc.) se están sincronizando para usuarios identificados.
5
Desencadenar un evento de prueba
Navega por un producto o completa un checkout de prueba en tu tienda. Confirma que el evento aparece en la actividad del usuario en el panel de OneSignal.
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.
Se seleccionó “Typical Site” durante la configuración de OneSignal
Vendo requiere el tipo de integración Custom Code. Typical Site no expone la configuración de la ruta del service worker, por lo que el SDK intentará cargar /OneSignalSDKWorker.js desde la raíz de tu tienda — Shopify lo bloquea y las suscripciones push fallarán silenciosamente.Solución: en el panel de OneSignal, cambia el tipo de integración de la aplicación a Custom Code en Settings > Platforms > Web, o elimina la aplicación y vuelve a crearla usando Custom Code desde el principio.
Verifica que el bloque de tema Vendo esté habilitado en App embeds.
En la aplicación Vendo bajo OneSignal > Push Settings, confirma que al menos un interruptor de prompt (Subscription Bell, Push Slide Prompt o Native Browser Prompt) esté activado — los cuatro están desactivados por defecto.
Comprueba el retraso del trigger — un Push Slide configurado para varias vistas de página no se activará en la primera carga de página.
Verifica que tu navegador permita notificaciones (haz clic en el ícono de candado en la barra de direcciones).
Prueba en una ventana de navegación incógnito/privada por si el prompt fue rechazado previamente.
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.
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.
¿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 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.
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?
Rastrear visitantes anónimos crea usuarios duplicados de OneSignal que nunca pueden fusionarse correctamente, lo que lleva a conteos inflados de usuarios y datos fragmentados. El enfoque solo para usuarios identificados garantiza que cada usuario de OneSignal sea real y accionable.
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.
¿Esta página le ayudó?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OneSignal","description":"OneSignal is a platform for sending push notifications, emails, in-app messages, and SMS campaigns via a single API, Journey Builder, and a dashboard.","colors":{"primary":"#3A3DB3","light":"#E54B4D","dark":"#3A3DB3"},"logo":{"light":"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107","dark":"https://mintcdn.com/onesignal/s4WC_KzLxf8ornqq/logo/OneSignal-Logo-White.svg?fit=max\u0026auto=format\u0026n=s4WC_KzLxf8ornqq\u0026q=85\u0026s=2573a53b5aea961e18c82b3af8f31925"},"favicon":"https://mintcdn.com/onesignal/SGduBFHpiRdg5l6h/favicon.ico?fit=max\u0026auto=format\u0026n=SGduBFHpiRdg5l6h\u0026q=85\u0026s=c0a99fadc0553c658a83741c5611cef4","api":{"examples":{"languages":["curl","typescript","python","php","go","ruby","java","csharp","rust"],"autogenerate":true}},"navbar":{"links":[{"href":"mailto:support@onesignal.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.onesignal.com"}},"footer":{"socials":{"github":"https://github.com/OneSignal","linkedin":"https://linkedin.com/company/onesignal","youtube":"https://www.youtube.com/@onesignalofficial/playlists"}},"seo":{"metatags":{"apple-mobile-web-app-title":"OneSignal Docs"}},"fonts":{"family":"Nunito Sans"},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"ga4":{"measurementId":"G-2DGWL0VYP5"},"posthog":{"apiKey":"phc_vZpvE0f5eyzcOt30FHer34yddVmNdo9kmlMVRBzLMtn","apiHost":"https://eu.i.posthog.com","sessionRecording":true}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"languages":[{"language":"en","href":"docs/en/home"},{"language":"cn","href":"docs/cn/home"},{"language":"ko","href":"docs/ko/home"},{"language":"ja","href":"docs/ja/home"},{"language":"tr","href":"docs/tr/home"},{"language":"pt-BR","href":"docs/pt-BR/home"},{"language":"es","href":"docs/es/home"},{"language":"fr","href":"docs/fr/home"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"onesignal","hasAudioNarration":false,"actualSubdomain":"onesignal","customDomains":["documentation.onesignal.com"],"gitSource":{"type":"github","owner":"onesignal","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae52961fd814923a414a631","collectionId":"557b4321-d598-4270-86c9-36902a5eccfe","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae52961fd814923a414a631"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae52961fd814923a414a631","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"en","tag":"User Guides","count":201},{"language":"es","tag":"Guías del Usuario","count":178},{"language":"fr","tag":"Guides utilisateur","count":178},{"language":"ja","tag":"ユーザーガイド","count":178},{"language":"ko","tag":"사용자 가이드","count":178},{"language":"pt-BR","tag":"Guia do Usuário","count":178},{"language":"tr","tag":"Kullanıcı Kılavuzları","count":178},{"language":"cn","tag":"用户指南","count":176},{"language":"en","tag":"Message channels","count":90},{"language":"es","tag":"Canales de mensajería","count":84},{"language":"fr","tag":"Canaux de messagerie","count":84},{"language":"ja","tag":"メッセージングチャネル","count":84},{"language":"ko","tag":"메시지 채널","count":84},{"language":"pt-BR","tag":"Canais de mensagem","count":84},{"language":"tr","tag":"Mesaj kanalları","count":84},{"language":"cn","tag":"消息渠道","count":83},{"language":"default","tag":"API Reference","count":68},{"language":"default","tag":"API reference","count":64},{"language":"en","tag":"Analytics \u0026 Integrations","count":53},{"language":"es","tag":"Analítica \u0026 Integraciones","count":52},{"language":"fr","tag":"Analyses et intégrations","count":52},{"language":"ja","tag":"分析 \u0026 統合","count":52},{"language":"ko","tag":"분석 \u0026 통합","count":52},{"language":"pt-BR","tag":"Análises \u0026 Integrações","count":52},{"language":"tr","tag":"Analitik ve Entegrasyonlar","count":52},{"language":"cn","tag":"分析和集成","count":51},{"language":"cn","tag":"开发者指南","count":48},{"language":"es","tag":"Guías del desarrollador","count":48},{"language":"fr","tag":"Guides développeur","count":48},{"language":"ja","tag":"開発者ガイド","count":48},{"language":"ko","tag":"개발자 가이드","count":48},{"language":"tr","tag":"Geliştirici Kılavuzları","count":48},{"language":"en","tag":"Developer Guides","count":47},{"language":"pt-BR","tag":"Guia de desenvolvedor","count":47},{"language":"en","tag":"Integrations","count":37},{"language":"es","tag":"Integraciones","count":37},{"language":"fr","tag":"Intégrations","count":37},{"language":"ja","tag":"統合","count":37},{"language":"ko","tag":"통합","count":37},{"language":"pt-BR","tag":"Integrações","count":37},{"language":"tr","tag":"Entegrasyonlar","count":37},{"language":"cn","tag":"集成","count":36},{"language":"en","tag":"Tutorials","count":35},{"language":"cn","tag":"推送通知","count":31},{"language":"cn","tag":"OneSignal 作为目的地","count":31},{"language":"en","tag":"Push","count":31},{"language":"en","tag":"OneSignal as destination","count":31},{"language":"es","tag":"Push notificaciones","count":31},{"language":"es","tag":"OneSignal como destino","count":31},{"language":"fr","tag":"Push","count":31},{"language":"fr","tag":"OneSignal comme destination","count":31},{"language":"ja","tag":"プッシュ通知","count":31},{"language":"ja","tag":"OneSignal as 宛先","count":31},{"language":"ko","tag":"푸시","count":31},{"language":"ko","tag":"OneSignal을 데이터 목적지로 사용","count":31},{"language":"pt-BR","tag":"Push notificações","count":31},{"language":"pt-BR","tag":"OneSignal como destino","count":31},{"language":"tr","tag":"Anlık bildirimler","count":31},{"language":"tr","tag":"OneSignal hedef","count":31},{"language":"en","tag":"Mobile SDKs","count":26},{"language":"cn","tag":"移动SDK","count":25},{"language":"es","tag":"SDKs móviles","count":25},{"language":"fr","tag":"SDK mobiles","count":25},{"language":"ja","tag":"モバイルSDK","count":25},{"language":"ko","tag":"모바일 SDKs","count":25},{"language":"pt-BR","tag":"SDKs móveis","count":25},{"language":"tr","tag":"Mobil SDK'lar","count":25},{"language":"cn","tag":"教程","count":24},{"language":"es","tag":"Tutoriales","count":24},{"language":"fr","tag":"Tutoriels","count":24},{"language":"ja","tag":"チュートリアル","count":24},{"language":"ko","tag":"튜토리얼","count":24},{"language":"pt-BR","tag":"Tutoriais","count":24},{"language":"tr","tag":"Eğitimler","count":24},{"language":"en","tag":"Mobile SDK setup","count":19},{"language":"cn","tag":"移动SDK设置","count":18},{"language":"es","tag":"Configuración del SDK móvil","count":18},{"language":"fr","tag":"Configuration SDK mobile","count":18},{"language":"ja","tag":"モバイルSDKセットアップ","count":18},{"language":"ko","tag":"모바일 SDK 설정","count":18},{"language":"pt-BR","tag":"Configuração do SDK móvel","count":18},{"language":"tr","tag":"Mobil SDK kurulumu","count":18},{"language":"default","tag":"Messages","count":9},{"language":"default","tag":"Users","count":9},{"language":"default","tag":"Organization","count":9},{"language":"default","tag":"Journeys","count":8},{"language":"default","tag":"Deprecated","count":6},{"language":"default","tag":"Templates","count":6},{"language":"default","tag":"Subscriptions","count":6},{"language":"default","tag":"Segments","count":5}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"support@onesignal.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"docs/es/shopify","slug":"/docs/es/shopify","pageMetadata":{"title":"Integración de Shopify para push web","description":"Conecta Shopify a OneSignal mediante la integración Vendo para push web, etiquetas de clientes, eventos de comercio y segmentación por comportamiento.","keywords":["Shopify","Vendo","integración","push web","eventos personalizados","etiquetas de clientes","e-commerce","carrito abandonado"],"href":"/docs/es/shopify"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Conecta Shopify a OneSignal mediante la integración Vendo para push web, etiquetas de clientes, eventos de comercio y segmentación por comportamiento.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,Columns,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!Columns)_missingMdxReference(`Columns`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`OneSignal se ha asociado con Vendo para crear una integración de Shopify perfecta. Vendo despliega el SDK de OneSignal en tu tienda de Shopify con un solo clic — sin necesidad de editar manualmente el código del tema. Sincroniza etiquetas de clientes, eventos de navegación del lado del cliente y eventos de comercio del lado del servidor a OneSignal para que puedas crear segmentos y desencadenar campañas push basadas en comportamiento real e historial de compras.`}),`\n`,_jsxs(_components.p,{children:[`Para la documentación de Vendo, consulta `,_jsx(_components.a,{href:`https://docs.vendodata.com/destinations/onesignal/overview`,children:`Vendo OneSignal Destination`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`requisitos-previos`,children:`Requisitos previos`}),`\n`,_jsx(_components.p,{children:`Antes de comenzar, asegúrate de tener:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Una tienda Shopify con la `,_jsx(_components.a,{href:`https://apps.shopify.com/`,children:`aplicación Vendo`}),` instalada`]}),`\n`,_jsx(_components.li,{children:`Una cuenta y aplicación OneSignal (plataforma Web)`}),`\n`,_jsxs(_components.li,{children:[`Tu `,_jsx(_components.strong,{children:`App ID`}),` de OneSignal (obligatorio)`]}),`\n`,_jsxs(_components.li,{children:[`Tu `,_jsx(_components.strong,{children:`REST API Key`}),` de OneSignal (obligatoria para eventos del lado del servidor como sincronización de pedidos y etiquetado de usuarios)`]}),`\n`,_jsx(_components.li,{children:`App embed de Vendo habilitado en la configuración del tema de Shopify`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`configuración-de-onesignal`,children:`Configuración de OneSignal`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Crear una aplicación OneSignal`,children:[_jsxs(_components.p,{children:[`Inicia sesión en `,_jsx(_components.a,{href:`https://onesignal.com`,children:`onesignal.com`}),` y crea o selecciona una aplicación. Elige `,_jsx(_components.strong,{children:`Web`}),` como plataforma y selecciona `,_jsx(_components.strong,{children:`Custom Code`}),` como tipo de integración.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Debes seleccionar `,_jsx(_components.strong,{children:`Custom Code`}),`. La opción `,_jsx(_components.strong,{children:`Typical Site`}),` no expone la configuración de la ruta del service worker, por lo que el SDK intentará cargar `,_jsx(_components.code,{children:`/OneSignalSDKWorker.js`}),` desde la raíz de tu tienda — Shopify lo bloquea y las suscripciones push fallarán silenciosamente. Si ya creaste la aplicación con Typical Site, cambia a Custom Code en `,_jsx(_components.strong,{children:`Settings > Platforms > Web`}),`, o elimina y vuelve a crear la aplicación.`]})})]}),_jsxs(Step,{title:`Configurar los ajustes de push web`,children:[_jsxs(_components.p,{children:[`En tu aplicación OneSignal, navega a `,_jsx(_components.strong,{children:`Settings > Push \u0026 In-App > Web Settings`}),` o sigue la guía de `,_jsx(_components.a,{href:`/docs/es/web-push-setup`,children:`configuración de push web`}),`.`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Configuración del sitio`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Site Name`}),`: El nombre de tu tienda, usado como título de notificación predeterminado.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Site URL`}),`: La URL accesible públicamente de tu tienda Shopify (p. ej., `,_jsx(_components.code,{children:`https://yourstore.com`}),`).`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Debe ser el `,_jsx(_components.a,{href:`https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy`,children:`origen`}),` exacto de tu sitio.`]}),`\n`,_jsxs(_components.li,{children:[`No uses `,_jsx(_components.code,{children:`https://your-site.myshopify.com/`}),` si los clientes acceden a tu sitio a través de un dominio personalizado como `,_jsx(_components.code,{children:`https://your-site.com/`}),`.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Default Icon URL`}),`: Sube un PNG, JPG o GIF no animado cuadrado de `,_jsx(_components.code,{children:`256×256`}),` que aparece en notificaciones y prompts. Si no se configura, se usa un ícono de campana como predeterminado. Consulta `,_jsx(_components.a,{href:`/docs/es/notification-icons#web-notification-icons`,children:`Iconos de notificación`}),`.`]}),`\n`]})]}),_jsxs(Step,{title:`Configurar la ruta del service worker`,children:[_jsx(_components.p,{children:`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.`}),_jsxs(_components.p,{children:[`En OneSignal, ve a `,_jsx(_components.strong,{children:`Settings > Push \u0026 In-App > Web Settings`}),`, desplázate hasta `,_jsx(_components.strong,{children:`Advanced Push Settings`}),`, activa `,_jsx(_components.strong,{children:`Customize service worker paths and filenames`}),` y luego configura:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Ajuste`}),_jsx(_components.th,{children:`Valor`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Path to service worker files`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`/apps/vendo/`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Main service worker filename`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`OneSignalSDKWorker.js`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Updater service worker filename`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`OneSignalSDKWorker.js`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Service worker registration scope`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`/apps/vendo/`})})]})]})]}),_jsx(Frame,{caption:`Configuración del service worker para tiendas Shopify que usan Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=b7bc1794445e002bd3427c94a6ec6ccf`,alt:`OneSignal Advanced Push Settings showing service worker paths configured for Vendo`,\"data-og-width\":`3038`,width:`3038`,\"data-og-height\":`1108`,height:`1108`,\"data-path\":`images/integrations/shopify/vendo-service-worker-configuration.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=280\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=f9f035641926065e0143a813b32f97cd 280w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=560\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=1388d484dca925c629b100fb846276c8 560w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=840\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=77b96e7af65f0af82537ea1d5dfcbb6f 840w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=1100\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=1e3b388f7aed2ea888597d3ed2895bc7 1100w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=1650\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=77bd6af31b6109d131225c8fe852badd 1650w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=2500\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=4c669b0f4b6f23abd7666f2338ac07ce 2500w`})}),_jsxs(_components.p,{children:[`Vendo sirve automáticamente el archivo `,_jsx(_components.code,{children:`OneSignalSDKWorker.js`}),` requerido en `,_jsx(_components.code,{children:`https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js`}),` — no se necesitan cargas manuales de archivos.`]}),_jsxs(Note,{children:[_jsxs(_components.p,{children:[`La página `,_jsx(_components.strong,{children:`OneSignal > Push Settings`}),` de la aplicación Vendo muestra estos valores exactos con opción de copiar con un clic, por lo que no necesitas volver a escribirlos.`]}),_jsx(_components.p,{children:`El Updater Filename y el Main Service Worker Filename son el mismo archivo. OneSignal v16+ usa un único service worker para ambos propósitos.`})]})]}),_jsx(Step,{title:`Copiar tus credenciales`,children:_jsxs(_components.p,{children:[`En OneSignal, ve a `,_jsx(_components.a,{href:`/docs/es/keys-and-ids`,children:_jsx(_components.strong,{children:`Settings > Keys \u0026 IDs`})}),` y copia tu `,_jsx(_components.strong,{children:`App ID`}),` y `,_jsx(_components.strong,{children:`REST API Key`}),`. Los ingresarás en Vendo.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`configuración-de-vendo`,children:`Configuración de Vendo`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Instalar la aplicación Vendo`,children:_jsx(_components.p,{children:`Instala la aplicación Vendo desde el Shopify App Store.`})}),_jsxs(Step,{title:`Agregar la integración OneSignal`,children:[_jsxs(_components.p,{children:[`En Vendo, navega a `,_jsx(_components.strong,{children:`Destinations > OneSignal`}),`.`]}),_jsx(Frame,{caption:`Agregar la integración OneSignal en Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=13acfaf4e6b01f77535f1a1386c4212d`,alt:`Vendo Integrations page showing the OneSignal integration option`,\"data-og-width\":`2520`,width:`2520`,\"data-og-height\":`1756`,height:`1756`,\"data-path\":`images/integrations/shopify/vendo-onesignal-integrations.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=280\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=094d74aa6803a73332fece950acf2220 280w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=560\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=a0db5dcf258f52557d8081d4143790b0 560w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=840\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=a6bbbdfc27769e5d1d45711ac85ef16a 840w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=1100\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=bf548380a6bcbbb3c008a74ec1ab270d 1100w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=1650\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=4d1949cdcae2c3867ea83ce58cc112f9 1650w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=2500\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=641ebffe4be3aa129aaf4ce1cb50dd1b 2500w`})})]}),_jsx(Step,{title:`Ingresar tus credenciales de OneSignal`,children:_jsxs(_components.p,{children:[`Ingresa tu `,_jsx(_components.strong,{children:`App ID`}),` y `,_jsx(_components.strong,{children:`REST API Key`}),` de OneSignal de la sección anterior, luego haz clic en `,_jsx(_components.strong,{children:`Save`}),`.`]})}),_jsxs(Step,{title:`Activar el bloque de tema Vendo`,children:[_jsx(_components.p,{children:`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á.`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`En tu administrador de Shopify, ve a `,_jsx(_components.strong,{children:`Online Store > Themes > Customize`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Haz clic en `,_jsx(_components.strong,{children:`App embeds`}),` (ícono de pieza de rompecabezas en la barra lateral izquierda).`]}),`\n`,_jsxs(_components.li,{children:[`Activa `,_jsx(_components.strong,{children:`Vendo`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Haz clic en `,_jsx(_components.strong,{children:`Save`}),`.`]}),`\n`]}),_jsx(_components.p,{children:`El bloque de tema gestiona la inicialización del SDK, el registro del service worker, la visualización del prompt push, la identificación de usuarios (suscripción push, inicio de sesión, registro en newsletter) y la sincronización de etiquetas para usuarios identificados.`})]}),_jsx(Step,{title:`Seleccionar eventos a sincronizar`,children:_jsxs(_components.p,{children:[`En la aplicación Vendo bajo `,_jsx(_components.strong,{children:`OneSignal > Events`}),`, activa los eventos del lado del cliente y del servidor que deseas enviar a OneSignal. Consulta `,_jsx(_components.a,{href:`#tracking`,children:`Seguimiento`}),` a continuación para la lista completa de eventos.`]})}),_jsxs(Step,{title:`Configurar los prompts push`,children:[_jsxs(_components.p,{children:[`Si cada prompt aparece en tu tienda — y cuándo — se controla desde la aplicación Vendo, no desde el panel de OneSignal. En la aplicación Vendo, abre `,_jsx(_components.strong,{children:`OneSignal > Push Settings`}),`. Verás cuatro secciones, cada una con su propio interruptor:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Sección`}),_jsx(_components.th,{children:`Qué hace`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Subscription Bell`})}),_jsx(_components.td,{children:`Ícono de campana flotante en el que los visitantes pueden hacer clic para suscribirse en cualquier momento`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Push Slide Prompt`})}),_jsx(_components.td,{children:`Banner deslizante con tu marca que solicita permiso para push`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Native Browser Prompt`})}),_jsx(_components.td,{children:`Activa directamente el diálogo de permiso integrado del navegador`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Welcome Notification`})}),_jsx(_components.td,{children:`Notificación push enviada automáticamente cuando un visitante se suscribe`})]})]})]}),_jsxs(_components.p,{children:[`Para los prompts Push Slide y Native, también estableces `,_jsx(_components.strong,{children:`triggers`}),` — cuántas vistas de página y cuántos segundos esperar antes de que se active el prompt. Los valores predeterminados razonables ya están precargados.`]}),_jsxs(_components.p,{children:[`Los cuatro prompts están `,_jsx(_components.strong,{children:`desactivados por defecto`}),` — habilita solo los que quieras. Guarda una vez al final de la página; los cambios surten efecto en la siguiente carga de la tienda sin volver a desplegar el tema.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`El texto de los botones del prompt, el texto del mensaje de acción, los íconos y las opciones avanzadas como pruebas A/B y localización se configuran en el panel de OneSignal. Desde Push Settings de Vendo, haz clic en `,_jsx(_components.strong,{children:`Open OneSignal Dashboard`}),` para ir directamente a la página de Permission Prompt Setup. Si un prompt está configurado en el panel de OneSignal pero su interruptor en Vendo está desactivado, no se mostrará — el interruptor de Vendo es la fuente de verdad para la visibilidad.`]})})]}),_jsxs(Step,{title:`Sincronización de datos históricos (opcional)`,children:[_jsx(_components.p,{children:`Vendo puede rellenar retroactivamente clientes existentes e historial de pedidos recientes en OneSignal. Esto ocurre automáticamente en segundo plano después de guardar tus credenciales.`}),_jsx(Frame,{caption:`Opciones de sincronización de datos históricos en Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=4eb61a384a7ac3f4596661348f98ac48`,alt:`Vendo historical data settings showing sync options for Shopify data`,\"data-og-width\":`1724`,width:`1724`,\"data-og-height\":`762`,height:`762`,\"data-path\":`images/integrations/shopify/vendo-historical-data.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=280\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=033f4c21ac8b9d1095228df3f4002766 280w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=560\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=b2c532afd8ae302675689113f55dd756 560w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=840\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=458b756d712d8606a6d2929bfe8f3671 840w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=1100\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=1835889af2b5075bd9662932d19e6bf6 1100w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=1650\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=7c5a11069ffbf3ac0af33a530f4f6ef2 1650w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=2500\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=5d81cb48d8760e6c334c51857eee2e83 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`seguimiento`,children:`Seguimiento`}),`\n`,_jsx(Heading,{level:`3`,id:`identificación-de-usuarios`,children:`Identificación de usuarios`}),`\n`,_jsxs(_components.p,{children:[`Vendo utiliza un enfoque `,_jsx(_components.strong,{children:`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.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Método`}),_jsx(_components.th,{children:`Cómo funciona`}),_jsx(_components.th,{children:`Identificador usado`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Suscripción push web`})}),_jsx(_components.td,{children:`El visitante hace clic en “Permitir” en el prompt push. OneSignal crea un usuario automáticamente y Vendo captura el ID de OneSignal.`}),_jsx(_components.td,{children:`OneSignal ID`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Registro en newsletter`})}),_jsxs(_components.td,{children:[`El visitante envía un formulario de newsletter o correo electrónico. Vendo captura el email y llama a `,_jsx(_components.code,{children:`OneSignal.login(email)`}),`.`]}),_jsx(_components.td,{children:`Email`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Inicio de sesión del cliente`})}),_jsxs(_components.td,{children:[`El cliente inicia sesión en su cuenta de Shopify. Vendo lo detecta y llama a `,_jsx(_components.code,{children:`OneSignal.login()`}),` con el identificador configurado.`]}),_jsx(_components.td,{children:`Shopify Customer ID o Email`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Compra completada`})}),_jsxs(_components.td,{children:[`El cliente completa una compra. Vendo almacena el identificador y llama a `,_jsx(_components.code,{children:`OneSignal.login()`}),`.`]}),_jsx(_components.td,{children:`Shopify Customer ID o Email`})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Si tienes una aplicación móvil o conexiones de terceros, selecciona el identificador (Shopify Customer ID vs. Email) que coincida con tus otras herramientas para que los perfiles de usuario permanezcan consistentes entre plataformas. Configúralo en la aplicación Vendo bajo `,_jsx(_components.strong,{children:`Settings > Customer Identifier`}),`.`]})}),`\n`,_jsx(Heading,{level:`4`,id:`fusión-de-identidades`,children:`Fusión de identidades`}),`\n`,_jsxs(_components.p,{children:[`Si un suscriptor push (identificado por el ID de OneSignal) luego inicia sesión o completa una compra, Vendo llama a `,_jsx(_components.code,{children:`OneSignal.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.`]}),`\n`,_jsx(Heading,{level:`3`,id:`etiquetas-de-clientes`,children:`Etiquetas de clientes`}),`\n`,_jsxs(_components.p,{children:[`Vendo sincroniza las propiedades del cliente como `,_jsx(_components.a,{href:`/docs/es/add-user-data-tags`,children:`etiquetas`}),` en OneSignal para segmentación. Todos los valores se almacenan como cadenas (formato nativo de OneSignal).`]}),`\n`,_jsx(Heading,{level:`4`,id:`identidad-y-perfil`,children:`Identidad y perfil`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Etiqueta`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:`Email del cliente`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`first_name`})}),_jsx(_components.td,{children:`Nombre`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`last_name`})}),_jsx(_components.td,{children:`Apellido`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`phone`})}),_jsx(_components.td,{children:`Número de teléfono del cliente`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`shopify_customer_id`})}),_jsx(_components.td,{children:`ID de cliente de Shopify`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`verified_email`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`\"true\"`}),` o `,_jsx(_components.code,{children:`\"false\"`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tax_exempt`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`\"true\"`}),` o `,_jsx(_components.code,{children:`\"false\"`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`customer_tags`})}),_jsx(_components.td,{children:`Etiquetas de Shopify separadas por comas`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`customer_created_at`})}),_jsx(_components.td,{children:`Fecha de creación del cliente (ISO 8601)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`first_seen`})}),_jsx(_components.td,{children:`Marca de tiempo ISO del primer evento de identificación`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`consentimiento-de-marketing`,children:`Consentimiento de marketing`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Etiqueta`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`marketing_state`})}),_jsx(_components.td,{children:`Estado general de consentimiento de marketing`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email_marketing_consent`})}),_jsx(_components.td,{children:`Estado de consentimiento de marketing por email`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`estadísticas-de-comercio`,children:`Estadísticas de comercio`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Etiqueta`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`total_spent`})}),_jsx(_components.td,{children:`Gasto total de por vida`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_count`})}),_jsx(_components.td,{children:`Total de pedidos`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`first_order_date`})}),_jsx(_components.td,{children:`Fecha del primer pedido (ISO 8601)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`last_order_date`})}),_jsx(_components.td,{children:`Fecha del pedido más reciente (ISO 8601)`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`etiquetas-de-atribución`,children:`Etiquetas de atribución`}),`\n`,_jsxs(_components.p,{children:[`Vendo captura los parámetros UTM y los IDs de clic en el checkout y los sincroniza como etiquetas. Los valores de último toque se sobrescriben en cada checkout; los valores de primer toque (`,_jsx(_components.code,{children:`initial_utm_*`}),`) se escriben solo una vez.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Etiqueta`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_source`})}),_jsx(_components.td,{children:`Fuente UTM de último toque`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_medium`})}),_jsx(_components.td,{children:`Medio UTM de último toque`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_campaign`})}),_jsx(_components.td,{children:`Campaña UTM de último toque`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_content`})}),_jsx(_components.td,{children:`Contenido UTM de último toque`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_term`})}),_jsx(_components.td,{children:`Término UTM de último toque`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`initial_utm_source`})}),_jsx(_components.td,{children:`Fuente UTM de primer toque (se establece una vez)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`initial_utm_medium`})}),_jsx(_components.td,{children:`Medio UTM de primer toque (se establece una vez)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`initial_utm_campaign`})}),_jsx(_components.td,{children:`Campaña UTM de primer toque (se establece una vez)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`gclid`})}),_jsx(_components.td,{children:`ID de clic de Google Ads`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fbclid`})}),_jsx(_components.td,{children:`ID de clic de Meta (Facebook/Instagram)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ttclid`})}),_jsx(_components.td,{children:`ID de clic de TikTok`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`msclkid`})}),_jsx(_components.td,{children:`ID de clic de Microsoft Ads`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`membresía-de-segmentos`,children:`Membresía de segmentos`}),`\n`,_jsxs(_components.p,{children:[`Vendo puede sincronizar la membresía de segmentos de Shopify como etiquetas en el formato `,_jsx(_components.code,{children:`shopify_segment_{segment_id}`}),` con un valor de `,_jsx(_components.code,{children:`\"true\"`}),`. Consulta la `,_jsx(_components.a,{href:`https://docs.vendodata.com/destinations/onesignal/events-and-properties`,children:`referencia de Events \u0026 Properties de Vendo`}),` para detalles sobre cómo ejecutar la sincronización.`]}),`\n`,_jsx(Heading,{level:`3`,id:`eventos-del-lado-del-cliente`,children:`Eventos del lado del cliente`}),`\n`,_jsxs(_components.p,{children:[`Vendo rastrea `,_jsx(_components.a,{href:`/docs/es/custom-events`,children:`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.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Evento`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`page_viewed`})}),_jsx(_components.td,{children:`El cliente visita una página (tienda, checkout o estado de pedido)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`product_viewed`})}),_jsx(_components.td,{children:`El cliente ve una página de detalles de producto`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`collection_viewed`})}),_jsx(_components.td,{children:`El cliente ve una página de colección de productos`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`search_submitted`})}),_jsx(_components.td,{children:`El cliente realiza una búsqueda en la tienda`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`product_added_to_cart`})}),_jsx(_components.td,{children:`Un producto se agrega al carrito`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`product_removed_from_cart`})}),_jsx(_components.td,{children:`Un producto se elimina del carrito`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cart_viewed`})}),_jsx(_components.td,{children:`El cliente ve la página del carrito`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_started`})}),_jsx(_components.td,{children:`El cliente inicia el proceso de pago`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_contact_info_submitted`})}),_jsx(_components.td,{children:`Paso de información de contacto enviado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_address_info_submitted`})}),_jsx(_components.td,{children:`Paso de información de dirección enviado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_shipping_info_submitted`})}),_jsx(_components.td,{children:`Método de envío seleccionado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`payment_info_submitted`})}),_jsx(_components.td,{children:`Detalles de pago enviados`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_completed`})}),_jsx(_components.td,{children:`Pago completado exitosamente`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`alert_displayed`})}),_jsx(_components.td,{children:`Alerta o advertencia mostrada en el checkout`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ui_extension_errored`})}),_jsx(_components.td,{children:`Error en tiempo de ejecución de una extensión de UI del checkout`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`all_custom_events`})}),_jsx(_components.td,{children:`Eventos personalizados de clientes de Shopify`})]})]})]}),`\n`,_jsx(Frame,{caption:`Configuración de eventos del lado del cliente en Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=c94b99465b8c200ebb1bb475e492f8a1`,alt:`Vendo client-side events settings showing available custom events`,\"data-og-width\":`865`,width:`865`,\"data-og-height\":`726`,height:`726`,\"data-path\":`images/integrations/shopify/vendo-client-side-events.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=280\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=d1e41237a617cf28a37896112a3eaf2c 280w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=560\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=8b40389eb561959186fd8e0d6cabd121 560w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=840\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=99ccb2f69828386a1e094e78b9901911 840w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=1100\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=ef9ed5e02a0c42aeff7af27634a6e0e5 1100w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=1650\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=ae5621c278b99321f00fe51d794e56db 1650w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=2500\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=0b6f72a0bbbc2a21f1e0048cad374389 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`eventos-del-lado-del-servidor`,children:`Eventos del lado del servidor`}),`\n`,_jsxs(_components.p,{children:[`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 como `,_jsx(_components.code,{children:`external_id`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Evento`}),_jsx(_components.th,{children:`Descripción`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_received`})}),_jsx(_components.td,{children:`Se crea un nuevo pedido`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_fulfilled`})}),_jsx(_components.td,{children:`El pedido está cumplido/enviado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_delivered`})}),_jsx(_components.td,{children:`El pedido está entregado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_refunded`})}),_jsx(_components.td,{children:`El pedido está completamente reembolsado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_partially_refunded`})}),_jsx(_components.td,{children:`El pedido está parcialmente reembolsado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cart_abandoned`})}),_jsx(_components.td,{children:`El checkout es abandonado`})]})]})]}),`\n`,_jsx(Frame,{caption:`Configuración de eventos del lado del servidor en Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=c9bed30c26b0bec3b8a53eb8cde8098d`,alt:`Vendo server-side events settings showing available Shopify webhook events`,\"data-og-width\":`865`,width:`865`,\"data-og-height\":`394`,height:`394`,\"data-path\":`images/integrations/shopify/vendo-server-side-events.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=280\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=690636fef91b80a933c4eead29bd4ae1 280w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=560\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=a3a6abf2812eed57c9ef6679210bc3aa 560w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=840\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=54af0946d01f41d8019a0b0f7a50070c 840w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=1100\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=e86d2c7e36e1bd0ec147df3a8a40aada 1100w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=1650\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=91583da7d36d3afa45c01bb092e31709 1650w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=2500\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=46ebfe07dbe982664ad947a97a2c2384 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`detalles-de-la-plataforma`,children:`Detalles de la plataforma`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Ajuste`}),_jsx(_components.th,{children:`Valor`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Método de sincronización`}),_jsx(_components.td,{children:`Cliente + lado del servidor vía Vendo`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Identidad`}),_jsx(_components.td,{children:`Shopify Customer ID, Email u OneSignal ID`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Deduplicación`}),_jsx(_components.td,{children:`Hash UUID v5 por evento`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tamaño del lote`}),_jsx(_components.td,{children:`1,000 eventos por solicitud`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Formato de datos`}),_jsx(_components.td,{children:`Todos los valores almacenados como cadenas`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`casos-de-uso`,children:`Casos de uso`}),`\n`,_jsx(Heading,{level:`3`,id:`recuperación-de-carrito-abandonado`,children:`Recuperación de carrito abandonado`}),`\n`,_jsxs(_components.p,{children:[`Crea un `,_jsx(_components.a,{href:`/docs/es/journeys-overview`,children:`Journey`}),` desencadenado por el evento `,_jsx(_components.code,{children:`cart_abandoned`}),`. Espera 1 hora después del abandono, luego envía una notificación push con el enlace de recuperación usando la propiedad `,_jsx(_components.code,{children:`checkout_url`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`actualizaciones-del-estado-del-pedido`,children:`Actualizaciones del estado del pedido`}),`\n`,_jsxs(_components.p,{children:[`Crea Journeys para `,_jsx(_components.code,{children:`order_fulfilled`}),` y `,_jsx(_components.code,{children:`order_delivered`}),` para enviar notificaciones push inmediatas con información de seguimiento cuando los pedidos se envían y llegan.`]}),`\n`,_jsx(Heading,{level:`3`,id:`engagement-de-clientes-vip`,children:`Engagement de clientes VIP`}),`\n`,_jsxs(_components.p,{children:[`Crea un `,_jsx(_components.a,{href:`/docs/es/segmentation`,children:`segmento`}),` donde `,_jsx(_components.code,{children:`total_spent`}),` sea mayor que un umbral, luego envía ofertas exclusivas personalizadas con la etiqueta `,_jsx(_components.code,{children:`first_name`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`campañas-de-reactivación`,children:`Campañas de reactivación`}),`\n`,_jsxs(_components.p,{children:[`Dirige a clientes inactivos creando un segmento donde `,_jsx(_components.code,{children:`last_order_date`}),` sea hace más de 90 días y envía campañas de reconquista.`]}),`\n`,_jsx(Heading,{level:`2`,id:`fuentes-compatibles`,children:`Fuentes compatibles`}),`\n`,_jsx(_components.p,{children:`OneSignal funciona con las siguientes fuentes de datos de Vendo:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Fuente`}),_jsx(_components.th,{children:`Eventos`}),_jsx(_components.th,{children:`Etiquetas de usuario`}),_jsx(_components.th,{children:`Audiencias`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Shopify`}),_jsx(_components.td,{children:`Sí`}),_jsx(_components.td,{children:`Sí`}),_jsx(_components.td,{children:`Sí`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Stripe`}),_jsx(_components.td,{children:`Próximamente`}),_jsx(_components.td,{children:`Próximamente`}),_jsx(_components.td,{children:`Próximamente`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mixpanel`}),_jsx(_components.td,{children:`Próximamente`}),_jsx(_components.td,{children:`Próximamente`}),_jsx(_components.td,{children:`Próximamente`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Amplitude`}),_jsx(_components.td,{children:`Próximamente`}),_jsx(_components.td,{children:`Próximamente`}),_jsx(_components.td,{children:`Próximamente`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`pruebas`,children:`Pruebas`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Verificar el service worker`,children:[_jsxs(_components.p,{children:[`Visita `,_jsx(_components.code,{children:`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 y que el bloque de tema esté habilitado.`]}),_jsxs(_components.p,{children:[`También puedes abrir el DevTools del navegador (`,_jsx(_components.strong,{children:`F12`}),`), ir a `,_jsx(_components.strong,{children:`Application > Service Workers`}),` y confirmar que `,_jsx(_components.code,{children:`OneSignalSDKWorker.js`}),` está registrado con un scope de `,_jsx(_components.code,{children:`/apps/vendo/`}),`.`]})]}),_jsx(Step,{title:`Probar el prompt push`,children:_jsxs(_components.p,{children:[`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 `,_jsx(_components.strong,{children:`Permitir`}),` para suscribirte.`]})}),_jsx(Step,{title:`Enviar una notificación de prueba`,children:_jsxs(_components.p,{children:[`En el panel de OneSignal, ve a `,_jsx(_components.strong,{children:`Messages > New Push`}),`. Envía una notificación de prueba a tu suscriptor y verifica que aparezca.`]})}),_jsx(Step,{title:`Verificar datos de usuario en OneSignal`,children:_jsxs(_components.p,{children:[`Ve a `,_jsx(_components.strong,{children:`Audience > All Users`}),` y confirma que tu usuario de prueba aparece. Verifica que las etiquetas de usuario (email, nombre, etc.) se están sincronizando para usuarios identificados.`]})}),_jsx(Step,{title:`Desencadenar un evento de prueba`,children:_jsx(_components.p,{children:`Navega por un producto o completa un checkout de prueba en tu tienda. Confirma que el evento aparece en la actividad del usuario en el panel de OneSignal.`})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`solución-de-problemas`,children:`Solución de problemas`}),`\n`,_jsx(Heading,{level:`3`,id:`el-service-worker-devuelve-404`,children:`El service worker devuelve 404`}),`\n`,_jsxs(_components.p,{children:[`El service worker debe estar en `,_jsx(_components.code,{children:`/apps/vendo/OneSignalSDKWorker.js`}),`. Si ves un error 404 en la ruta raíz (`,_jsx(_components.code,{children:`/OneSignalSDKWorker.js`}),`), la ruta del service worker no está configurada en OneSignal — sigue el `,_jsx(_components.a,{href:`#configure-the-service-worker-path`,children:`paso de configuración del service worker`}),`. Si el 404 está en la ruta `,_jsx(_components.code,{children:`/apps/vendo/`}),`, verifica que la aplicación Vendo esté instalada y el bloque de tema esté habilitado.`]}),`\n`,_jsx(Heading,{level:`3`,id:`se-seleccionó-“typical-site”-durante-la-configuración-de-onesignal`,children:`Se seleccionó “Typical Site” durante la configuración de OneSignal`}),`\n`,_jsxs(_components.p,{children:[`Vendo requiere el tipo de integración `,_jsx(_components.strong,{children:`Custom Code`}),`. Typical Site no expone la configuración de la ruta del service worker, por lo que el SDK intentará cargar `,_jsx(_components.code,{children:`/OneSignalSDKWorker.js`}),` desde la raíz de tu tienda — Shopify lo bloquea y las suscripciones push fallarán silenciosamente.`]}),`\n`,_jsxs(_components.p,{children:[`Solución: en el panel de OneSignal, cambia el tipo de integración de la aplicación a Custom Code en `,_jsx(_components.strong,{children:`Settings > Platforms > Web`}),`, o elimina la aplicación y vuelve a crearla usando Custom Code desde el principio.`]}),`\n`,_jsx(Heading,{level:`3`,id:`el-prompt-push-no-aparece`,children:`El prompt push no aparece`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Verifica que el bloque de tema Vendo esté habilitado en `,_jsx(_components.strong,{children:`App embeds`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`En la aplicación Vendo bajo `,_jsx(_components.strong,{children:`OneSignal > Push Settings`}),`, confirma que al menos un interruptor de prompt (Subscription Bell, Push Slide Prompt o Native Browser Prompt) esté activado — los cuatro están desactivados por defecto.`]}),`\n`,_jsx(_components.li,{children:`Comprueba el retraso del trigger — un Push Slide configurado para varias vistas de página no se activará en la primera carga de página.`}),`\n`,_jsx(_components.li,{children:`Verifica que tu navegador permita notificaciones (haz clic en el ícono de candado en la barra de direcciones).`}),`\n`,_jsx(_components.li,{children:`Prueba en una ventana de navegación incógnito/privada por si el prompt fue rechazado previamente.`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`las-etiquetas-no-aparecen-en-onesignal`,children:`Las etiquetas no aparecen en OneSignal`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(Heading,{level:`3`,id:`los-eventos-no-se-disparan`,children:`Los eventos no se disparan`}),`\n`,_jsxs(_components.p,{children:[`Verifica que los eventos estén habilitados en la aplicación Vendo bajo `,_jsx(_components.strong,{children:`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.`]}),`\n`,_jsx(Heading,{level:`3`,id:`las-notificaciones-muestran-“entregado”-pero-no-aparecen`,children:`Las notificaciones muestran “Entregado” pero no aparecen`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`preguntas-frecuentes`,children:`Preguntas frecuentes`}),`\n`,_jsx(Heading,{level:`3`,id:`¿puedo-cambiar-el-identificador-de-cliente-después-de-la-configuración`,children:`¿Puedo cambiar el identificador de cliente después de la configuración?`}),`\n`,_jsxs(_components.p,{children:[`Sí. Actualiza el ajuste en la aplicación Vendo bajo `,_jsx(_components.strong,{children:`Settings > Customer Identifier`}),`. Cambiar el identificador puede crear perfiles de usuario separados si los usuarios existentes ya fueron identificados con el método anterior.`]}),`\n`,_jsx(Heading,{level:`3`,id:`¿la-integración-vendo-admite-aplicaciones-móviles`,children:`¿La integración Vendo admite aplicaciones móviles?`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(Heading,{level:`3`,id:`¿qué-pasa-si-un-visitante-nunca-es-identificado`,children:`¿Qué pasa si un visitante nunca es identificado?`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(Heading,{level:`3`,id:`¿por-qué-vendo-usa-un-enfoque-solo-para-usuarios-identificados`,children:`¿Por qué Vendo usa un enfoque solo para usuarios identificados?`}),`\n`,_jsx(_components.p,{children:`Rastrear visitantes anónimos crea usuarios duplicados de OneSignal que nunca pueden fusionarse correctamente, lo que lleva a conteos inflados de usuarios y datos fragmentados. El enfoque solo para usuarios identificados garantiza que cada usuario de OneSignal sea real y accionable.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`páginas-relacionadas`,children:`Páginas relacionadas`}),`\n`,_jsxs(Columns,{cols:2,children:[_jsx(Card,{title:`Keys \u0026 IDs`,icon:`key`,href:`/docs/es/keys-and-ids`,children:_jsx(_components.p,{children:`Encuentra tu App ID de OneSignal y clave REST API.`})}),_jsx(Card,{title:`Eventos personalizados`,icon:`bolt`,href:`/docs/es/custom-events`,children:_jsx(_components.p,{children:`Rastrea el comportamiento del usuario y desencadena automatizaciones basadas en eventos de Shopify.`})}),_jsx(Card,{title:`Configuración push web`,icon:`globe`,href:`/docs/es/web-push-setup`,children:_jsx(_components.p,{children:`Configura notificaciones push web para tu tienda Shopify.`})}),_jsx(Card,{title:`Prompts de permiso web`,icon:`bell`,href:`/docs/es/permission-requests`,children:_jsx(_components.p,{children:`Configura cómo y cuándo solicitar a los visitantes permiso para push web.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Integración de Shopify para push web","description":"Conecta Shopify a OneSignal mediante la integración Vendo para push web, etiquetas de clientes, eventos de comercio y segmentación por comportamiento.","keywords":["Shopify","Vendo","integración","push web","eventos personalizados","etiquetas de clientes","e-commerce","carrito abandonado"],"href":"/docs/es/shopify"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Requisitos previos","slug":"requisitos-previos","depth":2,"children":[]},{"title":"Configuración de OneSignal","slug":"configuración-de-onesignal","depth":2,"children":[]},{"title":"Configuración de Vendo","slug":"configuración-de-vendo","depth":2,"children":[]},{"title":"Seguimiento","slug":"seguimiento","depth":2,"children":[{"title":"Identificación de usuarios","slug":"identificación-de-usuarios","depth":3,"children":[]},{"title":"Fusión de identidades","slug":"fusión-de-identidades","depth":4,"children":[]},{"title":"Etiquetas de clientes","slug":"etiquetas-de-clientes","depth":3,"children":[]},{"title":"Identidad y perfil","slug":"identidad-y-perfil","depth":4,"children":[]},{"title":"Consentimiento de marketing","slug":"consentimiento-de-marketing","depth":4,"children":[]},{"title":"Estadísticas de comercio","slug":"estadísticas-de-comercio","depth":4,"children":[]},{"title":"Etiquetas de atribución","slug":"etiquetas-de-atribución","depth":4,"children":[]},{"title":"Membresía de segmentos","slug":"membresía-de-segmentos","depth":4,"children":[]},{"title":"Eventos del lado del cliente","slug":"eventos-del-lado-del-cliente","depth":3,"children":[]},{"title":"Eventos del lado del servidor","slug":"eventos-del-lado-del-servidor","depth":3,"children":[]}]},{"title":"Detalles de la plataforma","slug":"detalles-de-la-plataforma","depth":2,"children":[]},{"title":"Casos de uso","slug":"casos-de-uso","depth":2,"children":[{"title":"Recuperación de carrito abandonado","slug":"recuperación-de-carrito-abandonado","depth":3,"children":[]},{"title":"Actualizaciones del estado del pedido","slug":"actualizaciones-del-estado-del-pedido","depth":3,"children":[]},{"title":"Engagement de clientes VIP","slug":"engagement-de-clientes-vip","depth":3,"children":[]},{"title":"Campañas de reactivación","slug":"campañas-de-reactivación","depth":3,"children":[]}]},{"title":"Fuentes compatibles","slug":"fuentes-compatibles","depth":2,"children":[]},{"title":"Pruebas","slug":"pruebas","depth":2,"children":[]},{"title":"Solución de problemas","slug":"solución-de-problemas","depth":2,"children":[{"title":"El service worker devuelve 404","slug":"el-service-worker-devuelve-404","depth":3,"children":[]},{"title":"Se seleccionó “Typical Site” durante la configuración de OneSignal","slug":"se-seleccionó-“typical-site”-durante-la-configuración-de-onesignal","depth":3,"children":[]},{"title":"El prompt push no aparece","slug":"el-prompt-push-no-aparece","depth":3,"children":[]},{"title":"Las etiquetas no aparecen en OneSignal","slug":"las-etiquetas-no-aparecen-en-onesignal","depth":3,"children":[]},{"title":"Los eventos no se disparan","slug":"los-eventos-no-se-disparan","depth":3,"children":[]},{"title":"Las notificaciones muestran “Entregado” pero no aparecen","slug":"las-notificaciones-muestran-“entregado”-pero-no-aparecen","depth":3,"children":[]}]},{"title":"Preguntas frecuentes","slug":"preguntas-frecuentes","depth":2,"children":[{"title":"¿Puedo cambiar el identificador de cliente después de la configuración?","slug":"¿puedo-cambiar-el-identificador-de-cliente-después-de-la-configuración","depth":3,"children":[]},{"title":"¿La integración Vendo admite aplicaciones móviles?","slug":"¿la-integración-vendo-admite-aplicaciones-móviles","depth":3,"children":[]},{"title":"¿Qué pasa si un visitante nunca es identificado?","slug":"¿qué-pasa-si-un-visitante-nunca-es-identificado","depth":3,"children":[]},{"title":"¿Por qué Vendo usa un enfoque solo para usuarios identificados?","slug":"¿por-qué-vendo-usa-un-enfoque-solo-para-usuarios-identificados","depth":3,"children":[]}]},{"title":"Páginas relacionadas","slug":"páginas-relacionadas","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/onesignal/e069c1b9f3157e14/hotjar-koala.js","/_mintlify/custom/onesignal/3e5d03885ab32f49/intercom.js","/_mintlify/custom/onesignal/dbb7af4794d1b586/munchkin-marketo.js"],"subdomain":"onesignal","siteName":"OneSignal","title":"Integración de Shopify para push web - OneSignal","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/docs/en/shopify","matchLevel":1},"cn":{"href":"/docs/cn/shopify","matchLevel":1},"ko":{"href":"/docs/ko/shopify","matchLevel":1},"ja":{"href":"/docs/ja/shopify","matchLevel":1},"tr":{"href":"/docs/tr/shopify","matchLevel":1},"pt-BR":{"href":"/docs/pt-BR/shopify","matchLevel":1},"es":{"href":"/docs/es/shopify","matchLevel":0},"fr":{"href":"/docs/fr/shopify","matchLevel":1}}},"lastModified":"2026-08-28T18:16:26.526Z","originalFileLocation":"docs/es/shopify.mdx","locale":"es"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Conecta Shopify a OneSignal mediante la integración Vendo para push web, etiquetas de clientes, eventos de comercio y segmentación por comportamiento.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OneSignal\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Integración de Shopify para push web - OneSignal\">\u003cmeta data-mint-head property=\"og:description\" content=\"Conecta Shopify a OneSignal mediante la integración Vendo para push web, etiquetas de clientes, eventos de comercio y segmentación por comportamiento.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OneSignal\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://documentation.onesignal.com/docs/es/shopify\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://onesignal.mintlify.app/_mintlify/api/og/v2?division=Push+web\u0026amp;title=Integraci%C3%B3n+de+Shopify+para+push+web\u0026amp;description=Conecta+Shopify+a+OneSignal+mediante+la+integraci%C3%B3n+Vendo+para+push+web%2C+etiquetas+de+clientes%2C+eventos+de+comercio+y+segmentaci%C3%B3n+por+comportamiento.\u0026amp;theme=8d648f04f85028b307bd669b\u0026amp;signature=c41d7f5f5ecf12db248c48421b021b059a3ce0220d1206f83960ce9e76bd16e0\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Integración de Shopify para push web - OneSignal\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Conecta Shopify a OneSignal mediante la integración Vendo para push web, etiquetas de clientes, eventos de comercio y segmentación por comportamiento.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://onesignal.mintlify.app/_mintlify/api/og/v2?division=Push+web\u0026amp;title=Integraci%C3%B3n+de+Shopify+para+push+web\u0026amp;description=Conecta+Shopify+a+OneSignal+mediante+la+integraci%C3%B3n+Vendo+para+push+web%2C+etiquetas+de+clientes%2C+eventos+de+comercio+y+segmentaci%C3%B3n+por+comportamiento.\u0026amp;theme=8d648f04f85028b307bd669b\u0026amp;signature=c41d7f5f5ecf12db248c48421b021b059a3ce0220d1206f83960ce9e76bd16e0\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OneSignal Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3A3DB3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://documentation.onesignal.com/docs/es/shopify\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/es/shopify.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://documentation.onesignal.com/docs/es/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://documentation.onesignal.com/docs/en/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://documentation.onesignal.com/docs/cn/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://documentation.onesignal.com/docs/ko/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://documentation.onesignal.com/docs/ja/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"tr\" href=\"https://documentation.onesignal.com/docs/tr/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://documentation.onesignal.com/docs/pt-BR/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://documentation.onesignal.com/docs/fr/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://documentation.onesignal.com/docs/en/shopify\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://documentation.onesignal.com/#organization\",\"name\":\"OneSignal\",\"url\":\"https://documentation.onesignal.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107\"}},{\"@type\":\"WebSite\",\"@id\":\"https://documentation.onesignal.com#website\",\"name\":\"OneSignal\",\"url\":\"https://documentation.onesignal.com\",\"publisher\":{\"@id\":\"https://documentation.onesignal.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://documentation.onesignal.com/docs/es/shopify#webpage\",\"url\":\"https://documentation.onesignal.com/docs/es/shopify\",\"name\":\"Integración de Shopify para push web\",\"description\":\"Conecta Shopify a OneSignal mediante la integración Vendo para push web, etiquetas de clientes, eventos de comercio y segmentación por comportamiento.\",\"dateModified\":\"2026-08-28T18:16:26.526Z\",\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"},\"breadcrumb\":{\"@id\":\"https://documentation.onesignal.com/docs/es/shopify#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://documentation.onesignal.com/docs/es/shopify#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Canales de mensajería\",\"item\":\"https://documentation.onesignal.com/docs/es/channel-setup\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Push notificaciones\",\"item\":\"https://documentation.onesignal.com/docs/es/push\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Push web\",\"item\":\"https://documentation.onesignal.com/docs/es/web-push-setup\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Integración de Shopify para push web\",\"item\":\"https://documentation.onesignal.com/docs/es/shopify\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://documentation.onesignal.com/docs/es/shopify#article\",\"headline\":\"Integración de Shopify para push web\",\"name\":\"Integración de Shopify para push web\",\"description\":\"Conecta Shopify a OneSignal mediante la integración Vendo para push web, etiquetas de clientes, eventos de comercio y segmentación por comportamiento.\",\"url\":\"https://documentation.onesignal.com/docs/es/shopify\",\"mainEntityOfPage\":{\"@id\":\"https://documentation.onesignal.com/docs/es/shopify#webpage\"},\"dateModified\":\"2026-08-28T18:16:26.526Z\",\"keywords\":\"Shopify, Vendo, integración, push web, eventos personalizados, etiquetas de clientes, e-commerce, carrito abandonado\",\"publisher\":{\"@id\":\"https://documentation.onesignal.com/#organization\"},\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OneSignal\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OneSignal","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/docs/en/shopify"}]},{"language":"cn","pages":[{"title":"cn","href":"/docs/cn/shopify"}]},{"language":"ko","pages":[{"title":"ko","href":"/docs/ko/shopify"}]},{"language":"ja","pages":[{"title":"ja","href":"/docs/ja/shopify"}]},{"language":"tr","pages":[{"title":"tr","href":"/docs/tr/shopify"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/docs/pt-BR/shopify"}]},{"language":"es","tabs":[{"tab":"Inicio","pages":[{"title":"Inicio","href":"/docs/es/home"}]},{"tab":"Guías del Usuario","groups":[{"group":"Primeros pasos \u0026 configuraciones","pages":[{"title":"Guía de inicio rápido","href":"/docs/es/quickstart-guide"},{"group":"OneSignal panel","pages":[{"title":"Aplicaciones, organizaciones y cuentas","href":"/docs/es/apps-organizations"},{"title":"Miembros del equipo","href":"/docs/es/manage-team-members"},{"title":"Claves e IDs","href":"/docs/es/keys-and-ids"},{"title":"Registros de auditoría","href":"/docs/es/audit-logs"},{"title":"Uso y facturación","href":"/docs/es/billing-faq"},{"title":"Aplicaciones y organizaciones deshabilitadas","href":"/docs/es/disabled-apps"}]},{"title":"Migrar a OneSignal","href":"/docs/es/migrating-to-onesignal"}]},{"group":"Canales de mensajería","pages":[{"title":"Configuración de canales","href":"/docs/es/channel-setup"},{"group":"Push notificaciones","pages":[{"title":"Resumen de notificaciones push","href":"/docs/es/push"},{"group":"Push móvil","pages":[{"title":"Configuración de push móvil","href":"/docs/es/mobile-push-setup"},{"title":"Solicitar permisos push","href":"/docs/es/prompt-for-push-permissions"},{"title":"Notificaciones push provisionales de iOS","href":"/docs/es/ios-provisional-push-notifications"},{"title":"Categorías de notificación de Android","href":"/docs/es/android-notification-categories"},{"title":"Notificaciones de datos y en segundo plano","href":"/docs/es/data-notifications"},{"title":"Notificaciones push VoIP","href":"/docs/es/voip-notifications"}]},{"group":"Push web","pages":[{"title":"Configuración web push","href":"/docs/es/web-push-setup"},{"title":"Solicitudes de permiso web","href":"/docs/es/permission-requests"},{"title":"Preguntas frecuentes Web push","href":"/docs/es/web-push-setup-faq"},{"title":"Comportamiento del navegador de web push","href":"/docs/es/browser-behavior-and-unsubscribes"},{"title":"Plugin de WordPress de OneSignal para push web","href":"/docs/es/wordpress"},{"title":"Solución de problemas WordPress","description":"Guía completa para solucionar problemas comunes de configuración con Notificaciones Web Push de OneSignal en WordPress, incluyendo compatibilidad de navegador (Chrome, Firefox, Safari), integración de plugin y resolución de conflictos de CDN o caché.","href":"/docs/es/troubleshooting-wordpress-web-push"},{"title":"Integración de Shopify para push web","href":"/docs/es/shopify"}]},{"group":"Características de Push","pages":[{"title":"Iconos de notificación","description":"Configure iconos push predeterminados y por mensaje en Android, iOS y Web, con tamaños y la regla de transparencia que evita el cuadrado blanco.","href":"/docs/es/notification-icons"},{"title":"Imágenes de notificación y medios enriquecidos","href":"/docs/es/rich-media"},{"title":"Sonidos de notificación","href":"/docs/es/notification-sounds"},{"title":"Insignias de notificación","href":"/docs/es/badges"},{"title":"Botones de acción para notificaciones push","href":"/docs/es/action-buttons"},{"title":"Límite de frecuencia push","href":"/docs/es/frequency-capping"},{"title":"Limitación de push","href":"/docs/es/throttling"},{"title":"iOS: Modos de concentración y niveles de interrupción","href":"/docs/es/ios-focus-modes-and-interruption-levels"},{"title":"iOS: Puntuación de relevancia","href":"/docs/es/ios-relevance-score"}]},{"group":"Analytics \u0026 troubleshooting de Push notificaciones","pages":[{"title":"Reportes de mensajes push","href":"/docs/es/push-notification-message-reports"},{"title":"Entrega confirmada","href":"/docs/es/confirmed-delivery"},{"title":"CTR de notificaciones","href":"/docs/es/notification-ctr"},{"title":"Mobile push: Notificaciones no mostradas o retrasadas","href":"/docs/es/notifications-show-successful-but-are-not-being-shown"},{"title":"Web push: Notificaciones no mostradas","href":"/docs/es/notifications-not-shown-web-push"},{"title":"Imágenes de notificaciones que no se muestran","href":"/docs/es/notification-images-not-showing"},{"title":"Notificaciones duplicadas","href":"/docs/es/duplicated-notifications"},{"title":"FAQ de Token Expirado de FCM","href":"/docs/es/fcm-expired-token-faq"}]}]},{"group":"Mensajes in-app","pages":[{"title":"Descripción general de mensajes dentro de la aplicación","href":"/docs/es/in-app-messages-setup"},{"title":"Activadores de mensajes en la aplicación","href":"/docs/es/iam-triggers"},{"title":"Acciones de clic en mensajes dentro de la aplicación","href":"/docs/es/iam-click-actions"},{"group":"Diseño de mensajes in-app","pages":[{"title":"Diseñar mensajes in-app con arrastrar y soltar","href":"/docs/es/design-your-in-app-message"},{"title":"Diseñar mensajes in-app con HTML","href":"/docs/es/design-your-in-app-message-with-html"},{"title":"Plantillas y guías rápidas de mensajes in-app","href":"/docs/es/in-app-html-templates"},{"title":"Referencia de API JavaScript de mensajes dentro de la aplicación","href":"/docs/es/in-app-message-api"}]},{"title":"Informes de mensajes dentro de la aplicación","href":"/docs/es/in-app-message-reports"},{"title":"Solución de problemas dentro de la aplicación","href":"/docs/es/in-app-message-troubleshooting"}]},{"group":"Email","pages":[{"title":"Resumen de Email","href":"/docs/es/email-messaging"},{"group":"Configuración de Email","pages":[{"title":"Configuración de Email","href":"/docs/es/email-setup"},{"title":"Configuración de DNS de email","href":"/docs/es/email-dns-configuration"},{"title":"Remitentes","href":"/docs/es/senders"},{"title":"Emails transaccionales","href":"/docs/es/setup-transactional-emails"},{"title":"Crear una página de cancelación de suscripción de correo electrónico personalizada","href":"/docs/es/create-custom-unsubscribe-page"}]},{"group":"Entregabilidad de Email","pages":[{"title":"Informes de mensajes de correo electrónico","href":"/docs/es/email-message-reports"},{"title":"Entregabilidad de email","href":"/docs/es/email-deliverability"},{"title":"Mejores prácticas de reputación de email","href":"/docs/es/email-reputation-best-practices"},{"title":"Validación de dirección de email","href":"/docs/es/email-address-validation"},{"title":"Guía de calentamiento de Email","href":"/docs/es/email-warm-up"},{"title":"Google Postmaster Tools","href":"/docs/es/google-postmaster-tools"},{"title":"Supresiones","href":"/docs/es/suppressions"},{"title":"Solución de problemas de Email","href":"/docs/es/email-troubleshooting"}]},{"group":"Mensajería de Email","pages":[{"title":"Diseñar correos electrónicos con arrastrar y soltar","href":"/docs/es/design-emails-with-drag-and-drop"},{"title":"Diseñar correos electrónicos con HTML","href":"/docs/es/design-emails-with-html"},{"title":"Enlaces de cancelación de suscripción y encabezados de email","href":"/docs/es/unsubscribe-links-email-subscriptions"},{"title":"Reenvío de plantillas de Email","href":"/docs/es/email-template-forwarding"}]}]},{"group":"SMS \u0026 RCS","pages":[{"title":"Resumen de SMS, MMS y RCS","href":"/docs/es/sms-messaging"},{"title":"Rich Communication Services (RCS)","href":"/docs/es/rcs-messaging"},{"group":"Configuración de SMS","pages":[{"title":"Configuración de SMS","href":"/docs/es/sms-setup"},{"title":"Solicitudes de recursos de remitente y requisitos por país","sidebarTitle":"Solicitudes de recursos de remitente","href":"/docs/es/sms-registration-requirements"},{"title":"Opt-in y recopilación de SMS","href":"/docs/es/sms-opt-in-and-collection"},{"title":"Gestión de palabras clave de consentimiento SMS","href":"/docs/es/sms-consent-keyword-management"},{"title":"Palabras clave SMS","href":"/docs/es/keywords"}]},{"group":"Mensajería de SMS","pages":[{"title":"Informes de mensajes SMS","href":"/docs/es/sms-message-reports"},{"title":"Contraseñas de un solo uso (OTP)","sidebarTitle":"Contraseñas de un solo uso","href":"/docs/es/sms-verify"}]}]},{"group":"Actividades en directo","pages":[{"title":"Live Activities","href":"/docs/es/live-activities"},{"title":"Análisis de Live Activities","href":"/docs/es/live-activities-analytics"}]},{"group":"Características","pages":[{"title":"Pruebas A/B","href":"/docs/es/ab-testing"},{"title":"Mensajería multiidioma","href":"/docs/es/multi-language-messaging"},{"group":"Personalización","pages":[{"title":"Personalización","href":"/docs/es/message-personalization"},{"title":"Uso de sintaxis Liquid","href":"/docs/es/using-liquid-syntax"},{"title":"Feeds de datos","href":"/docs/es/data-feeds"},{"title":"Personaliza con Custom Events","href":"/docs/es/personalization-custom-event"},{"title":"Personalizar con propiedades","href":"/docs/es/personalization-properties-and-tags"},{"title":"Personalizar mensajes con custom_data de la API","href":"/docs/es/personalization-api-custom-data"},{"title":"Contenido dinámico con CSV","href":"/docs/es/dynamic-content"}]},{"group":"URLs, Links y Deep Links","pages":[{"title":"URLs, enlaces y deep links","href":"/docs/es/links"},{"title":"Deep Linking","href":"/docs/es/deep-linking"},{"title":"Enlaces de cancelación de suscripción y encabezados de email","href":"/docs/es/unsubscribe-links-email-subscriptions"}]},{"title":"Mensajes de reorientación","href":"/docs/es/retargeting"},{"title":"Plantillas","href":"/docs/es/templates"},{"title":"Etiquetas","href":"/docs/es/labels"}]}]},{"group":"Journeys","pages":[{"title":"Resumen de Journeys","href":"/docs/es/journeys-overview"},{"group":"Características de Journey","pages":[{"title":"Configuración de Journey","href":"/docs/es/journeys-settings"},{"title":"Mensajes de Journey","href":"/docs/es/journeys-messages"},{"title":"Acciones de Journey","href":"/docs/es/journeys-actions"},{"title":"Webhooks de Journey","href":"/docs/es/journeys-webhook"},{"title":"Enviar Mensajes de WhatsApp vía Webhooks de Journey","href":"/docs/es/sending-whatsapp-messages-via-journey-webhooks"},{"title":"Gestionar Journeys","href":"/docs/es/managing-journeys"},{"title":"Analítica de Journey","href":"/docs/es/journeys-analytics"}]},{"title":"Ejemplos de Journey","href":"/docs/es/journeys-examples"}]},{"group":"Audiencia \u0026 eventos personalizados","pages":[{"title":"Segmentos","href":"/docs/es/segmentation"},{"group":"Usuarios \u0026 Suscripciones","pages":[{"title":"Usuarios","href":"/docs/es/users"},{"title":"Suscripciones","href":"/docs/es/subscriptions"},{"title":"Aliases","href":"/docs/es/aliases"},{"title":"Usuarios de prueba","href":"/docs/es/test-users"},{"title":"Eliminar usuarios","href":"/docs/es/delete-users"}]},{"group":"Eventos personalizados","pages":[{"title":"Eventos personalizados","href":"/docs/es/custom-events"},{"title":"Almacenamiento y retención de eventos personalizados","href":"/docs/es/custom-event-storage"}]},{"group":"Etiquetas","pages":[{"title":"Etiquetas","href":"/docs/es/add-user-data-tags"},{"title":"Etiquetas: Operadores de tiempo","href":"/docs/es/time-operators"}]},{"title":"Importar","href":"/docs/es/import"}]},{"group":"Analítica \u0026 Integraciones","pages":[{"group":"Analítica","pages":[{"title":"Descripción general de Analytics","href":"/docs/es/analytics-overview"},{"title":"Objetivos","sidebarTitle":"Objetivos","href":"/docs/es/goals"},{"title":"Análisis de plantillas","href":"/docs/es/template-analytics"},{"title":"Exportar datos","href":"/docs/es/exporting-data"},{"title":"Outcomes personalizados","href":"/docs/es/custom-outcomes"},{"title":"Métricas de conversión","href":"/docs/es/conversion-metrics"},{"title":"Tendencias de compromiso","href":"/docs/es/engagement-analytics"},{"title":"Tendencias de suscripción","href":"/docs/es/subscription-trends"},{"group":"Métricas de retención","pages":[{"title":"Métricas de retención","href":"/docs/es/retention-metrics"},{"title":"Interpretación de curvas de retención","href":"/docs/es/interpreting-retention-curves"}]},{"title":"Glosario de Métricas","href":"/docs/es/analytics-metrics-glossary"}]},{"group":"Event Streams","pages":[{"title":"Event Streams","href":"/docs/es/event-streams"},{"title":"Referencia de datos de Event Stream","sidebarTitle":"Datos de Event Stream","href":"/docs/es/event-streams-data"},{"title":"Flujos de eventos de mensajes dentro de la aplicación","href":"/docs/es/iam-event-streams"},{"title":"Integración de Google Sheets con Event Streams","href":"/docs/es/google-sheets-integration-with-event-streams"}]},{"group":"Integraciones","pages":[{"title":"Resumen de integraciones","href":"/docs/es/integrations"},{"title":"Integración de almacén de datos, DMP y CRM","href":"/docs/es/database-dmp-crm-integration"},{"group":"OneSignal como fuente de datos","pages":[{"title":"Amplitude","href":"/docs/es/amplitude"},{"title":"Databricks","href":"/docs/es/databricks"},{"title":"Google BigQuery","href":"/docs/es/bigquery"},{"title":"Mixpanel","href":"/docs/es/mixpanel"},{"title":"Snowflake","href":"/docs/es/snowflake"},{"title":"Segment (Twilio)","href":"/docs/es/segment-onesignal-integration"}]},{"group":"OneSignal como destino","pages":[{"title":"Adobe Audience Manager","href":"/docs/es/adobe-audience-manager"},{"title":"AlloyDB","href":"/docs/es/alloydb"},{"title":"Amazon Athena","href":"/docs/es/amazon-athena"},{"title":"Amazon S3","href":"/docs/es/s3"},{"title":"Amplitude","href":"/docs/es/amplitude"},{"title":"Apache Kafka","href":"/docs/es/kafka"},{"title":"Amazon Redshift","href":"/docs/es/amazon-redshift"},{"title":"Azure Synapse","href":"/docs/es/azure-synapse"},{"title":"ClickHouse","href":"/docs/es/clickhouse"},{"title":"Confluent Cloud","href":"/docs/es/confluent-cloud"},{"title":"Databricks","href":"/docs/es/databricks"},{"title":"Elasticsearch","href":"/docs/es/elasticsearch"},{"title":"Google BigQuery","href":"/docs/es/bigquery"},{"title":"Google Cloud SQL","href":"/docs/es/google-cloud-sql"},{"title":"Google Sheets","href":"/docs/es/google-sheets"},{"title":"Greenplum","href":"/docs/es/greenplum"},{"title":"HubSpot","href":"/docs/es/hubspot"},{"title":"Materialize","href":"/docs/es/materialize"},{"title":"Microsoft Fabric","href":"/docs/es/microsoft-fabric"},{"title":"Mixpanel","href":"/docs/es/mixpanel"},{"title":"MotherDuck","href":"/docs/es/motherduck"},{"title":"MySQL","href":"/docs/es/mysql"},{"title":"PostgreSQL","href":"/docs/es/postgresql"},{"title":"Pub/Sub","href":"/docs/es/google-pubsub"},{"title":"SingleStore","href":"/docs/es/singlestore"},{"title":"Snowflake","href":"/docs/es/snowflake"},{"title":"SQL Server","href":"/docs/es/sql-server"},{"title":"Starburst Enterprise","href":"/docs/es/starburst-enterprise"},{"title":"Starburst Galaxy","href":"/docs/es/starburst-galaxy"},{"title":"Trino","href":"/docs/es/trino"},{"title":"Segment (Twilio)","href":"/docs/es/segment-onesignal-integration"}]},{"group":"Atribución","pages":[{"title":"RevenueCat","href":"/docs/es/revenuecat"},{"title":"Adjust","href":"/docs/es/adjust"},{"title":"BlueConic","href":"/docs/es/blueconic"}]},{"title":"Construir una integración con OneSignal: Guía para socios","href":"/docs/es/building-an-integration-with-onesignal-partner-guide"}]}]},{"group":"Privacidad \u0026 Seguridad","pages":[{"group":"Credenciales de seguridad","pages":[{"title":"SOC 2 Type II","href":"/docs/es/soc-2-type-ii"},{"title":"ISO 27001","href":"/docs/es/iso27001"},{"title":"HIPAA","href":"/docs/es/hipaa"}]},{"group":"Privacidad de datos \u0026 cumplimiento regulatorio","pages":[{"title":"GDPR y Derechos Individuales","href":"/docs/es/gdpr-compliance"},{"title":"Marco de Privacidad de Datos UE-EE. UU.","href":"/docs/es/eu-us-data-privacy-framework"},{"title":"Cumplimiento normativo de correo electrónico","href":"/docs/es/email-compliance"},{"title":"Cumplimiento regulatorio de SMS","href":"/docs/es/sms-regulatory-compliance"},{"title":"Requisitos de privacidad de aplicaciones de Apple","href":"/docs/es/apple-app-privacy-requirements"},{"title":"Requisitos de seguridad de datos de Google Play","href":"/docs/es/google-play-data-safety-requirements"},{"title":"Preguntas frecuentes sobre recopilación de datos y seguridad","href":"/docs/es/data-questions"},{"title":"Datos recopilados por el SDK de OneSignal","href":"/docs/es/data-collected-by-the-onesignal-sdk"},{"title":"Manejo de datos personales","href":"/docs/es/handling-personal-data"}]},{"group":"Autenticación","pages":[{"title":"Autenticación de 2 pasos","href":"/docs/es/2-step-authentication"},{"title":"Inicio de sesión único (SSO)","href":"/docs/es/sso"}]}]}]},{"tab":"Guías del desarrollador","pages":[{"title":"Guías del desarrollador","href":"/docs/es/developers"}]},{"tab":"Tutoriales","pages":[{"title":"Tutoriales","href":"/docs/es/tutorials"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/rest-api-overview"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/changelog"}]}],"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://onesignal.com/blog"},{"anchor":"GitHub","icon":"github","href":"https://github.com/OneSignal"},{"anchor":"YouTube","icon":"youtube","href":"https://www.youtube.com/@onesignalofficial/playlists"}]}},{"language":"fr","pages":[{"title":"fr","href":"/docs/fr/shopify"}]}]},"basePath":"","title":"Integración de Shopify para push web - OneSignal","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DXXFP6nH.js","DynamicMarkdown-B54_zNBF.js","zoom-image-lightbox-BG6oD64b.js","lightbox-handle-r17bVUz3.js"]}