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 mensajes 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
Cómo se modelan los carritos abandonados Esta guía asume que está rastreando eventos de “carrito actualizado”, lo que significa cada vez que un usuario agrega o elimina artículos de su carrito. Esto podría ser un solo artículo como una suscripción a su contenido o múltiples artículos como un carrito de compras. Una vez que OneSignal recibe un evento cart_updated:
  • El usuario se vuelve elegible para entrar al Journey
  • Un período de espera le da tiempo para regresar de forma natural
  • Los mensajes se envían solo si no salen
  • El usuario sale inmediatamente cuando el carrito se vacía

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 la actividad del carrito a OneSignal

Cuando el estado del carrito cambia, envíe los datos actualizados del carrito a OneSignal para que la actividad pueda ser rastreada. Esta guía usa el evento o etiqueta cart_updated para rastrear la actividad del carrito y al menos una propiedad. Seleccione el método que eligió en el Paso 1:
Envíe un evento personalizado cart_updated cada vez que el carrito cambie. Incluya propiedades del producto cuando haya artículos en el carrito y omítalas cuando el carrito esté vacío.
ReferenciaDescripción
Método trackEventEnviar a través del Frontend SDK (Mobile SDK, Web SDK)
API de Eventos personalizadosEnviar a través de REST API
IntegracionesEnviar a través de integración
Ejemplo del método trackEvent del Frontend SDK
OneSignal.User.trackEvent("cart_updated", {
  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 API de Eventos personalizados
{
  "events": [
    {
      "name": "cart_updated",
      "properties": {
        "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"
      },
      "external_id": "ID_OF_THE_USER"
    }
  ]
}
La actividad del carrito ahora se está enviando a OneSignal. Cada vez que el carrito cambia, OneSignal recibe los datos actualizados necesarios para activar y personalizar los mensajes.

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_updated.properties.product_name | default: "items"}} in your cart.
Imagen:
Liquid
{{journey.event.cart_updated.properties.product_image | default: "https://i.imgur.com/ssPCfbC.png"}}
URL de lanzamiento:
Liquid
{{journey.event.cart_updated.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_updated.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?

Personalice mensajes con eventos personalizados

Guía completa para usar eventos personalizados en Journeys. Incluye almacenamiento de eventos, configuración de Journey, ejemplo de carrito abandonado, mejores prácticas y solución de problemas.

Personalice mensajes con propiedades

Guía completa para usar propiedades y etiquetas en Journeys. Incluye almacenamiento de eventos, configuración de Journey, ejemplo de carrito abandonado, mejores prácticas y solución de problemas.

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. Agregue dos filtros al segmento:
  1. User Tagcart_updated exists
  2. Last Sessionless 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 puede 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 eliminan automáticamente del segmento cuando se cumple 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_updated
  • Filtrar por propiedad: Con todas las siguientes propiedades: product_name exists
Usar eventos personalizados permite que usuarios individuales entren a los Journeys múltiples veces.Use propiedades para filtrar usuarios para que solo entren cuando exista una propiedad específica.
Reglas de entrada de evento personalizado del Journey de carrito abandonado
Reglas de salida:
Los usuarios deben salir del Journey cuando vacíen su carrito o completen el Journey.
  • Seleccione Meet a certain condition
  • Marque Exit when custom event condition occurs
  • Custom Event Name: cart_updated
Reglas de salida de evento personalizado del Journey de carrito abandonado
Esta configuración usa el mismo nombre de evento personalizado (cart_updated) tanto para las reglas de entrada como de salida.Esto permite que el usuario solo esté en el Journey una vez a la vez. Cada vez que actualice su carrito, esa instancia del usuario saldrá y una nueva instancia del mismo usuario entrará al Journey. Por eso es importante usar propiedades para filtrar usuarios dentro de las reglas de entrada.
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_updated
    • 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 según sus Reglas de entrada. 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. Un Journey básico de carrito abandonado hace dos cosas:
  1. Da al usuario suficiente tiempo para vaciar su carrito (realizar una compra o eliminar artículos manualmente)
  2. Si no lo hace, envía un mensaje recordándole 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 o 2 hours 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 3.
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

Extienda el Journey para enviar más mensajes con el tiempo para tasas de recuperación más altas.

Secuencia de mensajes

Una cadencia de alto rendimiento común 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.

Preguntas frecuentes

¿Debo usar eventos personalizados o etiquetas para el seguimiento del carrito?

Los eventos personalizados son recomendados para la mayoría de las implementaciones. Admiten datos más ricos, permiten el filtrado basado en propiedades en las reglas de entrada del Journey y manejan automáticamente el reingreso cuando el mismo evento se dispara nuevamente. Las etiquetas funcionan para casos de uso más simples donde solo necesita rastrear si existe un carrito, pero requieren la creación manual de segmentos y la configuración de reingreso.

¿Cuánto tiempo debo esperar antes de enviar el primer recordatorio?

De una a dos horas es un punto de partida común. Esto le da al usuario suficiente tiempo para regresar por su cuenta mientras la intención de compra todavía está fresca. Pruebe diferentes tiempos de espera y use analíticas de Journey para encontrar qué funciona mejor para su audiencia.

¿Qué sucede si un usuario actualiza su carrito mientras está en el Journey?

Con eventos personalizados, el usuario sale de la instancia actual del Journey (porque cart_updated se dispara como condición de salida) e inmediatamente vuelve a entrar con los datos del evento actualizados. Con etiquetas, el usuario permanece en la misma instancia del Journey porque la etiqueta todavía existe — solo vuelve a entrar después de salir y esperar el período de reingreso.
¿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!