Passer au contenu principal

Aperçu

Rappeler aux utilisateurs les articles laissés dans leurs paniers d’achat est l’un des moyens les plus efficaces d’augmenter les conversions et de récupérer les revenus perdus. Lorsqu’elles sont correctement mises en œuvre, les campagnes de panier abandonné offrent des résultats prouvés comme le montrent nos Études de cas. Ce guide étape par étape montre comment implémenter des notifications de panier abandonné avec des exemples de code pour deux scénarios :
  1. Utiliser les puissants outils de marquage et de segmentation de OneSignal dans un Journey basé sur un segment.
  2. Utiliser les nouvelles fonctionnalités complètes d’Événements personnalisés de OneSignal et deux Journeys déclenchés par des événements simples.
Si vous avez déjà une solution de panier abandonné configurée, vous pouvez utiliser nos Flux de données pour synchroniser les données de panier directement dans vos messages OneSignal.
  • Utilisation des Tags et Segments
  • Utilisation des événements personnalisés

Configuration

1. Suivre l’activité du panier avec des tags

Utilisez des tags pour suivre quand les utilisateurs ajoutent des articles à leur panier. Ces tags peuvent inclure le nom du produit, l’image et un horodatage :
  • cart_update : Horodatage Unix de la mise à jour du panier
  • product_name : Nom du produit lisible par l’homme pour la personnalisation
  • product_image : URL directe vers l’image du produit pour l’engagement visuel
Voici un exemple de base pour taguer les articles ajoutés à un panier :
let productName = "Name of the Product"; // Replace with the name of item
let productImageURL = "https://yoursiteurl.com/image-file.jpg"; // Replace with the url to the image

// Use this example method when user adds item to cart
async function addTagsUponCartUpdate(productName, productImageURL) {
await OneSignalDeferred.push(async function (OneSignal) {
let timestamp = Math.floor(Date.now() / 1000);
await OneSignal.User.addTags({
cart_update: timestamp,
product_name: productName,
product_image: productImageURL,
});
// Call getTags after adding tags
const tags = await OneSignal.User.getTags();
console.log(tags);
});
}

// Call the function, or attach to add to cart button
addTagsUponCartUpdate(productName, productImageURL);

Si les utilisateurs passent commande ou retirent des articles, assurez-vous de supprimer les tags pour éviter les faux positifs.Supprimer les tags lorsque l’achat est terminé :
//Removes the cart tags, call when user purchases or removes items from cart
async function removeCartTags() {
  await OneSignalDeferred.push(async function (OneSignal) {
    let timestamp = Math.floor(Date.now() / 1000);
    await OneSignal.User.addTags({
      cart_update: "",
      product_name: "",
      product_image: "",
    });
    // Call getTags after removing tags
    const tags = await OneSignal.User.getTags();
    console.log(tags);
  });
}
Si l’utilisateur quitte votre site sans passer commande (abandonnant son panier), vous avez maintenant suffisamment d’informations pour le cibler avec une notification de panier abandonné personnalisée.

2. Créer un segment de panier abandonné

Une fois la configuration de marquage terminée, nous devons cibler ces utilisateurs et leur envoyer des messages après un certain temps. Dans votre tableau de bord OneSignal, accédez à Audience > Segments.Les Segments permettent de regrouper les abonnements en fonction des données collectées : 1 - s’ils ont des articles dans le panier et 2 - combien de temps s’est écoulé depuis que ces articles ont été laissés dans le panier.
  • Avec filtre Dernière session
  • Avec opérateurs de temps
Ce segment inclura les utilisateurs qui ont des articles dans leur panier et qui ont quitté le site ou l’application mobile il y a plus d’1 heure. L’utilisateur ajoute un article au panier, puis quitte l’application ou le site, 1 heure plus tard, il sera dans ce segment.
  1. Sélectionnez le filtre “Tag utilisateur”
  2. Définissez cart_update sur “existe”
  3. Sélectionnez “Ajouter un filtre” pour créer une relation “ET”.
  4. Sélectionnez le filtre “Dernière session” et définissez “supérieur à” 1.
  5. Sélectionnez “Ajouter un filtre” à nouveau et définissez un autre filtre “Dernière session” sur “inférieur à” 24. (l’utilisateur quittera le segment après 24 heures).
  6. Nommez le segment Panier abandonné 1 heure (non requis mais utile pour s’en souvenir).

