Passer au contenu principal

Aperçu

Les paniers abandonnés représentent l’une des opportunités les plus impactantes pour récupérer des revenus perdus. La plupart des utilisateurs qui abandonnent un panier ont encore l’intention d’acheter — ils ont simplement besoin d’un rappel au bon moment. Ce guide vous montre comment créer un Journey automatisé de panier abandonné dans OneSignal qui :
  • Détecte l’activité du panier
  • Attend une courte période d’inactivité
  • Envoie un rappel personnalisé
  • Arrête immédiatement les messages après l’achat ou la suppression du panier
Vous pouvez implémenter cela en utilisant :
  • Custom Events (recommandé pour la plupart des implémentations)
  • Tags (plus simple, cas d’utilisation limités)
Le bon choix dépend des données que vous souhaitez afficher dans le message et de leur provenance.

Ce que vous allez créer

À la fin de ce guide, vous disposerez de :
  • L’activité du panier envoyée à OneSignal (via Tags ou Custom Events)
  • Un signal d’abandon clair, défini par le code
  • Des modèles de messages qui personnalisent les données du panier
  • Un Journey qui :
    • Démarre lorsqu’un signal d’abandon est reçu
    • Attend avant d’envoyer
    • Envoie un message de panier abandonné
    • Se termine immédiatement lorsque le panier est vidé ou acheté
  • Des Analytics pour mesurer les performances des messages et des revenus

Choisissez votre méthode de suivi

Vous pouvez suivre l’activité du panier en utilisant soit les Custom Events, soit les Tags.
  • Utilisez les Custom Events si vous :
    • Pouvez détecter l’abandon après une période d’inactivité
    • Souhaitez des données de panier riches (articles, images, prix)
    • Êtes à l’aise pour garantir que les événements se déclenchent une seule fois par abandon
  • Utilisez les Tags si vous :
    • Souhaitez une sécurité basée sur l’état par défaut
    • N’avez besoin que de données de panier simples
    • Préférez une entrée et une sortie contrôlées par segment
Ce guide présente les deux approches. Les Custom Events offrent plus de flexibilité, mais nécessitent plus de précaution.

Comment les paniers abandonnés sont modélisés

OneSignal ne détermine pas automatiquement quand un panier est abandonné.C’est vous qui décidez quand un panier devient abandonné dans votre propre code ou système, puis vous en informez OneSignal.
Ce que signifie cart_abandoned L’événement cart_abandoned doit représenter une transition d’état - Le panier était actif → l’utilisateur a cessé d’interagir → le panier est maintenant considéré comme abandonné. Cet événement doit être envoyé :
  • Après une période significative d’inactivité (ex : 1 heure)
  • Uniquement si le panier contient encore des articles
N’envoyez pas cart_abandoned à chaque mise à jour du panier.L’envoi répété de cet événement amènera les utilisateurs à réentrer dans le Journey plusieurs fois et pourrait les spammer.

Comment les Journeys utilisent les signaux d’abandon

Une fois que OneSignal reçoit cart_abandoned :
  • L’utilisateur devient éligible pour entrer dans le Journey
  • Une période d’attente lui laisse le temps de revenir naturellement
  • Un message est envoyé uniquement s’il ne sort pas
  • L’utilisateur sort immédiatement lorsque cart_emptied est reçu
Les Journeys contrôlent le timing et la répétition — ils ne déterminent pas l’abandon.

Configuration

Étape 1. Planifiez vos données et votre source de panier

Décidez quelles informations du panier vous souhaitez afficher et d’où proviennent ces données. Les données courantes du panier incluent :
  • Nom du produit, image, prix et quantité
  • Nombre d’articles dans le panier
  • Un lien profond vers le panier
Votre source de données détermine comment vous envoyez les événements :
Source de donnéesMéthode recommandée
Application ou site webOneSignal Frontend SDK
Backend ou base de donnéesOneSignal REST API
Plateforme tierceCustom Events basés sur l’intégration
À la fin de cette étape, vous savez quelles données vous allez envoyer et comment vous allez les envoyer.

Étape 2. Envoyez les signaux d’état du panier à OneSignal

