Saltar al contenido principal

Descripción general

Los carritos abandonados son una de las oportunidades de mayor impacto para recuperar ingresos perdidos. La mayoría de los usuarios que abandonan un carrito todavía tienen intención de comprar — solo necesitan un recordatorio oportuno. Esta guía le muestra cómo construir un Journey automatizado de carrito abandonado en OneSignal que:
  • Detecta la actividad del carrito
  • Espera un breve período de inactividad
  • Envía un recordatorio personalizado
  • Detiene los mensajes inmediatamente después de la compra o eliminación del carrito
Puede implementar esto usando cualquiera de las siguientes opciones:
  • Eventos personalizados (recomendado para la mayoría de las implementaciones)
  • Etiquetas (más simple, casos de uso limitados)
La elección correcta depende de los datos que desea mostrar en el mensaje y de dónde provienen esos datos.

Lo que construirá

Al final de esta guía, tendrá:
  • Actividad del carrito enviada a OneSignal (a través de etiquetas o eventos personalizados)
  • Una señal de abandono clara, definida por código
  • Plantillas de mensajes que personalizan los datos del carrito
  • Un Journey que:
    • Se inicia cuando se recibe una señal de abandono
    • Espera antes de enviar
    • Envía un mensaje de carrito abandonado
    • Sale inmediatamente cuando el carrito se vacía o se completa la compra
  • Analíticas para medir el rendimiento de mensajes e ingresos

Elija su método de seguimiento

Puede rastrear la actividad del carrito usando eventos personalizados o etiquetas.
  • Use eventos personalizados si:
    • Puede detectar el abandono después de un período de inactividad
    • Desea datos enriquecidos del carrito (artículos, imágenes, precios)
    • Se siente cómodo asegurándose de que los eventos se disparen una vez por abandono
  • Use etiquetas si:
    • Desea seguridad basada en estado por defecto
    • Solo necesita datos simples del carrito
    • Prefiere entrada y salida controladas por segmento
Esta guía muestra ambos enfoques. Los eventos personalizados ofrecen más flexibilidad, pero requieren más cuidado.

Cómo se modelan los carritos abandonados

OneSignal no determina automáticamente cuándo un carrito es abandonado.Usted decide cuándo un carrito se convierte en abandonado en su propio código o sistema, y luego notifica a OneSignal.
Qué significa cart_abandoned El evento cart_abandoned debe representar una transición de estado - El carrito estaba activo → el usuario dejó de interactuar → el carrito ahora se considera abandonado. Este evento debe enviarse:
  • Después de un período significativo de inactividad (por ejemplo, 1 hora)
  • Solo si el carrito todavía contiene artículos
No envíe cart_abandoned en cada actualización del carrito.Enviar este evento repetidamente hará que los usuarios reingresen al Journey múltiples veces y puede generarles spam.

Cómo los Journeys usan señales de abandono

Una vez que OneSignal recibe cart_abandoned:
  • El usuario se vuelve elegible para entrar al Journey
  • Un período de espera les da tiempo para regresar naturalmente
  • Se envía un mensaje solo si no salen
  • El usuario sale inmediatamente cuando se recibe cart_emptied
Los Journeys controlan el tiempo y la repetición — no determinan el abandono.

Configuración

Paso 1. Planifique sus datos y fuente del carrito

Decida qué información del carrito desea mostrar y de dónde provienen esos datos. Los datos comunes del carrito incluyen:
  • Nombre del producto, imagen, precio y cantidad
  • Número de artículos en el carrito
  • Un enlace profundo de regreso al carrito
Su fuente de datos determina cómo envía los eventos:
Fuente de datosMétodo recomendado
Aplicación o sitio webOneSignal Frontend SDK
Backend o base de datosOneSignal REST API
Plataforma de tercerosEventos personalizados basados en integración
Al final de este paso, sabrá qué datos enviará y cómo los enviará.

Paso 2. Envíe señales de estado del carrito a OneSignal

Debe enviar señales que representen cambios de estado del carrito.
SeñalPropósito
cart_abandonedActividad del carrito detectada y no resuelta
cart_updatedEl contenido del carrito cambia
cart_emptiedCarrito vaciado o compra completada
Los nombres de eventos y etiquetas deben coincidir exactamente en las llamadas SDK/API, segmentos, reglas de Journey y plantillas Liquid.
Use los SDKs Web o Mobile de OneSignal para enviar eventos personalizados o etiquetas.
Método SDKDescripción
trackEventEnviar un evento personalizado (Mobile SDK, Web SDK)
addTagsAgregar una etiqueta (Mobile SDK, Web SDK)
removeTagsEliminar una etiqueta (Mobile SDK, Web SDK)
Ejemplo de evento personalizado
El evento cart_abandoned debe enviarse después de un período de inactividad del carrito, no cuando el usuario ingresa o actualiza su carrito.El evento cart_emptied debe enviarse inmediatamente cuando el carrito se vacía o se completa una compra.
OneSignal.User.trackEvent("cart_abandoned", {
  product_name: "24 Pack of Acorns",
  product_image: "https://i.imgur.com/ssPCfbC.png",
  product_price: 12.99,
  product_quantity: 1,
  cart_url: "https://yourdomain.com/cart"
});
Ejemplo de etiqueta
Este ejemplo establece la etiqueta cart_updated como una marca de tiempo Unix (en segundos) que representa cuándo se actualizó el carrito por última vez. También puede usar un valor booleano (true/false), pero una marca de tiempo proporciona más flexibilidad con Time Operators.
OneSignal.User.addTags({
  cart_updated: unix_timestamp_seconds,
  product_name: "24 Pack of Acorns",
  product_image: "https://i.imgur.com/ssPCfbC.png",
  product_price: "$12.99",
  product_quantity: "1",
  cart_url: "https://yourdomain.com/username/cart"
})
Si no envía una señal cart_emptied, los usuarios pueden seguir recibiendo mensajes de carrito abandonado después de comprar.