Exemple de segment de panier abandonné

À mesure que les utilisateurs ajoutent/retirent des articles de leur panier et quittent/reviennent sur le site, ils entreront et sortiront automatiquement de ce segment.Vous pouvez toujours revenir à ce segment plus tard si vous souhaitez modifier le délai d’1 heure à un délai plus long.Les segments peuvent être dupliqués pour en créer d’autres et configurer différents délais si vous souhaitez également envoyer des messages différents après des délais plus longs.

3. Créer un message de panier abandonné

C’est ici que nous pouvons faire preuve de créativité ! Si votre site/application a certaines phrases, un langage ou des emojis que vous aimez, utilisez-les ! Tout cela est excellent pour la reconnaissance de la marque, inciter les utilisateurs à cliquer et les amener à passer commande.De plus, en utilisant les tags product_name et product_image, nous pouvons inclure ces données dans le message pour la Personnalisation des messages.Par exemple, nous pouvons dire : “Hé Cool Cat 😸 ! Votre nouvelle gamelle à eau pour chat jaune vous attend !”. Et inclure l’image de l’article dans le message.Dans le tableau de bord OneSignal, accédez à Messages > Modèles et sélectionnez “Nouveau modèle Push”.Les Modèles sont un moyen de créer des messages réutilisables et de surveiller combien de fois ils ont été envoyés et cliqués.
  1. Nommez le modèle : Panier abandonné 1 heure ou tout ce que vous avez nommé le segment.
  2. Ajoutez votre titre, exemple : Hé Cool Cat 😸 !
  3. Ajoutez votre message, exemple : Votre nouveau {{product_name | default: "article"}} vous attend !
  • ici {{product_name | default: "article"}} sera remplacé par la valeur définie pour ce tag. Si aucun tag n’est défini, “article” sera utilisé.
  1. Définissez l’image comme : {{product_image}}
  • ici {{product_image}} sera remplacé par l’URL de l’image du produit. Si la valeur du tag n’est pas un lien direct vers l’image, elle ne s’affichera pas.
  1. Définissez l’URL de lancement comme l’URL de votre page de paiement
  • ici, si la page de paiement est unique par utilisateur, nous devrions soit créer un lien vers la page du panier (si non unique) soit utiliser plus de substitution de tags. Par exemple, si votre page de paiement est : https://yoursite.com/username/checkout, nous devons taguer l’utilisateur avec un tag user_name afin que son nom d’utilisateur puisse être remplacé si nous utilisons : https://yoursite.com/{{user_name}}/checkout

Exemple de message de panier abandonné

Important : vous pouvez utiliser n’importe quelle langue dans ces champs (pas obligatoirement l’anglais) et si vous souhaitez ajouter plus d’1 langue, sélectionnez simplement “Ajouter des langues” pour mettre votre propre traduction du message.
  1. Sous l’aperçu, cliquez sur “Envoyer un message de test” pour tester son apparence !
  2. Une fois terminé, appuyez sur “Enregistrer” en bas.
Maintenant que notre modèle réutilisable est configuré, nous pouvons retourner à la page Messages > Modèles pour surveiller combien de fois il a été envoyé et ouvert.Vous pouvez créer autant de modèles que vous le souhaitez et sur tous les différents canaux depuis lesquels vous souhaitez envoyer.

4. Configurer le journey de panier abandonné

Accédez à Journeys > Nouveau Journey.