Vous devez envoyer des signaux qui représentent les changements d’état du panier.
SignalObjectif
cart_abandonedActivité du panier détectée et non résolue
cart_updatedContenu du panier modifié
cart_emptiedPanier vidé ou achat terminé
Les noms d’événements et de tags doivent correspondre exactement entre les appels SDK/API, les Segments, les règles de Journey et les modèles Liquid.
Utilisez les SDK Web ou Mobile de OneSignal pour envoyer des Custom Events ou des Tags.
Méthode SDKDescription
trackEventEnvoyer un Custom Event (Mobile SDK, Web SDK)
addTagsAjouter un Tag (Mobile SDK, Web SDK)
removeTagsSupprimer un Tag (Mobile SDK, Web SDK)
Exemple de Custom Event
L’événement cart_abandoned doit être envoyé après une période d’inactivité du panier, et non lorsque l’utilisateur entre ou met à jour son panier.L’événement cart_emptied doit être envoyé immédiatement lorsque le panier est vidé ou qu’un achat est effectué.
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"
});
Exemple de Tag
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 vous n’envoyez pas de signal cart_emptied, les utilisateurs peuvent continuer à recevoir des messages de panier abandonné après l’achat.

Étape 3. Créez des modèles de messages de panier abandonné

Créez des modèles de messages qui référencent dynamiquement les données du panier. Pour plus de détails sur les concepts utilisés dans cette section, consultez :
Référencez les propriétés d’événement en utilisant le format de syntaxe Liquid :
Liquid
{{journey.event.name.properties.property_name | default: "fallback_value"}}
Message :
Liquid
You left {{journey.event.cart_abandoned.properties.product_name | default: "items"}} in your cart.
Image :
Liquid
{{journey.event.cart_abandoned.properties.product_image | default: "https://i.imgur.com/ssPCfbC.png"}}
URL de lancement :
Liquid
{{journey.event.cart_abandoned.properties.cart_url | default: "https://yourdomain.com/cart"}}
L’image ne s’affichera pas si product_image n’est pas une URL d’image directe et publiquement accessible.Si votre product_image est le nom d’un fichier image disponible en ligne, vous pouvez référencer l’image en utilisant le format suivant : https://yourdomain.com/images/{{journey.event.cart_abandoned.properties.product_image | default: "stock_image"}}.png
Exemple de modèle de panier abandonné avec Custom Events
Besoin d’exemples d’e-mails, d’aide ou simplement d’inspiration ?

Étape 4. Créez le Segment de panier abandonné (Tags uniquement)

Cette étape est requise uniquement si vous utilisez les Tags pour suivre l’activité du panier. Si vous utilisez les Custom Events, vous pouvez ignorer cette étape.
Le Segment déterminera qui peut entrer dans le Journey. Consultez Segments pour plus de détails. Sélectionnez le filtre User Tag pour suivre les utilisateurs où le tag cart_updated exists ET sélectionnez le filtre Last Session sur less than 7 days ago
Segment de panier abandonné avec filtre Tag où le tag cart_updated existe et la dernière session date de moins de 7 jours
Nous pouvons maintenant suivre les utilisateurs qui mettent à jour leur panier et qui ont visité l’application ou le site web au cours des 7 derniers jours.Les utilisateurs seront automatiquement retirés du segment lorsque l’une des conditions suivantes est remplie :
  • Après 7 jours écoulés depuis leur dernière visite de l’application/du site web
  • Lorsque le tag cart_updated est supprimé

Étape 5. Créez le Journey de panier abandonné

Créez un Journey qui réagit à l’activité du panier. Consultez Journeys pour plus de détails.
Écran de création d'un nouveau Journey de panier abandonné

Paramètres du Journey

Consultez le guide Paramètres du Journey pour plus de détails sur les règles d’entrée, de sortie et de réentrée. Règles d’entrée :
  • Sélectionnez Custom Event
  • Nom du Custom Event : cart_abandoned
Les utilisateurs entrent dans le Journey chaque fois que l’événement cart_abandoned est envoyé. N’envoyez cet événement qu’après une période significative d’inactivité.
Règles d'entrée du Journey de panier abandonné avec Custom Event
Règles de sortie :
  • Sélectionnez Meet a certain condition
  • Cochez Exit when custom event condition occurs
  • Nom du Custom Event : cart_emptied
Règles de sortie du Journey de panier abandonné avec Custom Event
Les utilisateurs sortiront du Journey lorsque :
  • L’événement cart_emptied (de l’étape 3) est exécuté.
  • Ils complètent le Journey.
Règles de réentrée (Tags uniquement) :
  • Sélectionnez Yes, after a certain amount of time
  • Définissez le temps de réentrée à 1 day
Règles de réentrée du Journey de panier abandonné
Si vous avez suivi ce guide entièrement jusqu’ici, les utilisateurs vont :
  1. Entrer dans le Journey lorsqu’ils abandonnent/mettent à jour leur panier
  2. Sortir du Journey lorsqu’ils vident leur panier ou complètent le Journey.
  3. Être éligibles pour réentrer dans le Journey :
    • Custom Events : Chaque fois que l’événement cart_abandoned est exécuté
    • Tags : Après 1 jour écoulé depuis leur dernière sortie du Journey et qu’ils sont dans le segment.
