Prérequis
Avant de commencer, assurez-vous d’avoir :- Une boutique Shopify avec l’application Vendo installée
- Un compte et une application OneSignal (plateforme Web)
- Votre App ID OneSignal (obligatoire)
- Votre REST API Key OneSignal (obligatoire pour les événements côté serveur comme la synchronisation des commandes et le balisage des utilisateurs)
Configuration OneSignal
Créer une application OneSignal
Connectez-vous à onesignal.com et créez ou sélectionnez une application. Choisissez Web comme plateforme et sélectionnez Custom Code comme type d’intégration.
Configurer les paramètres push web
Dans votre application OneSignal, accédez à Settings > Push & In-App > Web Settings ou suivez le guide de configuration du push web.Configuration du site
- Site Name : Le nom de votre boutique, utilisé comme titre de notification par défaut.
- Site URL : L’URL accessible publiquement de votre boutique Shopify (par ex.
https://yourstore.com).- Doit être l’origine exacte de votre site.
- N’utilisez pas
https://your-site.myshopify.com/si les clients accèdent à votre site via un domaine personnalisé commehttps://your-site.com/.
- Default Icon URL : Téléchargez une image PNG ou JPG carrée de 256x256px pour les invites et messages de notification. Si non définie, une icône de cloche est utilisée.
Configurer le chemin du service worker
Shopify n’autorise pas la diffusion de fichiers depuis la racine du site, vous devez donc indiquer à OneSignal où Vendo sert le fichier service worker.Dans OneSignal, accédez à Settings > Push & In-App > Web Settings, faites défiler jusqu’à Advanced Push Settings et configurez :

Vendo sert automatiquement le fichier
| Paramètre | Valeur |
|---|---|
| Service Worker Path | /apps/vendo/ |
| Service Worker Filename | OneSignalSDKWorker.js |
| Updater Filename | OneSignalSDKWorker.js |
| Service Worker Registration Scope | /apps/vendo/ |

OneSignalSDKWorker.js requis à https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js — aucun téléchargement manuel de fichier n’est nécessaire.L’Updater Filename et le Service Worker Filename sont le même fichier. OneSignal v16+ utilise un seul service worker pour les deux usages.
Copier vos identifiants
Dans OneSignal, accédez à Settings > Keys & IDs et copiez votre App ID et votre REST API Key. Vous les saisirez dans Vendo.
Configuration Vendo
Ajouter l'intégration OneSignal
Dans Vendo, accédez à Integrations > Add Integration > OneSignal (ou Destinations > OneSignal).

Saisir vos identifiants OneSignal
Saisissez votre App ID et votre REST API Key OneSignal de la section précédente, puis cliquez sur Save.
Activer le bloc de thème Vendo
Le bloc de thème Vendo charge le SDK OneSignal sur votre boutique. Sans lui, l’invite push n’apparaîtra pas et le suivi côté client ne fonctionnera pas.
- Dans votre administration Shopify, accédez à Online Store > Themes > Customize.
- Cliquez sur App embeds (icône de pièce de puzzle dans la barre latérale gauche).
- Activez Vendo.
- Cliquez sur Save.
Sélectionner les événements à synchroniser
Dans l’application Vendo sous OneSignal > Events, activez les événements côté client et côté serveur que vous souhaitez envoyer à OneSignal. Consultez Suivi ci-dessous pour la liste complète des événements.
Suivi
Identification des utilisateurs
Vendo utilise une approche réservée aux utilisateurs identifiés — les visiteurs anonymes ne sont pas suivis dans OneSignal. Les utilisateurs doivent être identifiés via l’une des quatre méthodes avant que les événements soient envoyés. Cela évite les doublons d’utilisateurs et garantit des données propres et exploitables.| Méthode | Comment ça fonctionne | Identifiant utilisé |
|---|---|---|
| Abonnement push web | Le visiteur clique sur “Autoriser” dans l’invite push. OneSignal crée automatiquement un utilisateur et Vendo capture l’ID OneSignal. | OneSignal ID |
| Inscription à la newsletter | Le visiteur soumet un formulaire de newsletter ou d’e-mail. Vendo capture l’e-mail et appelle OneSignal.login(email). | |
| Connexion client | Le client se connecte à son compte Shopify. Vendo le détecte et appelle OneSignal.login() avec l’identifiant configuré. | Shopify Customer ID ou Email |
| Commande complétée | Le client finalise un achat. Vendo stocke l’identifiant et appelle OneSignal.login(). | Shopify Customer ID ou Email |
Fusion d’identités
Si un abonné push (identifié par l’ID OneSignal) se connecte ensuite ou finalise un achat, Vendo appelleOneSignal.login() avec son Shopify Customer ID ou son e-mail. OneSignal associe l’abonnement push à l’utilisateur identifié — aucun doublon d’utilisateur n’est créé. Tous les abonnements push passés sont conservés, et les événements côté serveur (commandes, exécutions) atteignent le bon profil utilisateur.
Tags clients
Vendo synchronise les propriétés des clients sous forme de tags dans OneSignal pour la segmentation. Toutes les valeurs sont stockées sous forme de chaînes (format natif d’OneSignal).| Tag | Description |
|---|---|
email | E-mail du client |
first_name | Prénom |
last_name | Nom de famille |
total_spent | Dépenses totales |
order_count | Nombre total de commandes |
verified_email | "true" ou "false" |
tax_exempt | "true" ou "false" |
marketing_state | État du consentement marketing |
first_order_date | Date de première commande (ISO 8601) |
last_order_date | Date de commande la plus récente (ISO 8601) |
customer_created_at | Date de création du client |
customer_tags | Tags Shopify séparés par des virgules |
email_marketing_consent | État d’opt-in marketing |
Événements côté client
Vendo suit les événements personnalisés côté client sur votre boutique via le Shopify Web Pixel et les envoie à OneSignal. Ces événements ne sont envoyés qu’après identification de l’utilisateur.| Événement | Description |
|---|---|
page_viewed | Le client visite une page (boutique, caisse ou statut de commande) |
product_viewed | Le client consulte une page de détails produit |
collection_viewed | Le client consulte une page de collection de produits |
search_submitted | Le client effectue une recherche sur la boutique |
product_added_to_cart | Un produit est ajouté au panier |
product_removed_from_cart | Un produit est retiré du panier |
cart_viewed | Le client consulte la page du panier |
checkout_started | Le client commence le paiement |
checkout_contact_info_submitted | Étape de coordonnées soumise |
checkout_address_info_submitted | Étape d’adresse soumise |
checkout_shipping_info_submitted | Mode de livraison sélectionné |
payment_info_submitted | Détails de paiement soumis |
checkout_completed | Paiement finalisé avec succès |

Événements côté serveur
Les événements commerciaux Shopify sont exportés et transmis à OneSignal via le pipeline Vendo. Ils utilisent toujours le Shopify Customer ID commeexternal_id.
| Événement | Description |
|---|---|
received_orders | Une nouvelle commande est créée |
fulfilled_orders | La commande est exécutée/expédiée |
delivered_orders | La commande est livrée |
refunded_orders | La commande est entièrement remboursée |
partially_refunded_orders | La commande est partiellement remboursée |
abandoned_checkouts | Le paiement est abandonné |

Propriétés communes des événements
Tous les événements incluent ces propriétés (sous forme de chaînes) :| Propriété | Description |
|---|---|
order_id | Identifiant de commande affiché |
shopify_order_id | ID de commande interne Shopify |
email | E-mail du client |
currency | Devise de la commande |
source | Source de l’événement |
version | Version de l’intégration |
Fréquence de synchronisation des données
| Type de données | Fréquence de synchronisation |
|---|---|
| Tags clients | Toutes les 4–6 heures |
| Événements de commande | Quasi temps réel (en quelques minutes) |
| Paniers abandonnés | Toutes les 1–2 heures |
| Événements d’exécution | Quasi temps réel |
Détails de la plateforme
| Paramètre | Valeur |
|---|---|
| Méthode de synchronisation | Client + côté serveur via Vendo |
| Identité | Shopify Customer ID, Email ou OneSignal ID |
| Déduplication | Hachage UUID v5 par événement |
| Taille de lot | 1 000 événements par requête |
| Format des données | Toutes les valeurs stockées sous forme de chaînes |
Cas d’utilisation
Récupération de panier abandonné
Créez un Journey déclenché par l’événementabandoned_checkouts. Attendez 1 heure après l’abandon, puis envoyez une notification push avec le lien de récupération en utilisant la propriété checkout_url.
Mises à jour du statut de commande
Créez des Journeys pourfulfilled_orders et delivered_orders pour envoyer des notifications push immédiates avec les informations de suivi lorsque les commandes sont expédiées et livrées.
Engagement des clients VIP
Créez un segment oùtotal_spent est supérieur à un seuil, puis envoyez des offres exclusives personnalisées avec le tag first_name.
Campagnes de réengagement
Ciblez les clients inactifs en créant un segment oùlast_order_date est antérieur de plus de 90 jours et envoyez des campagnes de reconquête.
Sources compatibles
OneSignal fonctionne avec les sources de données Vendo suivantes :| Source | Événements | Tags utilisateurs | Audiences |
|---|---|---|---|
| Shopify | Oui | Oui | Oui |
| Stripe | Oui | Oui | Oui |
| Mixpanel | — | — | Oui |
| Segment | — | — | Oui |
| Amplitude | — | — | Oui |
Tests
Vérifier le service worker
Visitez
https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js dans votre navigateur. Vous devriez voir du code JavaScript. Si vous obtenez une erreur 404, vérifiez que l’application Vendo est installée.Vous pouvez également ouvrir les DevTools du navigateur (F12), aller dans Application > Service Workers et confirmer que OneSignalSDKWorker.js est enregistré avec un scope /apps/vendo/.Tester l'invite push
Ouvrez votre boutique dans une fenêtre de navigation privée/incognito. Vous devriez voir l’invite de permission de notification OneSignal. Cliquez sur Autoriser pour vous abonner.
Envoyer une notification de test
Dans le tableau de bord OneSignal, accédez à Messages > Push > New Message. Envoyez une notification de test à votre abonné et vérifiez qu’elle apparaît.
Vérifier les données utilisateur dans OneSignal
Accédez à Audience > Subscriptions et confirmez que votre abonnement de test apparaît. Vérifiez que les tags utilisateur (e-mail, nom, etc.) se synchronisent pour les utilisateurs identifiés.
Dépannage
Le service worker renvoie 404
Le service worker doit se trouver à/apps/vendo/OneSignalSDKWorker.js. Si vous voyez une erreur 404 au chemin racine (/OneSignalSDKWorker.js), le chemin du service worker n’est pas configuré dans OneSignal — suivez l’étape de configuration du service worker. Si le 404 est au chemin /apps/vendo/, vérifiez que l’application Vendo est installée et que le bloc de thème est activé.
L’invite push n’apparaît pas
Vérifiez que le bloc de thème Vendo est activé dans App embeds. Vérifiez que votre navigateur autorise les notifications (cliquez sur l’icône de cadenas dans la barre d’adresse). Essayez une fenêtre de navigation privée au cas où l’invite aurait été précédemment refusée.Les tags n’apparaissent pas dans OneSignal
Les tags ne se synchronisent que pour les utilisateurs identifiés — les visiteurs anonymes ne sont pas suivis. Assurez-vous que l’utilisateur a été identifié via un abonnement push, une connexion, une inscription à la newsletter ou un paiement. Les premières synchronisations de tags peuvent prendre plusieurs heures.Les événements ne se déclenchent pas
Vérifiez que les événements sont activés dans l’application Vendo sous OneSignal > Events. Les événements côté client nécessitent que le Shopify Web Pixel soit actif et que l’utilisateur soit identifié. Les événements côté serveur nécessitent que la REST API Key soit configurée.Les notifications affichent “Livré” mais n’apparaissent pas
L’intégration fonctionne — le problème vient de vos paramètres de notification du navigateur ou du système d’exploitation. Vérifiez les paramètres de notification de votre système d’exploitation pour votre navigateur, assurez-vous que le mode Ne pas déranger / Concentration est désactivé, et vérifiez les permissions de notification au niveau du navigateur.FAQ
Puis-je changer l’identifiant client après la configuration ?
Oui. Mettez à jour le paramètre dans l’application Vendo sous Settings > Customer Identifier. Changer l’identifiant peut créer des profils utilisateur séparés si les utilisateurs existants ont déjà été identifiés avec la méthode précédente.L’intégration Vendo prend-elle en charge les applications mobiles ?
L’intégration Vendo se concentre sur les boutiques Shopify et le push web. Si vous avez également une application mobile, assurez-vous que l’identifiant que vous sélectionnez dans Vendo correspond à celui que vous utilisez dans votre application mobile pour que les profils utilisateurs restent cohérents.Que se passe-t-il si un visiteur n’est jamais identifié ?
Les événements des visiteurs non identifiés ne sont pas envoyés à OneSignal. Une fois que le visiteur s’identifie (en s’abonnant au push, en se connectant, en s’inscrivant à une newsletter ou en finalisant un achat), Vendo commence à envoyer des événements. Cette approche réservée aux utilisateurs identifiés évite les doublons et garantit des données propres.Pourquoi Vendo utilise-t-il une approche réservée aux utilisateurs identifiés ?
Les versions précédentes suivaient les visiteurs anonymes en utilisant le cookie de session Shopify comme identifiant. Cela créait des utilisateurs OneSignal en double qui ne pouvaient jamais être correctement fusionnés, entraînant des comptages d’utilisateurs gonflés et des données fragmentées. L’approche réservée aux utilisateurs identifiés garantit que chaque utilisateur OneSignal est réel et exploitable.Pages associées
Keys & IDs
Trouvez votre App ID et votre clé REST API OneSignal.
Événements personnalisés
Suivez le comportement des utilisateurs et déclenchez des automatisations basées sur les événements Shopify.
Configuration push web
Configurez les notifications push web pour votre boutique Shopify.
Invites de permission web
Configurez comment et quand inviter les visiteurs à autoriser le push web.