Paramètres du Journey

  1. Nommez le Journey : Panier abandonné ou tout ce que vous aimez pour reconnaître ce que fait ce Journey.
  2. Règles d’entrée : Incluez le segment Panier abandonné 1 heure.
  3. Règles de sortie : Cochez Sortir lorsqu’un utilisateur ne correspond plus aux conditions d’audience.
  4. Règles de ré-entrée : Sélectionnez Oui, après un certain temps et définissez sur 1 jour.

Exemple de paramètres du Journey

  1. Appuyez sur Enregistrer.

Étapes du Journey

Actuellement, les utilisateurs qui entrent dans le segment commenceront alors à progresser dans le Journey. S’ils quittent le segment, ils quitteront le Journey et ne pourront pas y rentrer avant 1 jour.
  1. Ajoutez une étape de message Notification Push, sélectionnez le modèle Panier abandonné 1 heure et Enregistrer.

Exemple d'étapes du Journey

  1. Ajoutez une étape Attente, sélectionnez 1 Semaine et Enregistrer.
  2. Sélectionnez Enregistrer et fermer.
Vos utilisateurs recevront le modèle de panier abandonné personnalisé une fois tous les 8 jours (1 semaine de nœud d’attente + 1 jour de règle de ré-entrée) jusqu’à ce qu’ils mettent à jour leur panier ou passent commande.
Vous avez terminé avec succès la configuration minimale du panier abandonné ! Vous pouvez maintenant créer plus de modèles, ajouter plus d’étapes de Journey, de messages et mettre à jour selon vos besoins !Lorsque vous êtes prêt, appuyez simplement sur Mettre en ligne.

5. Configuration optionnelle du suivi des performances du panier abandonné

Une fois les messages de panier abandonné configurés, vous pouvez suivre leurs performances en accédant à Modèles et en consultant les taux d’ouverture et de clic.Si vous avez un compte OneSignal payant, vous pouvez également utiliser Résultats pour suivre les revenus réels générés.Lorsque le client termine le paiement, lors de la sélection du bouton “Soumettre le paiement”, appelez la méthode suivante.
//Example to get the price and total items in cart
// replace ".checkout-price-total" with the class name the element containing the cart's total price
const checkoutPriceTotal = document.querySelector(".checkout-price-total").innerText;
// optional replace ".checkout-items-total" with the class name the element containing the total items in cart to be purchased
const checkoutItemsTotal = document.querySelector(".checkout-items-total").innerText;
//Call this method in the click event for the final button to submit payment
function updateOSOnCartPurchase(checkoutPriceTotal, checkoutItemsTotal) {
  let purchasePriceTotal = parseFloat(checkoutPriceTotal);
  let purchasedItemCount = parseInt(checkoutItemsTotal);
  OneSignalDeferred.push(function (OneSignal) {
    OneSignal.sendOutcome("Purchase", purchasePriceTotal);
    OneSignal.sendOutcome("Purchased Item Count", purchasedItemCount);
  });
}
//example of adding this method to the "submit-payment" button
const submitPurchaseButton = document.querySelector(".submit-payment");
if (submitPurchaseButton) {
  submitPurchaseButton.addEventListener("click", () => {
    updateOSOnCartPurchase(checkoutPriceTotal, checkoutItemsTotal);
  });
}
  • OneSignal.sendOutcome("Purchase", purchasePriceTotal); - enverra à OneSignal le montant total de l’achat et accumulera ces revenus pour tous les achats effectués par tous les clients qui ont cliqué sur un push ou reçu un push dans un délai spécifique (influencé) et effectué l’achat.
  • OneSignal.sendOutcome("Purchased Item Count", purchasedItemCount); - enverra à OneSignal le nombre total d’articles achetés associé au client qui a directement cliqué sur le push pour effectuer un achat ou effectué l’achat “influencé” par un push.
Vous êtes maintenant un expert OneSignal ! Vous avez réalisé une implémentation approfondie de l’offre OneSignal et êtes prêt à faire plus ! Continuez à ajouter plus de bonnes pratiques décrites dans nos Cas d’usage ou suivez les liens ci-dessous pour approfondir ces fonctionnalités individuelles.
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 !