Connectez Shopify à OneSignal via l’intégration Vendo pour les notifications push web, les tags clients, les événements commerce et le ciblage comportemental.
OneSignal s’est associé à Vendo pour créer une intégration Shopify transparente. Vendo déploie le SDK OneSignal sur votre boutique Shopify en un clic — aucune modification manuelle du code du thème n’est requise. Il synchronise les tags clients, les événements de navigation côté client et les événements commerciaux côté serveur vers OneSignal pour vous permettre de créer des segments et de déclencher des campagnes push à partir de comportements réels et de l’historique d’achat.Pour la documentation de Vendo, consultez Vendo OneSignal Destination.
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.
Vous devez sélectionner Custom Code. L’option Typical Site n’expose pas les paramètres de chemin du service worker, donc le SDK essaiera de charger /OneSignalSDKWorker.js depuis la racine de votre boutique — Shopify bloque cela et les abonnements push échoueront silencieusement. Si vous avez déjà créé l’application avec Typical Site, passez à Custom Code dans Settings > Platforms > Web, ou supprimez et recréez l’application.
2
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).
N’utilisez pas https://your-site.myshopify.com/ si les clients accèdent à votre site via un domaine personnalisé comme https://your-site.com/.
Default Icon URL : Téléversez une image PNG, JPG ou GIF non animé carrée de 256×256 qui apparaît dans les notifications et les invites. Si elle n’est pas définie, une icône de cloche est utilisée par défaut. Voir Icônes de notification.
3
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, activez Customize service worker paths and filenames, puis configurez :
Paramètre
Valeur
Path to service worker files
/apps/vendo/
Main service worker filename
OneSignalSDKWorker.js
Updater service worker filename
OneSignalSDKWorker.js
Service worker registration scope
/apps/vendo/
Configuration du service worker pour les boutiques Shopify utilisant Vendo.
Vendo sert automatiquement le fichier OneSignalSDKWorker.js requis à https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js — aucun téléversement manuel de fichier n’est nécessaire.
La page OneSignal > Push Settings de l’application Vendo affiche ces valeurs exactes avec un bouton de copie en un clic, vous n’avez donc pas besoin de les ressaisir.L’Updater Filename et le Main Service Worker Filename sont le même fichier. OneSignal v16+ utilise un seul service worker pour les deux usages.
4
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.
Installez l’application Vendo depuis le Shopify App Store.
2
Ajouter l'intégration OneSignal
Dans Vendo, accédez à Destinations > OneSignal.
Ajouter l'intégration OneSignal dans Vendo.
3
Saisir vos identifiants OneSignal
Saisissez votre App ID et votre REST API Key OneSignal de la section précédente, puis cliquez sur Save.
4
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.
Le bloc de thème gère l’initialisation du SDK, l’enregistrement du service worker, l’affichage de l’invite push, l’identification des utilisateurs (abonnement push, connexion, inscription à la newsletter) et la synchronisation des tags pour les utilisateurs identifiés.
5
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.
6
Configurer les invites push
L’affichage de chaque invite sur votre boutique — et le moment de son affichage — est contrôlé depuis l’application Vendo, pas depuis le tableau de bord OneSignal. Dans l’application Vendo, ouvrez OneSignal > Push Settings. Vous verrez quatre sections, chacune avec son propre bouton bascule :
Section
Fonction
Subscription Bell
Icône de cloche flottante sur laquelle les visiteurs peuvent cliquer pour s’abonner à tout moment
Push Slide Prompt
Bannière coulissante à votre marque demandant la permission push
Native Browser Prompt
Déclenche directement la boîte de dialogue de permission intégrée du navigateur
Pour les invites Push Slide et Native, vous définissez également des déclencheurs — le nombre de pages vues et le nombre de secondes à attendre avant que l’invite ne se déclenche. Des valeurs par défaut raisonnables sont pré-remplies.Les quatre invites sont désactivées par défaut — activez uniquement celles que vous souhaitez. Enregistrez une seule fois en bas de la page ; les modifications prennent effet au prochain chargement de la boutique, sans redéploiement du thème.
Le texte des boutons d’invite, le texte du message d’action, les icônes et les options avancées comme les tests A/B et la localisation sont configurés dans le tableau de bord OneSignal. Depuis les Push Settings de Vendo, cliquez sur Open OneSignal Dashboard pour accéder directement à la page Permission Prompt Setup. Si une invite est configurée dans le tableau de bord OneSignal mais que son bouton bascule Vendo est désactivé, elle ne s’affichera pas — le bouton bascule de Vendo est la source de vérité pour la visibilité.
7
Synchronisation des données historiques (optionnel)
Vendo peut remplir rétroactivement les clients existants et l’historique des commandes récentes vers OneSignal. Cela se produit automatiquement en arrière-plan après avoir enregistré vos identifiants.
Options de synchronisation des données historiques dans Vendo.
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).
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
Si vous avez une application mobile ou des connexions tierces, sélectionnez l’identifiant (Shopify Customer ID vs. Email) qui correspond à vos autres outils pour que les profils utilisateurs restent cohérents entre les plateformes. Configurez ceci dans l’application Vendo sous Settings > Customer Identifier.
Si un abonné push (identifié par l’ID OneSignal) se connecte ensuite ou finalise un achat, Vendo appelle OneSignal.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.
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).
Vendo capture les paramètres UTM et les identifiants de clic au moment du paiement et les synchronise sous forme de tags. Les valeurs last-touch sont écrasées à chaque paiement ; les valeurs first-touch (initial_utm_*) ne sont écrites qu’une seule fois.
Vendo peut synchroniser l’appartenance aux segments Shopify sous forme de tags au format shopify_segment_{segment_id} avec la valeur "true". Consultez la référence Events & Properties de Vendo pour plus de détails sur l’exécution de la synchronisation.
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
alert_displayed
Alerte ou avertissement affiché lors du paiement
ui_extension_errored
Erreur d’exécution d’une extension d’interface de paiement
all_custom_events
Événements clients Shopify personnalisés
Configuration des événements côté client dans Vendo.
Les événements commerciaux Shopify sont exportés et transmis à OneSignal via le pipeline Vendo. Ils utilisent toujours le Shopify Customer ID comme external_id.
Événement
Description
order_received
Une nouvelle commande est créée
order_fulfilled
La commande est exécutée/expédiée
order_delivered
La commande est livrée
order_refunded
La commande est entièrement remboursée
order_partially_refunded
La commande est partiellement remboursée
cart_abandoned
Le paiement est abandonné
Configuration des événements côté serveur dans Vendo.
Créez un Journey déclenché par l’événement cart_abandoned. 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.
Créez des Journeys pour order_fulfilled et order_delivered pour envoyer des notifications push immédiates avec les informations de suivi lorsque les commandes sont expédiées et livrées.
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 et que le bloc de thème est activé.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/.
2
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.
3
Envoyer une notification de test
Dans le tableau de bord OneSignal, accédez à Messages > New Push. Envoyez une notification de test à votre abonné et vérifiez qu’elle apparaît.
4
Vérifier les données utilisateur dans OneSignal
Accédez à Audience > All Users et confirmez que votre utilisateur de test apparaît. Vérifiez que les tags utilisateur (e-mail, nom, etc.) se synchronisent pour les utilisateurs identifiés.
5
Déclencher un événement de test
Parcourez un produit ou effectuez un paiement test sur votre boutique. Confirmez que l’événement apparaît dans l’activité de l’utilisateur dans le tableau de bord OneSignal.
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é.
« Typical Site » a été sélectionné pendant la configuration OneSignal
Vendo requiert le type d’intégration Custom Code. Typical Site n’expose pas les paramètres de chemin du service worker, donc le SDK essaiera de charger /OneSignalSDKWorker.js depuis la racine de votre boutique — Shopify bloque cela et les abonnements push échoueront silencieusement.Solution : dans le tableau de bord OneSignal, changez le type d’intégration de l’application vers Custom Code sous Settings > Platforms > Web, ou supprimez l’application et recréez-la en utilisant Custom Code dès le départ.
Vérifiez que le bloc de thème Vendo est activé dans App embeds.
Dans l’application Vendo sous OneSignal > Push Settings, confirmez qu’au moins un bouton bascule d’invite (Subscription Bell, Push Slide Prompt ou Native Browser Prompt) est activé — les quatre sont désactivés par défaut.
Vérifiez le délai de déclenchement — une Push Slide configurée sur plusieurs pages vues ne se déclenchera pas au premier chargement de page.
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/incognito au cas où l’invite aurait été précédemment refusée.
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.
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 « Delivered » 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.
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 ?
Le suivi des visiteurs anonymes crée des utilisateurs OneSignal en double qui ne peuvent 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.
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.
Cette page vous a-t-elle été utile ?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OneSignal","description":"OneSignal is a platform for sending push notifications, emails, in-app messages, and SMS campaigns via a single API, Journey Builder, and a dashboard.","colors":{"primary":"#3A3DB3","light":"#E54B4D","dark":"#3A3DB3"},"logo":{"light":"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107","dark":"https://mintcdn.com/onesignal/s4WC_KzLxf8ornqq/logo/OneSignal-Logo-White.svg?fit=max\u0026auto=format\u0026n=s4WC_KzLxf8ornqq\u0026q=85\u0026s=2573a53b5aea961e18c82b3af8f31925"},"favicon":"https://mintcdn.com/onesignal/SGduBFHpiRdg5l6h/favicon.ico?fit=max\u0026auto=format\u0026n=SGduBFHpiRdg5l6h\u0026q=85\u0026s=c0a99fadc0553c658a83741c5611cef4","api":{"examples":{"languages":["curl","typescript","python","php","go","ruby","java","csharp","rust"],"autogenerate":true}},"navbar":{"links":[{"href":"mailto:support@onesignal.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.onesignal.com"}},"footer":{"socials":{"github":"https://github.com/OneSignal","linkedin":"https://linkedin.com/company/onesignal","youtube":"https://www.youtube.com/@onesignalofficial/playlists"}},"seo":{"metatags":{"apple-mobile-web-app-title":"OneSignal Docs"}},"fonts":{"family":"Nunito Sans"},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"ga4":{"measurementId":"G-2DGWL0VYP5"},"posthog":{"apiKey":"phc_vZpvE0f5eyzcOt30FHer34yddVmNdo9kmlMVRBzLMtn","apiHost":"https://eu.i.posthog.com","sessionRecording":true}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"languages":[{"language":"en","href":"docs/en/home"},{"language":"cn","href":"docs/cn/home"},{"language":"ko","href":"docs/ko/home"},{"language":"ja","href":"docs/ja/home"},{"language":"tr","href":"docs/tr/home"},{"language":"pt-BR","href":"docs/pt-BR/home"},{"language":"es","href":"docs/es/home"},{"language":"fr","href":"docs/fr/home"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"onesignal","hasAudioNarration":false,"actualSubdomain":"onesignal","customDomains":["documentation.onesignal.com"],"gitSource":{"type":"github","owner":"onesignal","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae52961fd814923a414a631","collectionId":"557b4321-d598-4270-86c9-36902a5eccfe","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae52961fd814923a414a631"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae52961fd814923a414a631","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"en","tag":"User Guides","count":201},{"language":"es","tag":"Guías del Usuario","count":178},{"language":"fr","tag":"Guides utilisateur","count":178},{"language":"ja","tag":"ユーザーガイド","count":178},{"language":"ko","tag":"사용자 가이드","count":178},{"language":"pt-BR","tag":"Guia do Usuário","count":178},{"language":"tr","tag":"Kullanıcı Kılavuzları","count":178},{"language":"cn","tag":"用户指南","count":176},{"language":"en","tag":"Message channels","count":90},{"language":"es","tag":"Canales de mensajería","count":84},{"language":"fr","tag":"Canaux de messagerie","count":84},{"language":"ja","tag":"メッセージングチャネル","count":84},{"language":"ko","tag":"메시지 채널","count":84},{"language":"pt-BR","tag":"Canais de mensagem","count":84},{"language":"tr","tag":"Mesaj kanalları","count":84},{"language":"cn","tag":"消息渠道","count":83},{"language":"default","tag":"API Reference","count":68},{"language":"default","tag":"API reference","count":64},{"language":"en","tag":"Analytics \u0026 Integrations","count":53},{"language":"es","tag":"Analítica \u0026 Integraciones","count":52},{"language":"fr","tag":"Analyses et intégrations","count":52},{"language":"ja","tag":"分析 \u0026 統合","count":52},{"language":"ko","tag":"분석 \u0026 통합","count":52},{"language":"pt-BR","tag":"Análises \u0026 Integrações","count":52},{"language":"tr","tag":"Analitik ve Entegrasyonlar","count":52},{"language":"cn","tag":"分析和集成","count":51},{"language":"cn","tag":"开发者指南","count":48},{"language":"es","tag":"Guías del desarrollador","count":48},{"language":"fr","tag":"Guides développeur","count":48},{"language":"ja","tag":"開発者ガイド","count":48},{"language":"ko","tag":"개발자 가이드","count":48},{"language":"tr","tag":"Geliştirici Kılavuzları","count":48},{"language":"en","tag":"Developer Guides","count":47},{"language":"pt-BR","tag":"Guia de desenvolvedor","count":47},{"language":"en","tag":"Integrations","count":37},{"language":"es","tag":"Integraciones","count":37},{"language":"fr","tag":"Intégrations","count":37},{"language":"ja","tag":"統合","count":37},{"language":"ko","tag":"통합","count":37},{"language":"pt-BR","tag":"Integrações","count":37},{"language":"tr","tag":"Entegrasyonlar","count":37},{"language":"cn","tag":"集成","count":36},{"language":"en","tag":"Tutorials","count":35},{"language":"cn","tag":"推送通知","count":31},{"language":"cn","tag":"OneSignal 作为目的地","count":31},{"language":"en","tag":"Push","count":31},{"language":"en","tag":"OneSignal as destination","count":31},{"language":"es","tag":"Push notificaciones","count":31},{"language":"es","tag":"OneSignal como destino","count":31},{"language":"fr","tag":"Push","count":31},{"language":"fr","tag":"OneSignal comme destination","count":31},{"language":"ja","tag":"プッシュ通知","count":31},{"language":"ja","tag":"OneSignal as 宛先","count":31},{"language":"ko","tag":"푸시","count":31},{"language":"ko","tag":"OneSignal을 데이터 목적지로 사용","count":31},{"language":"pt-BR","tag":"Push notificações","count":31},{"language":"pt-BR","tag":"OneSignal como destino","count":31},{"language":"tr","tag":"Anlık bildirimler","count":31},{"language":"tr","tag":"OneSignal hedef","count":31},{"language":"en","tag":"Mobile SDKs","count":26},{"language":"cn","tag":"移动SDK","count":25},{"language":"es","tag":"SDKs móviles","count":25},{"language":"fr","tag":"SDK mobiles","count":25},{"language":"ja","tag":"モバイルSDK","count":25},{"language":"ko","tag":"모바일 SDKs","count":25},{"language":"pt-BR","tag":"SDKs móveis","count":25},{"language":"tr","tag":"Mobil SDK'lar","count":25},{"language":"cn","tag":"教程","count":24},{"language":"es","tag":"Tutoriales","count":24},{"language":"fr","tag":"Tutoriels","count":24},{"language":"ja","tag":"チュートリアル","count":24},{"language":"ko","tag":"튜토리얼","count":24},{"language":"pt-BR","tag":"Tutoriais","count":24},{"language":"tr","tag":"Eğitimler","count":24},{"language":"en","tag":"Mobile SDK setup","count":19},{"language":"cn","tag":"移动SDK设置","count":18},{"language":"es","tag":"Configuración del SDK móvil","count":18},{"language":"fr","tag":"Configuration SDK mobile","count":18},{"language":"ja","tag":"モバイルSDKセットアップ","count":18},{"language":"ko","tag":"모바일 SDK 설정","count":18},{"language":"pt-BR","tag":"Configuração do SDK móvel","count":18},{"language":"tr","tag":"Mobil SDK kurulumu","count":18},{"language":"default","tag":"Messages","count":9},{"language":"default","tag":"Users","count":9},{"language":"default","tag":"Organization","count":9},{"language":"default","tag":"Journeys","count":8},{"language":"default","tag":"Deprecated","count":6},{"language":"default","tag":"Templates","count":6},{"language":"default","tag":"Subscriptions","count":6},{"language":"default","tag":"Segments","count":5}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"support@onesignal.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"docs/fr/shopify","slug":"/docs/fr/shopify","pageMetadata":{"title":"Intégration Shopify pour le push web","description":"Connectez Shopify à OneSignal via l'intégration Vendo pour les notifications push web, les tags clients, les événements commerce et le ciblage comportemental.","keywords":["Shopify","Vendo","intégration","push web","événements personnalisés","tags clients","e-commerce","panier abandonné"],"href":"/docs/fr/shopify"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Connectez Shopify à OneSignal via l’intégration Vendo pour les notifications push web, les tags clients, les événements commerce et le ciblage comportemental.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,Columns,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!Columns)_missingMdxReference(`Columns`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`OneSignal s’est associé à Vendo pour créer une intégration Shopify transparente. Vendo déploie le SDK OneSignal sur votre boutique Shopify en un clic — aucune modification manuelle du code du thème n’est requise. Il synchronise les tags clients, les événements de navigation côté client et les événements commerciaux côté serveur vers OneSignal pour vous permettre de créer des segments et de déclencher des campagnes push à partir de comportements réels et de l’historique d’achat.`}),`\n`,_jsxs(_components.p,{children:[`Pour la documentation de Vendo, consultez `,_jsx(_components.a,{href:`https://docs.vendodata.com/destinations/onesignal/overview`,children:`Vendo OneSignal Destination`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`prérequis`,children:`Prérequis`}),`\n`,_jsx(_components.p,{children:`Avant de commencer, assurez-vous d’avoir :`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Une boutique Shopify avec l’`,_jsx(_components.a,{href:`https://apps.shopify.com/`,children:`application Vendo`}),` installée`]}),`\n`,_jsx(_components.li,{children:`Un compte et une application OneSignal (plateforme Web)`}),`\n`,_jsxs(_components.li,{children:[`Votre `,_jsx(_components.strong,{children:`App ID`}),` OneSignal (obligatoire)`]}),`\n`,_jsxs(_components.li,{children:[`Votre `,_jsx(_components.strong,{children:`REST API Key`}),` OneSignal (obligatoire pour les événements côté serveur comme la synchronisation des commandes et le balisage des utilisateurs)`]}),`\n`,_jsx(_components.li,{children:`L’app embed Vendo activée dans les paramètres de votre thème Shopify`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`configuration-onesignal`,children:`Configuration OneSignal`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Créer une application OneSignal`,children:[_jsxs(_components.p,{children:[`Connectez-vous à `,_jsx(_components.a,{href:`https://onesignal.com`,children:`onesignal.com`}),` et créez ou sélectionnez une application. Choisissez `,_jsx(_components.strong,{children:`Web`}),` comme plateforme et sélectionnez `,_jsx(_components.strong,{children:`Custom Code`}),` comme type d’intégration.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Vous devez sélectionner `,_jsx(_components.strong,{children:`Custom Code`}),`. L’option `,_jsx(_components.strong,{children:`Typical Site`}),` n’expose pas les paramètres de chemin du service worker, donc le SDK essaiera de charger `,_jsx(_components.code,{children:`/OneSignalSDKWorker.js`}),` depuis la racine de votre boutique — Shopify bloque cela et les abonnements push échoueront silencieusement. Si vous avez déjà créé l’application avec Typical Site, passez à Custom Code dans `,_jsx(_components.strong,{children:`Settings > Platforms > Web`}),`, ou supprimez et recréez l’application.`]})})]}),_jsxs(Step,{title:`Configurer les paramètres push web`,children:[_jsxs(_components.p,{children:[`Dans votre application OneSignal, accédez à `,_jsx(_components.strong,{children:`Settings > Push \u0026 In-App > Web Settings`}),` ou suivez le guide de `,_jsx(_components.a,{href:`/docs/fr/web-push-setup`,children:`configuration du push web`}),`.`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Configuration du site`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Site Name`}),` : Le nom de votre boutique, utilisé comme titre de notification par défaut.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Site URL`}),` : L’URL accessible publiquement de votre boutique Shopify (par ex. `,_jsx(_components.code,{children:`https://yourstore.com`}),`).`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Doit être l’`,_jsx(_components.a,{href:`https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy`,children:`origine`}),` exacte de votre site.`]}),`\n`,_jsxs(_components.li,{children:[`N’utilisez pas `,_jsx(_components.code,{children:`https://your-site.myshopify.com/`}),` si les clients accèdent à votre site via un domaine personnalisé comme `,_jsx(_components.code,{children:`https://your-site.com/`}),`.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Default Icon URL`}),` : Téléversez une image PNG, JPG ou GIF non animé carrée de `,_jsx(_components.code,{children:`256×256`}),` qui apparaît dans les notifications et les invites. Si elle n’est pas définie, une icône de cloche est utilisée par défaut. Voir `,_jsx(_components.a,{href:`/docs/fr/notification-icons#web-notification-icons`,children:`Icônes de notification`}),`.`]}),`\n`]})]}),_jsxs(Step,{title:`Configurer le chemin du service worker`,children:[_jsx(_components.p,{children:`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.`}),_jsxs(_components.p,{children:[`Dans OneSignal, accédez à `,_jsx(_components.strong,{children:`Settings > Push \u0026 In-App > Web Settings`}),`, faites défiler jusqu’à `,_jsx(_components.strong,{children:`Advanced Push Settings`}),`, activez `,_jsx(_components.strong,{children:`Customize service worker paths and filenames`}),`, puis configurez :`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Paramètre`}),_jsx(_components.th,{children:`Valeur`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Path to service worker files`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`/apps/vendo/`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Main service worker filename`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`OneSignalSDKWorker.js`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Updater service worker filename`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`OneSignalSDKWorker.js`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Service worker registration scope`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`/apps/vendo/`})})]})]})]}),_jsx(Frame,{caption:`Configuration du service worker pour les boutiques Shopify utilisant Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=b7bc1794445e002bd3427c94a6ec6ccf`,alt:`OneSignal Advanced Push Settings showing service worker paths configured for Vendo`,\"data-og-width\":`3038`,width:`3038`,\"data-og-height\":`1108`,height:`1108`,\"data-path\":`images/integrations/shopify/vendo-service-worker-configuration.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=280\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=f9f035641926065e0143a813b32f97cd 280w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=560\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=1388d484dca925c629b100fb846276c8 560w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=840\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=77b96e7af65f0af82537ea1d5dfcbb6f 840w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=1100\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=1e3b388f7aed2ea888597d3ed2895bc7 1100w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=1650\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=77bd6af31b6109d131225c8fe852badd 1650w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=2500\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=4c669b0f4b6f23abd7666f2338ac07ce 2500w`})}),_jsxs(_components.p,{children:[`Vendo sert automatiquement le fichier `,_jsx(_components.code,{children:`OneSignalSDKWorker.js`}),` requis à `,_jsx(_components.code,{children:`https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js`}),` — aucun téléversement manuel de fichier n’est nécessaire.`]}),_jsxs(Note,{children:[_jsxs(_components.p,{children:[`La page `,_jsx(_components.strong,{children:`OneSignal > Push Settings`}),` de l’application Vendo affiche ces valeurs exactes avec un bouton de copie en un clic, vous n’avez donc pas besoin de les ressaisir.`]}),_jsx(_components.p,{children:`L’Updater Filename et le Main Service Worker Filename sont le même fichier. OneSignal v16+ utilise un seul service worker pour les deux usages.`})]})]}),_jsx(Step,{title:`Copier vos identifiants`,children:_jsxs(_components.p,{children:[`Dans OneSignal, accédez à `,_jsx(_components.a,{href:`/docs/fr/keys-and-ids`,children:_jsx(_components.strong,{children:`Settings > Keys \u0026 IDs`})}),` et copiez votre `,_jsx(_components.strong,{children:`App ID`}),` et votre `,_jsx(_components.strong,{children:`REST API Key`}),`. Vous les saisirez dans Vendo.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`configuration-vendo`,children:`Configuration Vendo`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Installer l'application Vendo`,children:_jsx(_components.p,{children:`Installez l’application Vendo depuis le Shopify App Store.`})}),_jsxs(Step,{title:`Ajouter l'intégration OneSignal`,children:[_jsxs(_components.p,{children:[`Dans Vendo, accédez à `,_jsx(_components.strong,{children:`Destinations > OneSignal`}),`.`]}),_jsx(Frame,{caption:`Ajouter l'intégration OneSignal dans Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=13acfaf4e6b01f77535f1a1386c4212d`,alt:`Vendo Integrations page showing the OneSignal integration option`,\"data-og-width\":`2520`,width:`2520`,\"data-og-height\":`1756`,height:`1756`,\"data-path\":`images/integrations/shopify/vendo-onesignal-integrations.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=280\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=094d74aa6803a73332fece950acf2220 280w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=560\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=a0db5dcf258f52557d8081d4143790b0 560w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=840\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=a6bbbdfc27769e5d1d45711ac85ef16a 840w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=1100\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=bf548380a6bcbbb3c008a74ec1ab270d 1100w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=1650\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=4d1949cdcae2c3867ea83ce58cc112f9 1650w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=2500\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=641ebffe4be3aa129aaf4ce1cb50dd1b 2500w`})})]}),_jsx(Step,{title:`Saisir vos identifiants OneSignal`,children:_jsxs(_components.p,{children:[`Saisissez votre `,_jsx(_components.strong,{children:`App ID`}),` et votre `,_jsx(_components.strong,{children:`REST API Key`}),` OneSignal de la section précédente, puis cliquez sur `,_jsx(_components.strong,{children:`Save`}),`.`]})}),_jsxs(Step,{title:`Activer le bloc de thème Vendo`,children:[_jsx(_components.p,{children:`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.`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Dans votre administration Shopify, accédez à `,_jsx(_components.strong,{children:`Online Store > Themes > Customize`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Cliquez sur `,_jsx(_components.strong,{children:`App embeds`}),` (icône de pièce de puzzle dans la barre latérale gauche).`]}),`\n`,_jsxs(_components.li,{children:[`Activez `,_jsx(_components.strong,{children:`Vendo`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Cliquez sur `,_jsx(_components.strong,{children:`Save`}),`.`]}),`\n`]}),_jsx(_components.p,{children:`Le bloc de thème gère l’initialisation du SDK, l’enregistrement du service worker, l’affichage de l’invite push, l’identification des utilisateurs (abonnement push, connexion, inscription à la newsletter) et la synchronisation des tags pour les utilisateurs identifiés.`})]}),_jsx(Step,{title:`Sélectionner les événements à synchroniser`,children:_jsxs(_components.p,{children:[`Dans l’application Vendo sous `,_jsx(_components.strong,{children:`OneSignal > Events`}),`, activez les événements côté client et côté serveur que vous souhaitez envoyer à OneSignal. Consultez `,_jsx(_components.a,{href:`#tracking`,children:`Suivi`}),` ci-dessous pour la liste complète des événements.`]})}),_jsxs(Step,{title:`Configurer les invites push`,children:[_jsxs(_components.p,{children:[`L’affichage de chaque invite sur votre boutique — et le moment de son affichage — est contrôlé depuis l’application Vendo, pas depuis le tableau de bord OneSignal. Dans l’application Vendo, ouvrez `,_jsx(_components.strong,{children:`OneSignal > Push Settings`}),`. Vous verrez quatre sections, chacune avec son propre bouton bascule :`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Section`}),_jsx(_components.th,{children:`Fonction`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Subscription Bell`})}),_jsx(_components.td,{children:`Icône de cloche flottante sur laquelle les visiteurs peuvent cliquer pour s’abonner à tout moment`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Push Slide Prompt`})}),_jsx(_components.td,{children:`Bannière coulissante à votre marque demandant la permission push`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Native Browser Prompt`})}),_jsx(_components.td,{children:`Déclenche directement la boîte de dialogue de permission intégrée du navigateur`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Welcome Notification`})}),_jsx(_components.td,{children:`Notification push envoyée automatiquement lorsqu’un visiteur s’abonne`})]})]})]}),_jsxs(_components.p,{children:[`Pour les invites Push Slide et Native, vous définissez également des `,_jsx(_components.strong,{children:`déclencheurs`}),` — le nombre de pages vues et le nombre de secondes à attendre avant que l’invite ne se déclenche. Des valeurs par défaut raisonnables sont pré-remplies.`]}),_jsxs(_components.p,{children:[`Les quatre invites sont `,_jsx(_components.strong,{children:`désactivées par défaut`}),` — activez uniquement celles que vous souhaitez. Enregistrez une seule fois en bas de la page ; les modifications prennent effet au prochain chargement de la boutique, sans redéploiement du thème.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`Le texte des boutons d’invite, le texte du message d’action, les icônes et les options avancées comme les tests A/B et la localisation sont configurés dans le tableau de bord OneSignal. Depuis les Push Settings de Vendo, cliquez sur `,_jsx(_components.strong,{children:`Open OneSignal Dashboard`}),` pour accéder directement à la page Permission Prompt Setup. Si une invite est configurée dans le tableau de bord OneSignal mais que son bouton bascule Vendo est désactivé, elle ne s’affichera pas — le bouton bascule de Vendo est la source de vérité pour la visibilité.`]})})]}),_jsxs(Step,{title:`Synchronisation des données historiques (optionnel)`,children:[_jsx(_components.p,{children:`Vendo peut remplir rétroactivement les clients existants et l’historique des commandes récentes vers OneSignal. Cela se produit automatiquement en arrière-plan après avoir enregistré vos identifiants.`}),_jsx(Frame,{caption:`Options de synchronisation des données historiques dans Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=4eb61a384a7ac3f4596661348f98ac48`,alt:`Vendo historical data settings showing sync options for Shopify data`,\"data-og-width\":`1724`,width:`1724`,\"data-og-height\":`762`,height:`762`,\"data-path\":`images/integrations/shopify/vendo-historical-data.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=280\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=033f4c21ac8b9d1095228df3f4002766 280w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=560\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=b2c532afd8ae302675689113f55dd756 560w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=840\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=458b756d712d8606a6d2929bfe8f3671 840w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=1100\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=1835889af2b5075bd9662932d19e6bf6 1100w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=1650\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=7c5a11069ffbf3ac0af33a530f4f6ef2 1650w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=2500\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=5d81cb48d8760e6c334c51857eee2e83 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`suivi`,children:`Suivi`}),`\n`,_jsx(Heading,{level:`3`,id:`identification-des-utilisateurs`,children:`Identification des utilisateurs`}),`\n`,_jsxs(_components.p,{children:[`Vendo utilise une approche `,_jsx(_components.strong,{children:`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.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Méthode`}),_jsx(_components.th,{children:`Comment ça fonctionne`}),_jsx(_components.th,{children:`Identifiant utilisé`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Abonnement push web`})}),_jsx(_components.td,{children:`Le visiteur clique sur « Autoriser » dans l’invite push. OneSignal crée automatiquement un utilisateur et Vendo capture l’ID OneSignal.`}),_jsx(_components.td,{children:`OneSignal ID`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Inscription à la newsletter`})}),_jsxs(_components.td,{children:[`Le visiteur soumet un formulaire de newsletter ou d’e-mail. Vendo capture l’e-mail et appelle `,_jsx(_components.code,{children:`OneSignal.login(email)`}),`.`]}),_jsx(_components.td,{children:`Email`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Connexion client`})}),_jsxs(_components.td,{children:[`Le client se connecte à son compte Shopify. Vendo le détecte et appelle `,_jsx(_components.code,{children:`OneSignal.login()`}),` avec l’identifiant configuré.`]}),_jsx(_components.td,{children:`Shopify Customer ID ou Email`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Commande complétée`})}),_jsxs(_components.td,{children:[`Le client finalise un achat. Vendo stocke l’identifiant et appelle `,_jsx(_components.code,{children:`OneSignal.login()`}),`.`]}),_jsx(_components.td,{children:`Shopify Customer ID ou Email`})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Si vous avez une application mobile ou des connexions tierces, sélectionnez l’identifiant (Shopify Customer ID vs. Email) qui correspond à vos autres outils pour que les profils utilisateurs restent cohérents entre les plateformes. Configurez ceci dans l’application Vendo sous `,_jsx(_components.strong,{children:`Settings > Customer Identifier`}),`.`]})}),`\n`,_jsx(Heading,{level:`4`,id:`fusion-d’identités`,children:`Fusion d’identités`}),`\n`,_jsxs(_components.p,{children:[`Si un abonné push (identifié par l’ID OneSignal) se connecte ensuite ou finalise un achat, Vendo appelle `,_jsx(_components.code,{children:`OneSignal.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.`]}),`\n`,_jsx(Heading,{level:`3`,id:`tags-clients`,children:`Tags clients`}),`\n`,_jsxs(_components.p,{children:[`Vendo synchronise les propriétés des clients sous forme de `,_jsx(_components.a,{href:`/docs/fr/add-user-data-tags`,children:`tags`}),` dans OneSignal pour la segmentation. Toutes les valeurs sont stockées sous forme de chaînes (format natif d’OneSignal).`]}),`\n`,_jsx(Heading,{level:`4`,id:`identité-et-profil`,children:`Identité et profil`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tag`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:`E-mail du client`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`first_name`})}),_jsx(_components.td,{children:`Prénom`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`last_name`})}),_jsx(_components.td,{children:`Nom de famille`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`phone`})}),_jsx(_components.td,{children:`Numéro de téléphone du client`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`shopify_customer_id`})}),_jsx(_components.td,{children:`ID client Shopify`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`verified_email`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`\"true\"`}),` ou `,_jsx(_components.code,{children:`\"false\"`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tax_exempt`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`\"true\"`}),` ou `,_jsx(_components.code,{children:`\"false\"`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`customer_tags`})}),_jsx(_components.td,{children:`Tags Shopify séparés par des virgules`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`customer_created_at`})}),_jsx(_components.td,{children:`Date de création du client (ISO 8601)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`first_seen`})}),_jsx(_components.td,{children:`Horodatage ISO du premier événement d’identification`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`consentement-marketing`,children:`Consentement marketing`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tag`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`marketing_state`})}),_jsx(_components.td,{children:`État global du consentement marketing`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email_marketing_consent`})}),_jsx(_components.td,{children:`État du consentement marketing par e-mail`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`statistiques-commerce`,children:`Statistiques commerce`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tag`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`total_spent`})}),_jsx(_components.td,{children:`Dépenses cumulées`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_count`})}),_jsx(_components.td,{children:`Nombre total de commandes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`first_order_date`})}),_jsx(_components.td,{children:`Date de première commande (ISO 8601)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`last_order_date`})}),_jsx(_components.td,{children:`Date de commande la plus récente (ISO 8601)`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`tags-d’attribution`,children:`Tags d’attribution`}),`\n`,_jsxs(_components.p,{children:[`Vendo capture les paramètres UTM et les identifiants de clic au moment du paiement et les synchronise sous forme de tags. Les valeurs last-touch sont écrasées à chaque paiement ; les valeurs first-touch (`,_jsx(_components.code,{children:`initial_utm_*`}),`) ne sont écrites qu’une seule fois.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tag`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_source`})}),_jsx(_components.td,{children:`Source UTM last-touch`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_medium`})}),_jsx(_components.td,{children:`Medium UTM last-touch`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_campaign`})}),_jsx(_components.td,{children:`Campagne UTM last-touch`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_content`})}),_jsx(_components.td,{children:`Contenu UTM last-touch`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_term`})}),_jsx(_components.td,{children:`Terme UTM last-touch`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`initial_utm_source`})}),_jsx(_components.td,{children:`Source UTM first-touch (définie une seule fois)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`initial_utm_medium`})}),_jsx(_components.td,{children:`Medium UTM first-touch (défini une seule fois)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`initial_utm_campaign`})}),_jsx(_components.td,{children:`Campagne UTM first-touch (définie une seule fois)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`gclid`})}),_jsx(_components.td,{children:`ID de clic Google Ads`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fbclid`})}),_jsx(_components.td,{children:`ID de clic Meta (Facebook/Instagram)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ttclid`})}),_jsx(_components.td,{children:`ID de clic TikTok`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`msclkid`})}),_jsx(_components.td,{children:`ID de clic Microsoft Ads`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`appartenance-aux-segments`,children:`Appartenance aux segments`}),`\n`,_jsxs(_components.p,{children:[`Vendo peut synchroniser l’appartenance aux segments Shopify sous forme de tags au format `,_jsx(_components.code,{children:`shopify_segment_{segment_id}`}),` avec la valeur `,_jsx(_components.code,{children:`\"true\"`}),`. Consultez la `,_jsx(_components.a,{href:`https://docs.vendodata.com/destinations/onesignal/events-and-properties`,children:`référence Events \u0026 Properties de Vendo`}),` pour plus de détails sur l’exécution de la synchronisation.`]}),`\n`,_jsx(Heading,{level:`3`,id:`événements-côté-client`,children:`Événements côté client`}),`\n`,_jsxs(_components.p,{children:[`Vendo suit les `,_jsx(_components.a,{href:`/docs/fr/custom-events`,children:`é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.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Événement`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`page_viewed`})}),_jsx(_components.td,{children:`Le client visite une page (boutique, caisse ou statut de commande)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`product_viewed`})}),_jsx(_components.td,{children:`Le client consulte une page de détails produit`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`collection_viewed`})}),_jsx(_components.td,{children:`Le client consulte une page de collection de produits`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`search_submitted`})}),_jsx(_components.td,{children:`Le client effectue une recherche sur la boutique`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`product_added_to_cart`})}),_jsx(_components.td,{children:`Un produit est ajouté au panier`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`product_removed_from_cart`})}),_jsx(_components.td,{children:`Un produit est retiré du panier`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cart_viewed`})}),_jsx(_components.td,{children:`Le client consulte la page du panier`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_started`})}),_jsx(_components.td,{children:`Le client commence le paiement`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_contact_info_submitted`})}),_jsx(_components.td,{children:`Étape de coordonnées soumise`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_address_info_submitted`})}),_jsx(_components.td,{children:`Étape d’adresse soumise`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_shipping_info_submitted`})}),_jsx(_components.td,{children:`Mode de livraison sélectionné`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`payment_info_submitted`})}),_jsx(_components.td,{children:`Détails de paiement soumis`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_completed`})}),_jsx(_components.td,{children:`Paiement finalisé avec succès`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`alert_displayed`})}),_jsx(_components.td,{children:`Alerte ou avertissement affiché lors du paiement`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ui_extension_errored`})}),_jsx(_components.td,{children:`Erreur d’exécution d’une extension d’interface de paiement`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`all_custom_events`})}),_jsx(_components.td,{children:`Événements clients Shopify personnalisés`})]})]})]}),`\n`,_jsx(Frame,{caption:`Configuration des événements côté client dans Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=c94b99465b8c200ebb1bb475e492f8a1`,alt:`Vendo client-side events settings showing available custom events`,\"data-og-width\":`865`,width:`865`,\"data-og-height\":`726`,height:`726`,\"data-path\":`images/integrations/shopify/vendo-client-side-events.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=280\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=d1e41237a617cf28a37896112a3eaf2c 280w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=560\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=8b40389eb561959186fd8e0d6cabd121 560w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=840\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=99ccb2f69828386a1e094e78b9901911 840w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=1100\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=ef9ed5e02a0c42aeff7af27634a6e0e5 1100w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=1650\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=ae5621c278b99321f00fe51d794e56db 1650w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=2500\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=0b6f72a0bbbc2a21f1e0048cad374389 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`événements-côté-serveur`,children:`Événements côté serveur`}),`\n`,_jsxs(_components.p,{children:[`Les événements commerciaux Shopify sont exportés et transmis à OneSignal via le pipeline Vendo. Ils utilisent toujours le Shopify Customer ID comme `,_jsx(_components.code,{children:`external_id`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Événement`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_received`})}),_jsx(_components.td,{children:`Une nouvelle commande est créée`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_fulfilled`})}),_jsx(_components.td,{children:`La commande est exécutée/expédiée`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_delivered`})}),_jsx(_components.td,{children:`La commande est livrée`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_refunded`})}),_jsx(_components.td,{children:`La commande est entièrement remboursée`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_partially_refunded`})}),_jsx(_components.td,{children:`La commande est partiellement remboursée`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cart_abandoned`})}),_jsx(_components.td,{children:`Le paiement est abandonné`})]})]})]}),`\n`,_jsx(Frame,{caption:`Configuration des événements côté serveur dans Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=c9bed30c26b0bec3b8a53eb8cde8098d`,alt:`Vendo server-side events settings showing available Shopify webhook events`,\"data-og-width\":`865`,width:`865`,\"data-og-height\":`394`,height:`394`,\"data-path\":`images/integrations/shopify/vendo-server-side-events.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=280\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=690636fef91b80a933c4eead29bd4ae1 280w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=560\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=a3a6abf2812eed57c9ef6679210bc3aa 560w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=840\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=54af0946d01f41d8019a0b0f7a50070c 840w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=1100\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=e86d2c7e36e1bd0ec147df3a8a40aada 1100w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=1650\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=91583da7d36d3afa45c01bb092e31709 1650w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=2500\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=46ebfe07dbe982664ad947a97a2c2384 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`détails-de-la-plateforme`,children:`Détails de la plateforme`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Paramètre`}),_jsx(_components.th,{children:`Valeur`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Méthode de synchronisation`}),_jsx(_components.td,{children:`Client + côté serveur via Vendo`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Identité`}),_jsx(_components.td,{children:`Shopify Customer ID, Email ou OneSignal ID`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Déduplication`}),_jsx(_components.td,{children:`Hachage UUID v5 par événement`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Taille de lot`}),_jsx(_components.td,{children:`1 000 événements par requête`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Format des données`}),_jsx(_components.td,{children:`Toutes les valeurs stockées sous forme de chaînes`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`cas-d’utilisation`,children:`Cas d’utilisation`}),`\n`,_jsx(Heading,{level:`3`,id:`récupération-de-panier-abandonné`,children:`Récupération de panier abandonné`}),`\n`,_jsxs(_components.p,{children:[`Créez un `,_jsx(_components.a,{href:`/docs/fr/journeys-overview`,children:`Journey`}),` déclenché par l’événement `,_jsx(_components.code,{children:`cart_abandoned`}),`. Attendez 1 heure après l’abandon, puis envoyez une notification push avec le lien de récupération en utilisant la propriété `,_jsx(_components.code,{children:`checkout_url`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`mises-à-jour-du-statut-de-commande`,children:`Mises à jour du statut de commande`}),`\n`,_jsxs(_components.p,{children:[`Créez des Journeys pour `,_jsx(_components.code,{children:`order_fulfilled`}),` et `,_jsx(_components.code,{children:`order_delivered`}),` pour envoyer des notifications push immédiates avec les informations de suivi lorsque les commandes sont expédiées et livrées.`]}),`\n`,_jsx(Heading,{level:`3`,id:`engagement-des-clients-vip`,children:`Engagement des clients VIP`}),`\n`,_jsxs(_components.p,{children:[`Créez un `,_jsx(_components.a,{href:`/docs/fr/segmentation`,children:`segment`}),` où `,_jsx(_components.code,{children:`total_spent`}),` est supérieur à un seuil, puis envoyez des offres exclusives personnalisées avec le tag `,_jsx(_components.code,{children:`first_name`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`campagnes-de-réengagement`,children:`Campagnes de réengagement`}),`\n`,_jsxs(_components.p,{children:[`Ciblez les clients inactifs en créant un segment où `,_jsx(_components.code,{children:`last_order_date`}),` est antérieur de plus de 90 jours et envoyez des campagnes de reconquête.`]}),`\n`,_jsx(Heading,{level:`2`,id:`sources-compatibles`,children:`Sources compatibles`}),`\n`,_jsx(_components.p,{children:`OneSignal fonctionne avec les sources de données Vendo suivantes :`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Source`}),_jsx(_components.th,{children:`Événements`}),_jsx(_components.th,{children:`Tags utilisateurs`}),_jsx(_components.th,{children:`Audiences`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Shopify`}),_jsx(_components.td,{children:`Oui`}),_jsx(_components.td,{children:`Oui`}),_jsx(_components.td,{children:`Oui`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Stripe`}),_jsx(_components.td,{children:`Bientôt disponible`}),_jsx(_components.td,{children:`Bientôt disponible`}),_jsx(_components.td,{children:`Bientôt disponible`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mixpanel`}),_jsx(_components.td,{children:`Bientôt disponible`}),_jsx(_components.td,{children:`Bientôt disponible`}),_jsx(_components.td,{children:`Bientôt disponible`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Amplitude`}),_jsx(_components.td,{children:`Bientôt disponible`}),_jsx(_components.td,{children:`Bientôt disponible`}),_jsx(_components.td,{children:`Bientôt disponible`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`tests`,children:`Tests`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Vérifier le service worker`,children:[_jsxs(_components.p,{children:[`Visitez `,_jsx(_components.code,{children:`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 et que le bloc de thème est activé.`]}),_jsxs(_components.p,{children:[`Vous pouvez également ouvrir les DevTools du navigateur (`,_jsx(_components.strong,{children:`F12`}),`), aller dans `,_jsx(_components.strong,{children:`Application > Service Workers`}),` et confirmer que `,_jsx(_components.code,{children:`OneSignalSDKWorker.js`}),` est enregistré avec un scope `,_jsx(_components.code,{children:`/apps/vendo/`}),`.`]})]}),_jsx(Step,{title:`Tester l'invite push`,children:_jsxs(_components.p,{children:[`Ouvrez votre boutique dans une fenêtre de navigation privée/incognito. Vous devriez voir l’invite de permission de notification OneSignal. Cliquez sur `,_jsx(_components.strong,{children:`Autoriser`}),` pour vous abonner.`]})}),_jsx(Step,{title:`Envoyer une notification de test`,children:_jsxs(_components.p,{children:[`Dans le tableau de bord OneSignal, accédez à `,_jsx(_components.strong,{children:`Messages > New Push`}),`. Envoyez une notification de test à votre abonné et vérifiez qu’elle apparaît.`]})}),_jsx(Step,{title:`Vérifier les données utilisateur dans OneSignal`,children:_jsxs(_components.p,{children:[`Accédez à `,_jsx(_components.strong,{children:`Audience > All Users`}),` et confirmez que votre utilisateur de test apparaît. Vérifiez que les tags utilisateur (e-mail, nom, etc.) se synchronisent pour les utilisateurs identifiés.`]})}),_jsx(Step,{title:`Déclencher un événement de test`,children:_jsx(_components.p,{children:`Parcourez un produit ou effectuez un paiement test sur votre boutique. Confirmez que l’événement apparaît dans l’activité de l’utilisateur dans le tableau de bord OneSignal.`})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`dépannage`,children:`Dépannage`}),`\n`,_jsx(Heading,{level:`3`,id:`le-service-worker-renvoie-404`,children:`Le service worker renvoie 404`}),`\n`,_jsxs(_components.p,{children:[`Le service worker doit se trouver à `,_jsx(_components.code,{children:`/apps/vendo/OneSignalSDKWorker.js`}),`. Si vous voyez une erreur 404 au chemin racine (`,_jsx(_components.code,{children:`/OneSignalSDKWorker.js`}),`), le chemin du service worker n’est pas configuré dans OneSignal — suivez l’`,_jsx(_components.a,{href:`#configure-the-service-worker-path`,children:`étape de configuration du service worker`}),`. Si le 404 est au chemin `,_jsx(_components.code,{children:`/apps/vendo/`}),`, vérifiez que l’application Vendo est installée et que le bloc de thème est activé.`]}),`\n`,_jsx(Heading,{level:`3`,id:`«-typical-site-»-a-été-sélectionné-pendant-la-configuration-onesignal`,children:`« Typical Site » a été sélectionné pendant la configuration OneSignal`}),`\n`,_jsxs(_components.p,{children:[`Vendo requiert le type d’intégration `,_jsx(_components.strong,{children:`Custom Code`}),`. Typical Site n’expose pas les paramètres de chemin du service worker, donc le SDK essaiera de charger `,_jsx(_components.code,{children:`/OneSignalSDKWorker.js`}),` depuis la racine de votre boutique — Shopify bloque cela et les abonnements push échoueront silencieusement.`]}),`\n`,_jsxs(_components.p,{children:[`Solution : dans le tableau de bord OneSignal, changez le type d’intégration de l’application vers Custom Code sous `,_jsx(_components.strong,{children:`Settings > Platforms > Web`}),`, ou supprimez l’application et recréez-la en utilisant Custom Code dès le départ.`]}),`\n`,_jsx(Heading,{level:`3`,id:`l’invite-push-n’apparaît-pas`,children:`L’invite push n’apparaît pas`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Vérifiez que le bloc de thème Vendo est activé dans `,_jsx(_components.strong,{children:`App embeds`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Dans l’application Vendo sous `,_jsx(_components.strong,{children:`OneSignal > Push Settings`}),`, confirmez qu’au moins un bouton bascule d’invite (Subscription Bell, Push Slide Prompt ou Native Browser Prompt) est activé — les quatre sont désactivés par défaut.`]}),`\n`,_jsx(_components.li,{children:`Vérifiez le délai de déclenchement — une Push Slide configurée sur plusieurs pages vues ne se déclenchera pas au premier chargement de page.`}),`\n`,_jsx(_components.li,{children:`Vérifiez que votre navigateur autorise les notifications (cliquez sur l’icône de cadenas dans la barre d’adresse).`}),`\n`,_jsx(_components.li,{children:`Essayez une fenêtre de navigation privée/incognito au cas où l’invite aurait été précédemment refusée.`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`les-tags-n’apparaissent-pas-dans-onesignal`,children:`Les tags n’apparaissent pas dans OneSignal`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(Heading,{level:`3`,id:`les-événements-ne-se-déclenchent-pas`,children:`Les événements ne se déclenchent pas`}),`\n`,_jsxs(_components.p,{children:[`Vérifiez que les événements sont activés dans l’application Vendo sous `,_jsx(_components.strong,{children:`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.`]}),`\n`,_jsx(Heading,{level:`3`,id:`les-notifications-affichent-«-delivered-»-mais-n’apparaissent-pas`,children:`Les notifications affichent « Delivered » mais n’apparaissent pas`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`faq`,children:`FAQ`}),`\n`,_jsx(Heading,{level:`3`,id:`puis-je-changer-l’identifiant-client-après-la-configuration-`,children:`Puis-je changer l’identifiant client après la configuration ?`}),`\n`,_jsxs(_components.p,{children:[`Oui. Mettez à jour le paramètre dans l’application Vendo sous `,_jsx(_components.strong,{children:`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.`]}),`\n`,_jsx(Heading,{level:`3`,id:`l’intégration-vendo-prend-elle-en-charge-les-applications-mobiles-`,children:`L’intégration Vendo prend-elle en charge les applications mobiles ?`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(Heading,{level:`3`,id:`que-se-passet-il-si-un-visiteur-n’est-jamais-identifié-`,children:`Que se passe-t-il si un visiteur n’est jamais identifié ?`}),`\n`,_jsx(_components.p,{children:`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.`}),`\n`,_jsx(Heading,{level:`3`,id:`pourquoi-vendo-utiliset-il-une-approche-réservée-aux-utilisateurs-identifiés-`,children:`Pourquoi Vendo utilise-t-il une approche réservée aux utilisateurs identifiés ?`}),`\n`,_jsx(_components.p,{children:`Le suivi des visiteurs anonymes crée des utilisateurs OneSignal en double qui ne peuvent 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.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`pages-associées`,children:`Pages associées`}),`\n`,_jsxs(Columns,{cols:2,children:[_jsx(Card,{title:`Keys \u0026 IDs`,icon:`key`,href:`/docs/fr/keys-and-ids`,children:_jsx(_components.p,{children:`Trouvez votre App ID et votre clé REST API OneSignal.`})}),_jsx(Card,{title:`Événements personnalisés`,icon:`bolt`,href:`/docs/fr/custom-events`,children:_jsx(_components.p,{children:`Suivez le comportement des utilisateurs et déclenchez des automatisations basées sur les événements Shopify.`})}),_jsx(Card,{title:`Configuration push web`,icon:`globe`,href:`/docs/fr/web-push-setup`,children:_jsx(_components.p,{children:`Configurez les notifications push web pour votre boutique Shopify.`})}),_jsx(Card,{title:`Invites de permission web`,icon:`bell`,href:`/docs/fr/permission-requests`,children:_jsx(_components.p,{children:`Configurez comment et quand inviter les visiteurs à autoriser le push web.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Intégration Shopify pour le push web","description":"Connectez Shopify à OneSignal via l'intégration Vendo pour les notifications push web, les tags clients, les événements commerce et le ciblage comportemental.","keywords":["Shopify","Vendo","intégration","push web","événements personnalisés","tags clients","e-commerce","panier abandonné"],"href":"/docs/fr/shopify"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prérequis","slug":"prérequis","depth":2,"children":[]},{"title":"Configuration OneSignal","slug":"configuration-onesignal","depth":2,"children":[]},{"title":"Configuration Vendo","slug":"configuration-vendo","depth":2,"children":[]},{"title":"Suivi","slug":"suivi","depth":2,"children":[{"title":"Identification des utilisateurs","slug":"identification-des-utilisateurs","depth":3,"children":[]},{"title":"Fusion d’identités","slug":"fusion-d’identités","depth":4,"children":[]},{"title":"Tags clients","slug":"tags-clients","depth":3,"children":[]},{"title":"Identité et profil","slug":"identité-et-profil","depth":4,"children":[]},{"title":"Consentement marketing","slug":"consentement-marketing","depth":4,"children":[]},{"title":"Statistiques commerce","slug":"statistiques-commerce","depth":4,"children":[]},{"title":"Tags d’attribution","slug":"tags-d’attribution","depth":4,"children":[]},{"title":"Appartenance aux segments","slug":"appartenance-aux-segments","depth":4,"children":[]},{"title":"Événements côté client","slug":"événements-côté-client","depth":3,"children":[]},{"title":"Événements côté serveur","slug":"événements-côté-serveur","depth":3,"children":[]}]},{"title":"Détails de la plateforme","slug":"détails-de-la-plateforme","depth":2,"children":[]},{"title":"Cas d’utilisation","slug":"cas-d’utilisation","depth":2,"children":[{"title":"Récupération de panier abandonné","slug":"récupération-de-panier-abandonné","depth":3,"children":[]},{"title":"Mises à jour du statut de commande","slug":"mises-à-jour-du-statut-de-commande","depth":3,"children":[]},{"title":"Engagement des clients VIP","slug":"engagement-des-clients-vip","depth":3,"children":[]},{"title":"Campagnes de réengagement","slug":"campagnes-de-réengagement","depth":3,"children":[]}]},{"title":"Sources compatibles","slug":"sources-compatibles","depth":2,"children":[]},{"title":"Tests","slug":"tests","depth":2,"children":[]},{"title":"Dépannage","slug":"dépannage","depth":2,"children":[{"title":"Le service worker renvoie 404","slug":"le-service-worker-renvoie-404","depth":3,"children":[]},{"title":"« Typical Site » a été sélectionné pendant la configuration OneSignal","slug":"«-typical-site-»-a-été-sélectionné-pendant-la-configuration-onesignal","depth":3,"children":[]},{"title":"L’invite push n’apparaît pas","slug":"l’invite-push-n’apparaît-pas","depth":3,"children":[]},{"title":"Les tags n’apparaissent pas dans OneSignal","slug":"les-tags-n’apparaissent-pas-dans-onesignal","depth":3,"children":[]},{"title":"Les événements ne se déclenchent pas","slug":"les-événements-ne-se-déclenchent-pas","depth":3,"children":[]},{"title":"Les notifications affichent « Delivered » mais n’apparaissent pas","slug":"les-notifications-affichent-«-delivered-»-mais-n’apparaissent-pas","depth":3,"children":[]}]},{"title":"FAQ","slug":"faq","depth":2,"children":[{"title":"Puis-je changer l’identifiant client après la configuration ?","slug":"puis-je-changer-l’identifiant-client-après-la-configuration-","depth":3,"children":[]},{"title":"L’intégration Vendo prend-elle en charge les applications mobiles ?","slug":"l’intégration-vendo-prend-elle-en-charge-les-applications-mobiles-","depth":3,"children":[]},{"title":"Que se passe-t-il si un visiteur n’est jamais identifié ?","slug":"que-se-passet-il-si-un-visiteur-n’est-jamais-identifié-","depth":3,"children":[]},{"title":"Pourquoi Vendo utilise-t-il une approche réservée aux utilisateurs identifiés ?","slug":"pourquoi-vendo-utiliset-il-une-approche-réservée-aux-utilisateurs-identifiés-","depth":3,"children":[]}]},{"title":"Pages associées","slug":"pages-associées","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/onesignal/e069c1b9f3157e14/hotjar-koala.js","/_mintlify/custom/onesignal/3e5d03885ab32f49/intercom.js","/_mintlify/custom/onesignal/dbb7af4794d1b586/munchkin-marketo.js"],"subdomain":"onesignal","siteName":"OneSignal","title":"Intégration Shopify pour le push web - OneSignal","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/docs/en/shopify","matchLevel":1},"cn":{"href":"/docs/cn/shopify","matchLevel":1},"ko":{"href":"/docs/ko/shopify","matchLevel":1},"ja":{"href":"/docs/ja/shopify","matchLevel":1},"tr":{"href":"/docs/tr/shopify","matchLevel":1},"pt-BR":{"href":"/docs/pt-BR/shopify","matchLevel":1},"es":{"href":"/docs/es/shopify","matchLevel":1},"fr":{"href":"/docs/fr/shopify","matchLevel":0}}},"lastModified":"2026-08-28T18:16:26.527Z","originalFileLocation":"docs/fr/shopify.mdx","locale":"fr"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Connectez Shopify à OneSignal via l\u0026#x27;intégration Vendo pour les notifications push web, les tags clients, les événements commerce et le ciblage comportemental.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OneSignal\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Intégration Shopify pour le push web - OneSignal\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connectez Shopify à OneSignal via l\u0026#x27;intégration Vendo pour les notifications push web, les tags clients, les événements commerce et le ciblage comportemental.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OneSignal\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://documentation.onesignal.com/docs/fr/shopify\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://onesignal.mintlify.app/_mintlify/api/og/v2?division=Push+web\u0026amp;title=Int%C3%A9gration+Shopify+pour+le+push+web\u0026amp;description=Connectez+Shopify+%C3%A0+OneSignal+via+l%27int%C3%A9gration+Vendo+pour+les+notifications+push+web%2C+les+tags+clients%2C+les+%C3%A9v%C3%A9nements+commerce+et+le+ciblage+comportemental.\u0026amp;theme=8d648f04f85028b307bd669b\u0026amp;signature=47a702fe0d177e335e47049f2563b1a37e987d907f19db5134e4ab0950136846\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Intégration Shopify pour le push web - OneSignal\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connectez Shopify à OneSignal via l\u0026#x27;intégration Vendo pour les notifications push web, les tags clients, les événements commerce et le ciblage comportemental.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://onesignal.mintlify.app/_mintlify/api/og/v2?division=Push+web\u0026amp;title=Int%C3%A9gration+Shopify+pour+le+push+web\u0026amp;description=Connectez+Shopify+%C3%A0+OneSignal+via+l%27int%C3%A9gration+Vendo+pour+les+notifications+push+web%2C+les+tags+clients%2C+les+%C3%A9v%C3%A9nements+commerce+et+le+ciblage+comportemental.\u0026amp;theme=8d648f04f85028b307bd669b\u0026amp;signature=47a702fe0d177e335e47049f2563b1a37e987d907f19db5134e4ab0950136846\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OneSignal Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3A3DB3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://documentation.onesignal.com/docs/fr/shopify\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/fr/shopify.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://documentation.onesignal.com/docs/fr/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://documentation.onesignal.com/docs/en/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://documentation.onesignal.com/docs/cn/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://documentation.onesignal.com/docs/ko/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://documentation.onesignal.com/docs/ja/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"tr\" href=\"https://documentation.onesignal.com/docs/tr/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://documentation.onesignal.com/docs/pt-BR/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://documentation.onesignal.com/docs/es/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://documentation.onesignal.com/docs/en/shopify\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://documentation.onesignal.com/#organization\",\"name\":\"OneSignal\",\"url\":\"https://documentation.onesignal.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107\"}},{\"@type\":\"WebSite\",\"@id\":\"https://documentation.onesignal.com#website\",\"name\":\"OneSignal\",\"url\":\"https://documentation.onesignal.com\",\"publisher\":{\"@id\":\"https://documentation.onesignal.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://documentation.onesignal.com/docs/fr/shopify#webpage\",\"url\":\"https://documentation.onesignal.com/docs/fr/shopify\",\"name\":\"Intégration Shopify pour le push web\",\"description\":\"Connectez Shopify à OneSignal via l'intégration Vendo pour les notifications push web, les tags clients, les événements commerce et le ciblage comportemental.\",\"dateModified\":\"2026-08-28T18:16:26.527Z\",\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"},\"breadcrumb\":{\"@id\":\"https://documentation.onesignal.com/docs/fr/shopify#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://documentation.onesignal.com/docs/fr/shopify#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Canaux de messagerie\",\"item\":\"https://documentation.onesignal.com/docs/fr/channel-setup\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Push\",\"item\":\"https://documentation.onesignal.com/docs/fr/push\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Push web\",\"item\":\"https://documentation.onesignal.com/docs/fr/web-push-setup\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Intégration Shopify pour le push web\",\"item\":\"https://documentation.onesignal.com/docs/fr/shopify\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://documentation.onesignal.com/docs/fr/shopify#article\",\"headline\":\"Intégration Shopify pour le push web\",\"name\":\"Intégration Shopify pour le push web\",\"description\":\"Connectez Shopify à OneSignal via l'intégration Vendo pour les notifications push web, les tags clients, les événements commerce et le ciblage comportemental.\",\"url\":\"https://documentation.onesignal.com/docs/fr/shopify\",\"mainEntityOfPage\":{\"@id\":\"https://documentation.onesignal.com/docs/fr/shopify#webpage\"},\"dateModified\":\"2026-08-28T18:16:26.527Z\",\"keywords\":\"Shopify, Vendo, intégration, push web, événements personnalisés, tags clients, e-commerce, panier abandonné\",\"publisher\":{\"@id\":\"https://documentation.onesignal.com/#organization\"},\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OneSignal\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OneSignal","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/docs/en/shopify"}]},{"language":"cn","pages":[{"title":"cn","href":"/docs/cn/shopify"}]},{"language":"ko","pages":[{"title":"ko","href":"/docs/ko/shopify"}]},{"language":"ja","pages":[{"title":"ja","href":"/docs/ja/shopify"}]},{"language":"tr","pages":[{"title":"tr","href":"/docs/tr/shopify"}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/docs/pt-BR/shopify"}]},{"language":"es","pages":[{"title":"es","href":"/docs/es/shopify"}]},{"language":"fr","tabs":[{"tab":"Accueil","pages":[{"title":"Accueil","href":"/docs/fr/home"}]},{"tab":"Guides utilisateur","groups":[{"group":"Premiers pas et paramètres","pages":[{"title":"Guide de démarrage rapide","href":"/docs/fr/quickstart-guide"},{"group":"Tableau de bord OneSignal","pages":[{"title":"Applications, organisations et comptes","href":"/docs/fr/apps-organizations"},{"title":"Membres de l'équipe","href":"/docs/fr/manage-team-members"},{"title":"Clés et IDs","href":"/docs/fr/keys-and-ids"},{"title":"Journaux d'audit","href":"/docs/fr/audit-logs"},{"title":"Utilisation et facturation","href":"/docs/fr/billing-faq"},{"title":"Applications et organisations désactivées","href":"/docs/fr/disabled-apps"}]},{"title":"Migration vers OneSignal","href":"/docs/fr/migrating-to-onesignal"}]},{"group":"Canaux de messagerie","pages":[{"title":"Configuration des canaux","href":"/docs/fr/channel-setup"},{"group":"Push","pages":[{"title":"Vue d'ensemble du push","href":"/docs/fr/push"},{"group":"Push mobile","pages":[{"title":"Configuration du push mobile","href":"/docs/fr/mobile-push-setup"},{"title":"Inviter pour les permissions push","href":"/docs/fr/prompt-for-push-permissions"},{"title":"Notifications push provisoires iOS","href":"/docs/fr/ios-provisional-push-notifications"},{"title":"Catégories de notification Android","href":"/docs/fr/android-notification-categories"},{"title":"Notifications de données et en arrière-plan","href":"/docs/fr/data-notifications"},{"title":"Notifications push VoIP","href":"/docs/fr/voip-notifications"}]},{"group":"Push web","pages":[{"title":"Configuration du push web","href":"/docs/fr/web-push-setup"},{"title":"Invites de permission web","href":"/docs/fr/permission-requests"},{"title":"FAQ push web","href":"/docs/fr/web-push-setup-faq"},{"title":"Comportement du navigateur pour les notifications web push","href":"/docs/fr/browser-behavior-and-unsubscribes"},{"title":"Configuration du plugin OneSignal WordPress pour le push web","href":"/docs/fr/wordpress"},{"title":"Dépannage WordPress","description":"Guide complet pour dépanner les problèmes de configuration courants avec les notifications Web Push OneSignal sur WordPress, incluant la compatibilité des navigateurs (Chrome, Firefox, Safari), l'intégration du plugin et la résolution des conflits CDN ou de cache.","href":"/docs/fr/troubleshooting-wordpress-web-push"},{"title":"Intégration Shopify pour le push web","href":"/docs/fr/shopify"}]},{"group":"Fonctionnalités push","pages":[{"title":"Icônes de notification","description":"Choisissez des icônes de notification push par défaut et par message sur Android, iOS et Web : tailles et règle de transparence pour éviter le carré blanc.","href":"/docs/fr/notification-icons"},{"title":"Images de notifications et médias enrichis","href":"/docs/fr/rich-media"},{"title":"Sons de notification","href":"/docs/fr/notification-sounds"},{"title":"Badges d'icône d'application pour les notifications push","href":"/docs/fr/badges"},{"title":"Boutons d'action pour les notifications push","href":"/docs/fr/action-buttons"},{"title":"Limitation de fréquence des push","href":"/docs/fr/frequency-capping"},{"title":"Limitation du débit des push","href":"/docs/fr/throttling"},{"title":"iOS : Modes Focus et niveaux d'interruption","href":"/docs/fr/ios-focus-modes-and-interruption-levels"},{"title":"iOS : Score de pertinence","href":"/docs/fr/ios-relevance-score"}]},{"group":"Analyses et dépannage push","pages":[{"title":"Rapports de messages push","href":"/docs/fr/push-notification-message-reports"},{"title":"Livraison confirmée","href":"/docs/fr/confirmed-delivery"},{"title":"CTR des notifications","href":"/docs/fr/notification-ctr"},{"title":"Mobile push : Notifications non affichées ou retardées","href":"/docs/fr/notifications-show-successful-but-are-not-being-shown"},{"title":"Push web : Notifications non affichées","href":"/docs/fr/notifications-not-shown-web-push"},{"title":"Images de notification non affichées","href":"/docs/fr/notification-images-not-showing"},{"title":"Notifications en double","href":"/docs/fr/duplicated-notifications"},{"title":"FAQ sur les jetons FCM expirés","href":"/docs/fr/fcm-expired-token-faq"}]}]},{"group":"Messages in-app","pages":[{"title":"Aperçu des messages intégrés","href":"/docs/fr/in-app-messages-setup"},{"title":"Déclencheurs de messages intégrés","href":"/docs/fr/iam-triggers"},{"title":"Actions de clic dans les messages intégrés","href":"/docs/fr/iam-click-actions"},{"group":"Design in-app","pages":[{"title":"Concevoir des messages in-app avec glisser-déposer","href":"/docs/fr/design-your-in-app-message"},{"title":"Concevoir des messages in-app avec HTML","href":"/docs/fr/design-your-in-app-message-with-html"},{"title":"Modèles de messages in-app et quickstarts","href":"/docs/fr/in-app-html-templates"},{"title":"Référence de l'API JavaScript des messages intégrés","href":"/docs/fr/in-app-message-api"}]},{"title":"Rapports de messages intégrés","href":"/docs/fr/in-app-message-reports"},{"title":"Dépannage des messages intégrés","href":"/docs/fr/in-app-message-troubleshooting"}]},{"group":"Email","pages":[{"title":"Aperçu des e-mails","href":"/docs/fr/email-messaging"},{"group":"Configuration email","pages":[{"title":"Configuration e-mail","href":"/docs/fr/email-setup"},{"title":"Configuration DNS des e-mails","href":"/docs/fr/email-dns-configuration"},{"title":"Expéditeurs","href":"/docs/fr/senders"},{"title":"E-mails transactionnels","href":"/docs/fr/setup-transactional-emails"},{"title":"Créer une page de désabonnement email personnalisée","href":"/docs/fr/create-custom-unsubscribe-page"}]},{"group":"Délivrabilité email","pages":[{"title":"Rapports de messages e-mail","href":"/docs/fr/email-message-reports"},{"title":"Délivrabilité des e-mails","href":"/docs/fr/email-deliverability"},{"title":"Meilleures pratiques de réputation e-mail","href":"/docs/fr/email-reputation-best-practices"},{"title":"Validation d'adresse e-mail","href":"/docs/fr/email-address-validation"},{"title":"Guide de préchauffage e-mail","href":"/docs/fr/email-warm-up"},{"title":"Google Postmaster Tools","href":"/docs/fr/google-postmaster-tools"},{"title":"Suppressions","href":"/docs/fr/suppressions"},{"title":"Dépannage e-mail","href":"/docs/fr/email-troubleshooting"}]},{"group":"Messagerie email","pages":[{"title":"Concevoir des e-mails avec glisser-déposer","href":"/docs/fr/design-emails-with-drag-and-drop"},{"title":"Concevoir des e-mails avec HTML","href":"/docs/fr/design-emails-with-html"},{"title":"Liens de désabonnement e-mail et en-têtes","href":"/docs/fr/unsubscribe-links-email-subscriptions"},{"title":"Transfert de modèles e-mail","href":"/docs/fr/email-template-forwarding"}]}]},{"group":"SMS \u0026 RCS","pages":[{"title":"Aperçu SMS, MMS et RCS","href":"/docs/fr/sms-messaging"},{"title":"Services de communication enrichis (RCS)","href":"/docs/fr/rcs-messaging"},{"group":"Configuration SMS","pages":[{"title":"Configuration SMS","href":"/docs/fr/sms-setup"},{"title":"Demandes de ressources d'expéditeur et exigences par pays","sidebarTitle":"Demandes de ressources d'expéditeur","href":"/docs/fr/sms-registration-requirements"},{"title":"Opt-in et collecte SMS","href":"/docs/fr/sms-opt-in-and-collection"},{"title":"Gestion des mots-clés de consentement SMS","href":"/docs/fr/sms-consent-keyword-management"},{"title":"Mots-clés SMS","href":"/docs/fr/keywords"}]},{"group":"Messagerie SMS","pages":[{"title":"Rapports de messages SMS","href":"/docs/fr/sms-message-reports"},{"title":"Mots de passe à usage unique (OTP)","sidebarTitle":"Mots de passe à usage unique","href":"/docs/fr/sms-verify"}]}]},{"group":"Activités en direct","pages":[{"title":"Live Activities","href":"/docs/fr/live-activities"},{"title":"Analyses des Live Activities","href":"/docs/fr/live-activities-analytics"}]},{"group":"Fonctionnalités","pages":[{"title":"Tests A/B","href":"/docs/fr/ab-testing"},{"title":"Messagerie multilingue","href":"/docs/fr/multi-language-messaging"},{"group":"Personnalisation","pages":[{"title":"Personnalisation","href":"/docs/fr/message-personalization"},{"title":"Utilisation de la syntaxe Liquid","href":"/docs/fr/using-liquid-syntax"},{"title":"Flux de données","href":"/docs/fr/data-feeds"},{"title":"Personnaliser avec les Custom Events","href":"/docs/fr/personalization-custom-event"},{"title":"Personnaliser avec les propriétés","href":"/docs/fr/personalization-properties-and-tags"},{"title":"Personnaliser les messages avec l'API custom_data","href":"/docs/fr/personalization-api-custom-data"},{"title":"Contenu dynamique avec CSV","href":"/docs/fr/dynamic-content"}]},{"group":"URLs, liens et liens profonds","pages":[{"title":"URLs, liens et liens profonds","href":"/docs/fr/links"},{"title":"Liens profonds","href":"/docs/fr/deep-linking"},{"title":"Liens de désabonnement e-mail et en-têtes","href":"/docs/fr/unsubscribe-links-email-subscriptions"}]},{"title":"Messages de reciblage","href":"/docs/fr/retargeting"},{"title":"Templates","href":"/docs/fr/templates"},{"title":"Étiquettes","href":"/docs/fr/labels"}]}]},{"group":"Journeys","pages":[{"title":"Aperçu des Journeys","href":"/docs/fr/journeys-overview"},{"group":"Fonctionnalités Journey","pages":[{"title":"Paramètres de Journey","href":"/docs/fr/journeys-settings"},{"title":"Messages Journey","href":"/docs/fr/journeys-messages"},{"title":"Actions de Journey","href":"/docs/fr/journeys-actions"},{"title":"Webhooks de Journey","href":"/docs/fr/journeys-webhook"},{"title":"Envoyer des messages WhatsApp via les webhooks Journey","href":"/docs/fr/sending-whatsapp-messages-via-journey-webhooks"},{"title":"Gestion des Journeys","href":"/docs/fr/managing-journeys"},{"title":"Analyses des Journeys","href":"/docs/fr/journeys-analytics"}]},{"title":"Exemples de Journey","href":"/docs/fr/journeys-examples"}]},{"group":"Audience et événements personnalisés","pages":[{"title":"Segments","href":"/docs/fr/segmentation"},{"group":"Utilisateurs \u0026 Abonnements","pages":[{"title":"Utilisateurs","href":"/docs/fr/users"},{"title":"Abonnements","href":"/docs/fr/subscriptions"},{"title":"Alias","href":"/docs/fr/aliases"},{"title":"Utilisateurs test","href":"/docs/fr/test-users"},{"title":"Supprimer des utilisateurs","href":"/docs/fr/delete-users"}]},{"group":"Événements personnalisés","pages":[{"title":"Événements personnalisés","href":"/docs/fr/custom-events"},{"title":"Stockage et rétention des événements personnalisés","href":"/docs/fr/custom-event-storage"}]},{"group":"Tags","pages":[{"title":"Tags","href":"/docs/fr/add-user-data-tags"},{"title":"Tags : Opérateurs temporels","href":"/docs/fr/time-operators"}]},{"title":"Importer","href":"/docs/fr/import"}]},{"group":"Analyses et intégrations","pages":[{"group":"Analyses","pages":[{"title":"Présentation des analyses","href":"/docs/fr/analytics-overview"},{"title":"Objectifs","sidebarTitle":"Objectifs","href":"/docs/fr/goals"},{"title":"Analytique des templates","href":"/docs/fr/template-analytics"},{"title":"Exportation de données","href":"/docs/fr/exporting-data"},{"title":"Résultats personnalisés","href":"/docs/fr/custom-outcomes"},{"title":"Métriques de conversion","href":"/docs/fr/conversion-metrics"},{"title":"Tendances d'engagement","href":"/docs/fr/engagement-analytics"},{"title":"Tendances d'abonnements","href":"/docs/fr/subscription-trends"},{"group":"Métriques de rétention","pages":[{"title":"Métriques de rétention","href":"/docs/fr/retention-metrics"},{"title":"Interpréter les courbes de rétention","href":"/docs/fr/interpreting-retention-curves"}]},{"title":"Glossaire des métriques","href":"/docs/fr/analytics-metrics-glossary"}]},{"group":"Event Streams","pages":[{"title":"Event Streams","href":"/docs/fr/event-streams"},{"title":"Référence des données Event Stream","sidebarTitle":"Données Event Stream","href":"/docs/fr/event-streams-data"},{"title":"Flux d'événements des messages intégrés","href":"/docs/fr/iam-event-streams"},{"title":"Intégration Google Sheets avec Event Streams","href":"/docs/fr/google-sheets-integration-with-event-streams"}]},{"group":"Intégrations","pages":[{"title":"Aperçu des intégrations","href":"/docs/fr/integrations"},{"title":"Intégration d'entrepôt de données, DMP et CRM","href":"/docs/fr/database-dmp-crm-integration"},{"group":"OneSignal comme source de données","pages":[{"title":"Amplitude","href":"/docs/fr/amplitude"},{"title":"Databricks","href":"/docs/fr/databricks"},{"title":"Google BigQuery","href":"/docs/fr/bigquery"},{"title":"Mixpanel","href":"/docs/fr/mixpanel"},{"title":"Snowflake","href":"/docs/fr/snowflake"},{"title":"Segment (Twilio)","href":"/docs/fr/segment-onesignal-integration"}]},{"group":"OneSignal comme destination","pages":[{"title":"Adobe Audience Manager","href":"/docs/fr/adobe-audience-manager"},{"title":"AlloyDB","href":"/docs/fr/alloydb"},{"title":"Amazon Athena","href":"/docs/fr/amazon-athena"},{"title":"Amazon S3","href":"/docs/fr/s3"},{"title":"Amplitude","href":"/docs/fr/amplitude"},{"title":"Apache Kafka","href":"/docs/fr/kafka"},{"title":"Amazon Redshift","href":"/docs/fr/amazon-redshift"},{"title":"Azure Synapse","href":"/docs/fr/azure-synapse"},{"title":"ClickHouse","href":"/docs/fr/clickhouse"},{"title":"Confluent Cloud","href":"/docs/fr/confluent-cloud"},{"title":"Databricks","href":"/docs/fr/databricks"},{"title":"Elasticsearch","href":"/docs/fr/elasticsearch"},{"title":"Google BigQuery","href":"/docs/fr/bigquery"},{"title":"Google Cloud SQL","href":"/docs/fr/google-cloud-sql"},{"title":"Google Sheets","href":"/docs/fr/google-sheets"},{"title":"Greenplum","href":"/docs/fr/greenplum"},{"title":"HubSpot","href":"/docs/fr/hubspot"},{"title":"Materialize","href":"/docs/fr/materialize"},{"title":"Microsoft Fabric","href":"/docs/fr/microsoft-fabric"},{"title":"Mixpanel","href":"/docs/fr/mixpanel"},{"title":"MotherDuck","href":"/docs/fr/motherduck"},{"title":"MySQL","href":"/docs/fr/mysql"},{"title":"PostgreSQL","href":"/docs/fr/postgresql"},{"title":"Pub/Sub","href":"/docs/fr/google-pubsub"},{"title":"SingleStore","href":"/docs/fr/singlestore"},{"title":"Snowflake","href":"/docs/fr/snowflake"},{"title":"SQL Server","href":"/docs/fr/sql-server"},{"title":"Starburst Enterprise","href":"/docs/fr/starburst-enterprise"},{"title":"Starburst Galaxy","href":"/docs/fr/starburst-galaxy"},{"title":"Trino","href":"/docs/fr/trino"},{"title":"Segment (Twilio)","href":"/docs/fr/segment-onesignal-integration"}]},{"group":"Attribution","pages":[{"title":"RevenueCat","href":"/docs/fr/revenuecat"},{"title":"Adjust","href":"/docs/fr/adjust"},{"title":"BlueConic","href":"/docs/fr/blueconic"}]},{"title":"Créer une intégration avec OneSignal : Guide partenaire","href":"/docs/fr/building-an-integration-with-onesignal-partner-guide"}]}]},{"group":"Confidentialité et sécurité","pages":[{"group":"Informations d'identification de sécurité","pages":[{"title":"SOC 2 Type II","href":"/docs/fr/soc-2-type-ii"},{"title":"ISO 27001","href":"/docs/fr/iso27001"},{"title":"HIPAA","href":"/docs/fr/hipaa"}]},{"group":"Confidentialité des données et conformité réglementaire","pages":[{"title":"RGPD et droits individuels","href":"/docs/fr/gdpr-compliance"},{"title":"Cadre de confidentialité des données UE-États-Unis","href":"/docs/fr/eu-us-data-privacy-framework"},{"title":"Conformité réglementaire des e-mails","href":"/docs/fr/email-compliance"},{"title":"Conformité réglementaire SMS","href":"/docs/fr/sms-regulatory-compliance"},{"title":"Exigences de confidentialité des applications Apple","href":"/docs/fr/apple-app-privacy-requirements"},{"title":"Exigences de sécurité des données Google Play","href":"/docs/fr/google-play-data-safety-requirements"},{"title":"FAQ sur la collecte et la sécurité des données","href":"/docs/fr/data-questions"},{"title":"Données collectées par le SDK OneSignal","href":"/docs/fr/data-collected-by-the-onesignal-sdk"},{"title":"Gestion des données personnelles","href":"/docs/fr/handling-personal-data"}]},{"group":"Authentification","pages":[{"title":"Authentification à 2 étapes","href":"/docs/fr/2-step-authentication"},{"title":"Authentification unique (SSO)","href":"/docs/fr/sso"}]}]}]},{"tab":"Guides développeur","pages":[{"title":"Guides développeur","href":"/docs/fr/developers"}]},{"tab":"Tutoriels","pages":[{"title":"Tutoriels","href":"/docs/fr/tutorials"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/rest-api-overview"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/changelog"}]}],"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://onesignal.com/blog"},{"anchor":"GitHub","icon":"github","href":"https://github.com/OneSignal"},{"anchor":"YouTube","icon":"youtube","href":"https://www.youtube.com/@onesignalofficial/playlists"}]}}]},"basePath":"","title":"Intégration Shopify pour le push web - OneSignal","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DXXFP6nH.js","DynamicMarkdown-B54_zNBF.js","zoom-image-lightbox-BG6oD64b.js","lightbox-handle-r17bVUz3.js"]}