Paso 3. Cree plantillas de mensajes de carrito abandonado

Cree plantillas de mensajes que hagan referencia a los datos del carrito de forma dinámica. Para obtener más detalles sobre los conceptos utilizados en esta sección, consulte:
Haga referencia a las propiedades del evento usando el formato de sintaxis Liquid:
Liquid
{{journey.event.name.properties.property_name | default: "fallback_value"}}
Mensaje:
Liquid
You left {{journey.event.cart_abandoned.properties.product_name | default: "items"}} in your cart.
Imagen:
Liquid
{{journey.event.cart_abandoned.properties.product_image | default: "https://i.imgur.com/ssPCfbC.png"}}
URL de lanzamiento:
Liquid
{{journey.event.cart_abandoned.properties.cart_url | default: "https://yourdomain.com/cart"}}
La imagen no se mostrará si product_image no es una URL de imagen directa y públicamente accesible.Si su product_image es el nombre de un archivo de imagen disponible en línea, puede hacer referencia a la imagen usando el siguiente formato: https://yourdomain.com/images/{{journey.event.cart_abandoned.properties.product_image | default: "stock_image"}}.png
Ejemplo de plantilla de carrito abandonado con eventos personalizados
¿Necesita ejemplos de correo electrónico, ayuda o más inspiración?

Paso 4. Cree el segmento de carrito abandonado (solo etiquetas)

Este paso solo es necesario si está usando etiquetas para rastrear la actividad del carrito. Si está usando eventos personalizados, puede omitir este paso.
El segmento determinará quién puede entrar al Journey. Consulte Segmentos para más detalles. Seleccione el filtro User Tag para rastrear usuarios donde la etiqueta cart_updated exists Y seleccione el filtro Last Session como less than 7 days ago
Segmento de carrito abandonado con filtro de etiqueta donde la etiqueta cart_updated existe y la última sesión es de menos de 7 días
Ahora podemos rastrear a los usuarios que actualizan su carrito y han visitado la aplicación o sitio web en los últimos 7 días.Los usuarios se eliminarán automáticamente del segmento cuando se cumpla cualquiera de las siguientes condiciones:
  • Después de que hayan pasado 7 días desde la última vez que visitaron la aplicación/sitio web
  • Cuando se elimine la etiqueta cart_updated

Paso 5. Cree el Journey de carrito abandonado

Cree un Journey que reaccione a la actividad del carrito. Consulte Journeys para más detalles.
Pantalla de creación de nuevo Journey de carrito abandonado

Configuración del Journey

Revise la guía de Configuración de Journey para más detalles sobre las reglas de entrada, salida y reingreso. Reglas de entrada:
  • Seleccione Custom Event
  • Custom Event Name: cart_abandoned
Los usuarios entran al Journey cada vez que se envía el evento cart_abandoned. Solo envíe este evento después de un período de inactividad significativo.
Reglas de entrada de evento personalizado del Journey de carrito abandonado
Reglas de salida:
  • Seleccione Meet a certain condition
  • Marque Exit when custom event condition occurs
  • Custom Event Name: cart_emptied
Reglas de salida de evento personalizado del Journey de carrito abandonado
Los usuarios saldrán del Journey cuando:
  • Se realice el evento cart_emptied (del paso 3).
  • Completen el Journey.
Reglas de reingreso (solo etiquetas):
  • Seleccione Yes, after a certain amount of time
  • Establezca el tiempo de reingreso en 1 day
Reglas de reingreso del Journey de carrito abandonado
Si ha seguido esta guía completamente hasta aquí, los usuarios:
  1. Entrarán al Journey cuando abandonen/actualicen su carrito
  2. Saldrán del Journey cuando vacíen su carrito o completen el Journey.
  3. Serán elegibles para reingresar al Journey:
    • Eventos personalizados: Cada vez que se realice el evento cart_abandoned
    • Etiquetas: Después de que haya pasado 1 día desde que salieron del Journey y estén en el segmento.
Guarde la configuración del Journey.

Pasos del Journey

