Klaviyo
Guide technique : CRM email et SMS pour Shopify. Integration native, events, consent, flows, attribution, verification.
1Role / Objectif
Klaviyo est le CRM email/SMS connecte nativement a Shopify. Il collecte les donnees client et les events e-commerce pour alimenter les flows marketing automatises.
- Emails automatises (welcome, abandon panier, post-achat, winback)
- SMS marketing et transactionnel
- Segmentation avancee basee sur le comportement
- Attribution email/SMS (revenue attribue aux campagnes)
- Integration native Shopify (pas besoin de GTM)
Klaviyo utilise l'integration native Shopify, pas GTM. Il ne fait pas partie du flux DataLayer → GTM → sGTM. C'est une destination autonome.
Place dans le stack
| Destination | Type | Consent |
|---|---|---|
| GA4 | Transport sGTM | analytics_storage |
| Meta CAPI | Tag sGTM | ad_storage, ad_user_data |
| Google Ads Enhanced Conv. | Tag sGTM | ad_storage, ad_user_data |
| Klaviyo | Integration native Shopify | ad_storage |
Flows essentiels
| Flow | Trigger | Impact |
|---|---|---|
| Welcome Series | Subscribed to List | Onboarding + premiere conversion |
| Abandon Panier | Added to Cart → pas de Placed Order | Recuperation revenue |
| Abandon Checkout | Started Checkout → pas de Placed Order | Recuperation revenue |
| Post-Achat | Placed Order | Review, upsell, fidelisation |
| Winback | Placed Order → inactif 60j+ | Reactivation clients |
| Browse Abandon | Viewed Product → pas de Add to Cart | Engagement produit |
Segments cles
- Engaged (ouvert/clique dans les 30j)
- VIP (3+ commandes ou 500+ EUR)
- At Risk (pas de commande depuis 60j)
- Churned (pas de commande depuis 120j)
- New Subscribers (inscrits dans les 7j)
Attribution Email / SMS
Klaviyo attribue une conversion si le destinataire a ouvert ou clique dans la fenetre d'attribution.
| Type | Fenetre par defaut | Condition |
|---|---|---|
| Email ouvert | 5 jours | Ouverture + commande |
| Email clique | 5 jours | Clic + commande |
| SMS clique | 5 jours | Clic + commande |
| Flow | 5 jours | Dernier email/SMS du flow |
Double attribution
Klaviyo et GA4/Meta peuvent attribuer la meme conversion. C'est normal : chaque plateforme a son propre modele d'attribution. Ne pas additionner les revenus des differentes plateformes.
2Architecture
Native Shopify vs sGTM
Contrairement a GA4, Meta CAPI et Google Ads qui transitent par le stack DataLayer → GTM → sGTM, Klaviyo fonctionne via une integration native Shopify independante.
Stack tracking sGTM :
Shopify → Addingwell → DataLayer → GTM Web → sGTM
├── GA4 (transport server-side)
├── Meta CAPI (Full CAPI, server-only)
└── Google Ads Enhanced Conversions
Klaviyo (independant) :
Shopify → Integration native
├── Shopify API (commandes, clients, produits)
├── App Embed (tracking onsite)
├── Web Pixels (checkout, soumis au consent)
└── Webhooks (fulfillment, refunds)Klaviyo n'a aucune configuration GTM. L'integration est entierement geree par l'app Shopify. Le seul lien avec le stack tracking est le consent via le bridge Cookiebot → Privacy API.
3Integration Native Shopify
Flux de donnees
Shopify Store
├── Shopify API (commandes, clients, produits)
│ └── Sync automatique vers Klaviyo
│
├── App Embed Klaviyo (storefront)
│ └── Active Identify, tracking on-site
│
├── Web Pixels Klaviyo (checkout)
│ └── Events checkout (via Shopify Privacy API)
│
└── Webhooks Shopify → Klaviyo
└── Commandes, fulfillment, refundsCe que Klaviyo recoit de Shopify
- Catalogue produits (sync automatique)
- Historique commandes (backfill a l'installation)
- Profils clients (email, nom, adresse)
- Events en temps reel (Placed Order, Started Checkout...)
- Donnees de fulfillment et refund
Etapes d'installation
Web Pixels Klaviyo
Les web pixels Klaviyo sont automatiquement installes par l'app. Ils tracquent les events checkout dans le sandbox Shopify.
- Started Checkout — debut du processus d'achat
- Order Completed — achat confirme (deduplication avec API)
Les web pixels sont soumis a la Shopify Privacy API. Le bridge Cookiebot controle leur activation via setTrackingConsent.
4Consent & Privacy
Architecture consent
Cookiebot (CMP dans GTM)
↓
Bridge → Shopify Privacy API
↓
setTrackingConsent({ marketing: true/false })
↓
Web pixels Klaviyo actives / bloquesApp Embed charge avant le consent
L'app embed Klaviyo charge avant le consent (~16 requetes). Les requetes initiales sont techniques (non-marketing). Le bridge Cookiebot → Shopify Privacy API controle ensuite quels web pixels peuvent fire.
Ce qui est controle par le consent
| Element Klaviyo | Consent requis | Sans consent |
|---|---|---|
| App embed (Active on Site, Viewed Product) | Non | Fonctionne toujours |
| Web pixels checkout | Oui (marketing) | Bloque |
| Sync API (Placed Order, profils) | Non | Server-side Shopify |
| Emails transactionnels | Non | Envoi garanti |
| Emails marketing | Opt-in email requis | Pas de rapport avec CMP |
Consent par destination (dans le stack)
| Destination | Signaux requis | Categorie Cookiebot |
|---|---|---|
| GA4 | analytics_storage | Statistics |
| Meta CAPI | ad_storage, ad_user_data | Marketing |
| Google Ads | ad_storage, ad_user_data | Marketing |
| Klaviyo | ad_storage | Marketing |
| Cookiebot | Aucun | Necessary |
Le consent CMP (Cookiebot) controle les web pixels Klaviyo. Il ne bloque pas les sync API Shopify ni les emails. L'opt-in email est un consentement separe (formulaire Klaviyo).
5Events & Data
Events Klaviyo
| Event Klaviyo | Source | Description |
|---|---|---|
| Active on Site | App embed | Visiteur actif sur le store |
| Viewed Product | App embed | Vue fiche produit |
| Added to Cart | App embed | Ajout au panier |
| Started Checkout | Web pixel | Debut du checkout |
| Placed Order | Shopify API | Commande confirmee |
| Ordered Product | Shopify API | Detail par produit commande |
| Fulfilled Order | Shopify webhook | Commande expediee |
| Cancelled Order | Shopify webhook | Commande annulee |
| Refunded Order | Shopify webhook | Commande remboursee |
Difference avec GA4
Les events Klaviyo sont independants du DataLayer GTM. Klaviyo a sa propre collecte via l'app embed et l'API Shopify. Il n'y a pas de duplication.
Donnees natives vs enrichissement
| Donnee | Source native | Enrichissement possible |
|---|---|---|
| Email, nom, adresse | Shopify API | Deja complet |
| Historique commandes | Shopify API (backfill) | Deja complet |
| Navigation onsite | App embed | Deja complet |
| Events checkout | Web pixel | Controle par consent |
| UTM / Source attribution | Non natif | Via custom properties ou flow triggers |
| Score engagement | Calcule par Klaviyo | Segments custom |
6Configuration
Pre-requis
- Compte Klaviyo actif
- App Klaviyo installee sur Shopify
- Integration Shopify connectee dans Klaviyo
- App embed activee dans le theme (Online Store → Themes → Customize)
Etapes
- 1Installer l'app Klaviyo depuis le Shopify App Store
- 2Connecter le store dans Klaviyo → Integrations → Shopify
- 3Activer l'app embed dans le theme editor
- 4Verifier le backfill des commandes historiques
- 5Configurer les flows essentiels (Welcome, Abandon, Post-Achat)
- 6Verifier que le bridge consent Cookiebot fonctionne
Klaviyo n'a aucune configuration GTM. L'integration est entierement geree par l'app Shopify. Le seul lien avec le stack tracking est le consent via le bridge Cookiebot → Privacy API.
7Verification
Verifier l'integration
- 1Klaviyo → Integrations → Shopify → verifier statut "Connected"
- 2Verifier le nombre de profils syncs (doit correspondre aux clients Shopify)
- 3Verifier les commandes historiques importees
Verifier les events
- 1Naviguer sur le store (connecte avec un email connu)
- 2Klaviyo → Analytics → Activity Feed
- 3Verifier Active on Site, Viewed Product apres navigation
- 4Ajouter un produit au panier → verifier Added to Cart
- 5Completer un achat test → verifier Placed Order
Verifier le consent
- 1Refuser le consent via Cookiebot
- 2Naviguer et verifier que les web pixels sont bloques
- 3Verifier que l'app embed fonctionne toujours (Active on Site)
- 4Accepter le consent → les web pixels doivent se reactiver
Checklist Phase 3 — Destinations (Klaviyo)
8Troubleshooting
Verifier :
- 1Integration Shopify connectee et active
- 2App embed activee dans le theme editor
- 3Pas de conflit avec un autre script Klaviyo
- 4Naviguer connecte avec un email connu de Klaviyo
Verifier :
- Web pixel Klaviyo actif dans Settings → Customer Events
- Consent marketing accorde (bridge Cookiebot → Privacy API)
- Visiteur identifie (email connu) pour le tracking checkout
Causes normales :
- Double attribution Klaviyo + GA4/Meta (chaque plateforme a son modele)
- Fenetre d'attribution differente (5j Klaviyo vs 7j Meta)
- Ne pas additionner les revenus cross-plateformes
- Utiliser Shopify comme source de verite pour le revenue total
Explication :
- L'app embed Klaviyo se charge au premier rendu, avant que le consent ne soit accorde. C'est le comportement normal.
- Le bridge Cookiebot → Shopify Privacy API controle le consent pour les web pixels Klaviyo.
- Verifier que le snippet cookie-consent_boostecom.liquid est installe et que setTrackingConsent est appele apres CookiebotOnConsentReady.