Enregistrez les paramètres du Journey.

Étapes du Journey

Les utilisateurs entreront dans le Journey lorsqu’ils correspondent au Segment. Cela se produit généralement dans les quelques minutes suivant la réception de l’événement/du tag. Les utilisateurs progresseront dans le Journey étape par étape jusqu’à atteindre la fin ou qu’une règle de sortie soit satisfaite. Pour un Journey basique de panier abandonné, nous voulons faire 2 choses :
  1. Donner à l’utilisateur suffisamment de temps pour vider son panier (effectuer un achat ou vider manuellement son panier)
  2. S’il ne vide pas son panier, lui envoyer un message lui rappelant les articles dans son panier
Pour cela, ajoutez d’abord une étape Wait au Journey.
  • Définissez le temps d’attente à la durée souhaitée. Nous recommandons de le régler à 1 hour pour pouvoir leur envoyer un message pendant qu’ils ont encore l’intention d’acheter.
Ajoutez une étape Message.
  • Sélectionnez le modèle de notification push Abandoned Cart que vous avez créé à l’étape 4.
Étapes basiques du Journey de panier abandonné
Le Journey basique de panier abandonné est maintenant configuré.Lorsqu’un utilisateur entre dans le Journey, il attendra 1 heure. S’il ne sort pas du Journey, il recevra la notification push de panier abandonné.

Configuration avancée du Journey

En utilisant les connaissances acquises dans ce guide, vous pouvez maintenant étendre le Journey pour envoyer plus de messages au fil du temps.

Séquence de messages

Une séquence de timing de bonnes pratiques pour une cadence très courante et performante est :
  1. Envoyer le premier message après 1 heure (complété dans ce guide).
  2. Ajouter une autre étape Wait d’1 jour et envoyer un deuxième message (~24 heures depuis la mise à jour du panier).
  3. Ajouter une autre étape Wait de 2 jours et envoyer un troisième message (~72 heures depuis la mise à jour du panier).
Types et contenu des messages : Selon les canaux que vous avez configurés avec OneSignal, vous obtiendrez de meilleurs résultats en utilisant une approche omnicanale.
  1. Ce guide montre comment envoyer une notification push après la première heure. Cela sert de rappel utile pour essayer de conclure la vente pendant que l’utilisateur est peut-être encore en ligne.
  2. Envisagez d’utiliser à la fois le push et l’e-mail pour votre 2ème message. Utilisez ce deuxième message pour mettre en avant les avantages et la preuve sociale avec une légère urgence pour les encourager à acheter.
  3. Pour le dernier message de la séquence, utilisez un e-mail ou peut-être un SMS (selon le cas d’utilisation) comme « dernier appel ». Envisagez d’utiliser un code de réduction ou une autre incitation pour les encourager à acheter.

Messages de repli

Les Journeys de OneSignal fournissent une logique de branchement Wait Until que vous pouvez utiliser pour vérifier si un message a été confirmé comme livré, cliqué ou ouvert et, si ce n’est pas le cas dans un certain délai, envoyer un message de repli. C’est extrêmement utile pour les utilisateurs qui se sont peut-être désabonnés d’un canal de messagerie spécifique. Plus de détails sur la configuration des messages de repli sont disponibles dans notre guide Messages de repli.

Suivez les performances

Les Analytics du Journey peuvent être utilisées pour suivre les performances globales du Journey. Vous pouvez également suivre les performances de chaque message en utilisant les Analytics de modèle.

Suivez les revenus avec les Outcomes

Pour suivre les revenus de ce Journey, vous pouvez utiliser les Custom Outcomes. Lorsqu’un achat est effectué, vous pouvez envoyer l’événement en tant que « Custom Outcome » pour suivre les revenus associés au message spécifique envoyé. Les Custom Outcomes peuvent être envoyés via le Mobile SDK ou le 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);
  });
}
Les Outcomes peuvent attribuer des revenus aux messages que les utilisateurs ont cliqués ou par lesquels ils ont été influencés dans une fenêtre d’attribution définie.
Vous avez implémenté avec succès un Journey de panier abandonné. Lorsque vous êtes prêt à commencer à envoyer des messages, sélectionnez Set Live.
Besoin d’aide ?Discutez avec notre équipe d’assistance ou envoyez un e-mail à support@onesignal.comVeuillez inclure :
  • Les détails du problème que vous rencontrez et les étapes de reproduction si disponibles
  • Votre OneSignal App ID
  • L’External ID ou le Subscription ID le cas échéant
  • L’URL du message que vous avez testé dans le OneSignal Dashboard le cas échéant
  • Tous les journaux ou messages d’erreur pertinents
Nous serons ravis de vous aider !