Los usuarios entrarán al Journey cuando coincidan con el segmento. Esto generalmente ocurre dentro de unos minutos después de que se recibe el evento/etiqueta. Los usuarios fluirán a través del Journey paso a paso hasta que lleguen al final o se cumpla una regla de salida. Para un Journey básico de carrito abandonado, queremos hacer 2 cosas:
  1. Dar al usuario suficiente tiempo para vaciar su carrito (realizar una compra o vaciar su carrito manualmente)
  2. Si no vacían su carrito, enviarles un mensaje recordándoles los artículos en su carrito
Logre esto primero agregando un paso Wait al Journey.
  • Establezca el tiempo de espera tan largo como desee. Recomendamos establecerlo en 1 hour para que pueda enviarles mensajes mientras aún tienen la intención de comprar.
Agregue un paso Message.
  • Seleccione la plantilla de notificación push Abandoned Cart que creó en el Paso 4.
Pasos básicos del Journey de carrito abandonado
El Journey básico de carrito abandonado está ahora configurado.Cuando un usuario entre al Journey, esperará 1 hora. Si no sale del Journey, recibirá la notificación push de carrito abandonado.

Configuración avanzada del Journey

Usando el conocimiento que ha adquirido de esta guía, ahora puede extender el Journey para enviar más mensajes con el tiempo.

Secuencia de mensajes

Una secuencia de tiempo de mejores prácticas para una cadencia común de alto rendimiento es:
  1. Enviar el primer mensaje después de 1 hora (completado en esta guía).
  2. Agregar otro paso Wait de 1 día y enviar un segundo mensaje (~24 horas desde que actualizaron su carrito).
  3. Agregar otro paso Wait de 2 días y enviar un tercer mensaje (~72 horas desde que actualizaron su carrito).
Tipos de mensajes y contenido: Dependiendo de los canales que haya configurado con OneSignal, obtendrá mejores resultados usando un enfoque omnicanal.
  1. Esta guía muestra cómo enviar un mensaje de notificación push después de la primera hora. Esto se usa como un recordatorio útil para intentar capturar la venta mientras el usuario puede estar todavía en línea.
  2. Considere usar tanto push como correo electrónico para su segundo mensaje. Use este segundo mensaje para destacar beneficios y prueba social con urgencia ligera para animarlos a comprar.
  3. Para el mensaje final de la secuencia, use un correo electrónico o quizás un SMS (dependiendo del caso de uso) como “última llamada”. Considere usar un código de descuento u otro incentivo para animarlos a comprar.

Mensajes de respaldo

Los Journeys de OneSignal proporcionan lógica de ramificación Wait Until que puede usar para verificar si un mensaje fue confirmado como entregado, clicado o abierto, y si no se realizó dentro de un período de tiempo determinado, enviar un mensaje de respaldo. Esto es extremadamente útil para usuarios que pueden haberse dado de baja de un canal de mensajes específico. Más detalles sobre cómo configurar mensajes de respaldo se pueden encontrar en nuestra guía de Mensajes de respaldo.

Seguimiento del rendimiento

Las analíticas de Journey se pueden usar para rastrear cómo está funcionando el Journey en su conjunto. También puede rastrear el rendimiento de cada mensaje usando Analíticas de plantillas.

Seguimiento de ingresos con Outcomes

Para rastrear los ingresos de este Journey, puede usar Outcomes personalizados. Cuando se realiza una compra, puede enviar el evento como un “Custom Outcome” para rastrear los ingresos asociados con el mensaje específico enviado. Los Custom Outcomes se pueden enviar a través del Mobile SDK o Web SDK.
Example: Send purchase outcome via frontend SDK
// Example: capture total price and item count at checkout
const checkoutPriceTotal = document.querySelector(".checkout-price-total").innerText;
const checkoutItemsTotal = document.querySelector(".checkout-items-total").innerText;

function updateOSOnCartPurchase(checkoutPriceTotal, checkoutItemsTotal) {
  const purchasePriceTotal = parseFloat(checkoutPriceTotal);
  const purchasedItemCount = parseInt(checkoutItemsTotal);

  OneSignalDeferred.push(function (OneSignal) {
    OneSignal.Session.sendOutcome("Purchase", purchasePriceTotal);
    OneSignal.Session.sendOutcome("Purchased Item Count", purchasedItemCount);
  });
}

const submitPurchaseButton = document.querySelector(".submit-payment");
if (submitPurchaseButton) {
  submitPurchaseButton.addEventListener("click", () => {
    updateOSOnCartPurchase(checkoutPriceTotal, checkoutItemsTotal);
  });
}
Los Outcomes pueden atribuir ingresos a mensajes en los que los usuarios hicieron clic o fueron influenciados dentro de una ventana de atribución definida.
Ha implementado exitosamente un Journey de carrito abandonado. Cuando esté listo para comenzar a enviar mensajes, seleccione Set Live.
¿Necesita ayuda?Chatee con nuestro equipo de Soporte o envíe un correo electrónico a support@onesignal.comPor favor incluya:
  • Detalles del problema que está experimentando y pasos para reproducir si están disponibles
  • Su ID de aplicación de OneSignal
  • El ID externo o ID de suscripción si corresponde
  • La URL del mensaje que probó en el panel de OneSignal si corresponde
  • Cualquier registro o mensaje de error relevante
¡Estamos felices de ayudar!