Note technique de cadrage
Les plateformes e-commerce s'appuient massivement sur des flux automatisés de rétention gérés par des Customer Data Platforms (CDP) et des solutions de marketing automation comme Klaviyo ou Omnisend. Le modèle standard de récupération de chiffre d'affaires repose sur les séquences d'abandon de panier (cart abandonment) et d'abandon de navigation (browse abandonment). Néanmoins, les équipes marketing qualifient fréquemment à tort l'architecture technique de ces déclencheurs comme des opérations fonctionnelles « strictement nécessaires » ou relevant de l'intérêt légitime au titre de l'article 6(1)(f) du Règlement Général sur la Protection des Données (RGPD).
Cette qualification est juridiquement erronée et techniquement intenable. Dès lors qu'un outil d'automatisation réconcilie une session de navigation web anonyme avec l'adresse e-mail d'un individu identifié via un traceur déposé sur son terminal, il exécute une opération soumise à deux régimes réglementaires distincts : l'article 5(3) de la directive ePrivacy ↗ 2002/58/CE (transposé en droit français à l'article 82 de la loi Informatique et Libertés ↗) et l'article 6 du RGPD.
La divergence fondamentale : consentement newsletter versus profilage sur terminal
Lorsqu'un consommateur s'abonne à une newsletter, il consent exclusivement à recevoir des communications commerciales directes par courrier électronique. Cette action ne confère nullement au responsable du traitement l'autorisation légale, au sens de l'article 4(11) du RGPD, d'implanter des traceurs persistants sur son terminal ou d'exécuter un profilage comportemental intersession automatisé (RGPD, article 4(4)).
Dès lors qu'un abonné ouvre un e-mail et clique sur un lien hypertexte, Klaviyo injecte un jeton cryptographique dans les paramètres d'URL (le paramètre de suivi _kx). Le script côté client analyse ce paramètre, génère un cookie interne persistant (__kla_id) et relie rétroactivement et prospectivement les pages vues, les consultations du catalogue (Viewed Product) et les ajouts au panier (Added to Cart) au profil CRM. L'exécution de cette séquence sans consentement préalable positif (opt-in), libre, spécifique, éclairé et univoque constitue une infraction directe à la jurisprudence européenne, notamment l'arrêt CJUE C-673/17 (Planet49) ainsi qu'aux délibérations CNIL n° 2020-091 et 2020-092.
Analyse architecturale : mécanique de __kla_id et du paramètre
Pour caractériser le manquement réglementaire, il convient d'isoler l'activité réseau sous-jacente. Le déploiement par défaut de Klaviyo repose sur un chargeur inline ou un conteneur de gestion des balises (Google Tag Manager) qui injecte https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=COMPANY_ID.
Le pipeline de ré-identification
- Attribution sortante : Tout e-mail marketing sortant intègre un lien structuré tel que
https://brand.com/products/item?_kx=J8dKl2a9Z.... La valeur_kxest un jeton chiffré encodé en Base64 encapsulant l'identifiant interne de profil Klaviyo ou l'adresse e-mail brute du destinataire. - Ingestion et mutation du cookie : Dès l'atterrissage sur le site,
klaviyo.jsinterrogewindow.location.search. Il extrait la valeur_kx, lit ou écrit le cookie interne (first-party) nommé__kla_id, et lui assigne une durée de conservation de 730 jours (2 ans). - Persistance de l'état : Le cookie
__kla_idstocke une charge utile JSON contenant un identifiant terminal unique corrélé à l'état d'attribution :
// Structure décodée de la charge utile locale persistante de __kla_id
{
"$exchange_id": "01HX5T3Y8K8QZ9R7W6P4M2N1AB",
"$email": "shopper@enterprise.eu",
"$views": 14,
"$last_view": 1726743600
}Charges utiles des événements comportementaux
La navigation ultérieure produit l'envoi immédiat de balises de télémétrie via des requêtes HTTP POST vers le point d'ingestion de Klaviyo (https://a.klaviyo.com/api/onsite/v1/track). Lorsqu'un internaute parcourt le catalogue, la plateforme transmet des données comportementales granulaires sans qu'aucune authentification préalable via un compte client n'ait été effectuée :
// Trace forensique d'un envoi POST non consenti de l'événement 'Viewed Product'
fetch("https://a.klaviyo.com/api/onsite/v1/track", {
"method": "POST",
"headers": {
"Accept": "*/*",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
},
"body": new URLSearchParams({
"data": JSON.stringify({
"token": "PUBLIC_API_KEY",
"event": "Viewed Product",
"customer_properties": {
"$exchange_id": "01HX5T3Y8K8QZ9R7W6P4M2N1AB"
},
"properties": {
"$source": "shopify",
"Title": "Manteau en cachemire",
"Price": 495.00,
"Tags": ["Outerwear", "Luxury"],
"URL": "https://brand.com/products/cashmere-coat"
}
})
})
});Dans la mesure où ces appels réseau sont déclenchés côté client sans validation préalable du consentement par une plateforme de gestion du consentement (CMP), le terminal fait l'objet d'opérations de lecture et d'écriture proscrites par l'article 5(3) ePrivacy / article 82 de la loi Informatique et Libertés ↗, sauf si ces opérations sont strictement nécessaires à la fourniture d'un service expressément demandé par l'utilisateur. Un e-mail d'abandon de navigation déclenché par une simple consultation passive ne remplit aucunement ce critère d'exemption, conformément aux Lignes directrices 2/2023 du CEPD sur le champ technique de l'article 5(3).
Matrice des risques : Klaviyo & Omnisend : Faut-il le
Les exploitants e-commerce confondent régulièrement la relance de panier consécutive à l'abandon d'un formulaire de commande (où l'utilisateur renseigne explicitement son e-mail lors de l'étape de livraison) avec le traçage passif de navigation orchestré par cookies. Les autorités de protection des données (la CNIL en France, l'AEPD, la DPC) établissent une distinction technique et juridique formelle selon la base légale mobilisée et la nécessité d'accéder au terminal.
| Séquence d'automatisation | Vecteur de traçage | Base légale (ePrivacy / RGPD) | Qualification juridique | Risque de sanction |
|---|---|---|---|---|
| Abandon de navigation passif | Paramètre _kx + cookie __kla_id + Viewed Product |
Art. 82 LIL / Art. 6(1)(a) Consentement | Strictement illégal sans consentement préalable positif (opt-in) via une CMP. | Élevé : Sanctions CNIL (Art. 82), Art. 83 RGPD jusqu'à 20 M€ ou 4 % du CA mondial. |
| Abandon de panier non authentifié | Added to Cart côté client + identité en cache |
Art. 82 LIL / Art. 6(1)(a) Consentement | Requiert un consentement explicite pour la catégorie « Traceurs marketing/profilage ». | Élevé : Rejet systématique de la base légale de l'intérêt légitime. |
| Abandon à l'étape 1 du checkout | Capture directe dans le formulaire (session API backend) | RGPD Art. 6(1)(b) Contrat ou 6(1)(f) Intérêt légitime | Défendable UNIQUEMENT si aucun cookie local n'est lu/écrit sans consentement. | Modéré : Exige une information préalable transparente avant la collecte. |
| Synchronisation historique CRM | Réconciliation de base de données via hachage d'e-mail | RGPD Art. 6(1)(a) Consentement / Art. 21 Droit d'opposition | Le profilage exige un consentement spécifique (Lignes directrices CEPD 8/2020). | Élevé : Responsabilité civile au titre de l'Art. 82 du RGPD (dommages matériels/moraux). |
L'inapplicabilité de l'exemption au titre de « l'intérêt légitime »
Les directions juridiques d'entreprises tentent fréquemment de rattacher l'exécution des scripts de suivi Klaviyo ou Omnisend à l'article 6(1)(f) du RGPD. La Cour de justice de l'Union européenne a formellement rejeté cette approche dans son arrêt Fashion ID (C-40/17), en établissant que l'optimisation des performances commerciales ne saurait prévaloir sur les droits fondamentaux des personnes concernées lorsque des technologies de traçage sont déployées sans consentement univoque.
De surcroît, selon la délibération CNIL n° 2020-092, les opérations qui suivent un internaute à travers plusieurs sessions et corrèlent ces données avec des identifiants externes (tels que les clés de contact d'un CRM) ne satisfont pas au test de proportionnalité de l'intérêt légitime, ce qui impose impérativement la mise en place d'un mécanisme d'opt-in ePrivacy avant l'exécution de tout tag.
Protocole de remédiation et d'audit forensique
Afin de neutraliser tout risque de non-conformité tout en maintenant le suivi des utilisateurs consentants, les équipes techniques doivent refondre la cinématique de chargement des scripts. Klaviyo ne doit jamais être exécuté de façon inconditionnelle sur les événements DOMContentLoaded ou window.load.
Phase 1 : Blocage conditionnel GTM et neutralisation des traceurs
Lorsque Klaviyo ou Omnisend est déployé via Google Tag Manager, la balise de base ne doit pas se déclencher sur un déclencheur générique d'affichage de page. La balise doit être strictement asservie à un événement personnalisé émis par la plateforme de gestion du consentement (CMP) confirmant l'acceptation des cookies marketing (ex. Axeptio, Didomi, OneTrust, Usercentrics).
<!-- Intégration CMP forensique : blocage de Klaviyo jusqu'au consentement explicite -->
<script>
window.addEventListener('didomi-consent', function(event) {
var consentStatus = window.Didomi.getUserConsentStatusForVendor('c:klaviyo-XXX');
if (consentStatus === true) {
// Injection dynamique de klaviyo.js uniquement après validation du consentement marketing
if (!window.klaviyo) {
var klaviyoScript = document.createElement('script');
klaviyoScript.type = 'text/javascript';
klaviyoScript.async = true;
klaviyoScript.src = 'https://static.klaviyo.com/onsite/js/klaviyo.js?company_id=YOUR_PUBLIC_KEY';
document.getElementsByTagName('head')[0].appendChild(klaviyoScript);
}
} else {
// Purge active des identifiants non autorisés en cas de refus ou retrait du consentement
document.cookie = "__kla_id=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/; domain=." + window.location.hostname;
}
});
</script>Phase 2 : Découplage et assainissement du paramètre _kx dans l'URL
Si un visiteur clique sur un lien d'e-mail comportant _kx mais refuse les traceurs marketing sur le site, le script klaviyo.js ne doit pas s'exécuter, empêchant l'écriture du paramètre dans le stockage local. En présence d'une intégration Shopify native via plugin, le template Liquid du thème doit être adapté afin d'intercepter la logique de traçage :
// Wrapper conditionnel pour thème Shopify Liquid
// Fichier : snippets/klaviyo-gatekeeper.liquid
(function() {
var hasMarketingConsent = function() {
// Vérification de l'état de l'API Customer Privacy de Shopify ou de la CMP
if (window.Shopify && window.Shopify.customerPrivacy) {
return window.Shopify.customerPrivacy.getTrackingConsent() === 'yes';
}
return false;
};
if (!hasMarketingConsent()) {
// Interception et suppression du paramètre _kx du DOM sans déclencher d'attribution
if (window.location.search.indexOf('_kx=') !== -1) {
var cleanSearch = window.location.search
.replace(/([&?])_kx=[^&]+(&|$)/, '$1')
.replace(/&$/, '')
.replace(/^\?$/, '');
var cleanUrl = window.location.pathname + (cleanSearch ? cleanSearch : '') + window.location.hash;
window.history.replaceState(null, '', cleanUrl);
}
}
})();Phase 3 : Protocole d'audit forensique via DevTools
Pour vérifier la conformité effective de votre boutique, exécutez le protocole d'audit suivant dans une fenêtre de navigation privée :
- Ouvrez Chrome DevTools (F12) > onglet Réseau (Network) > filtrez par
klaviyo. - Accédez au site e-commerce via un lien simulant une campagne e-mail :
https://brand.com/?_kx=TEST_TOKEN_DEBUG. - Critère de conformité 1 : Aucune requête sortante vers
static.klaviyo.comoua.klaviyo.comne doit être émise avant tout clic sur « Tout accepter » dans la bannière de cookies. - Consultez l'onglet Application > section Cookies.
- Critère de conformité 2 : Le cookie
__kla_idne doit pas figurer dans le stockage local. - Cliquez sur « Tout refuser » sur le bandeau de consentement.
- Critère de conformité 3 : La navigation sur les fiches produits ne doit générer aucun appel API vers les endpoints de
track. Aucune baliseViewed Productne doit apparaître dans l'onglet Réseau.
Verdict stratégique : Klaviyo & Omnisend : Faut-il le
Les acteurs e-commerce opérant sur le marché européen évoluent dans un contexte de contrôle renforcé. Les autorités de contrôle (la CNIL en France, la DPC irlandaise ou les commissaires régionaux allemands LfDI) déploient des outils d'audit automatisés capables d'identifier le dépôt illicite de traceurs et de jetons d'identification dès l'atterrissage sur le site. Poursuivre le traçage passif de la navigation ou des paniers sans opt-in relève d'une fiction juridique intenable.
Le schéma d'architecture conforme
Pour préserver des taux élevés de récupération de ventes tout en garantissant une étanchéité réglementaire absolue, les marchands doivent adopter une architecture à deux voies :
- Voie A : Le canal authentifié (récupération de session exemptée de consentement) : Restreindre les relances de panier fondées sur l'intérêt légitime aux seuls utilisateurs connectés à leur compte client, qui placent des articles dans leur panier puis quittent le site. La persistance du panier au sein d'une session authentifiée étant strictement nécessaire au service d'achat expressément sollicité par l'internaute, la mise à jour de l'état en base de données backend est pleinement défendable sans recourir à des traceurs adtech tiers côté client.
- Voie B : Le canal comportemental (tracking CDP asservi au consentement) : Bloquer l'exécution de l'ensemble des scripts passifs (
klaviyo.js,omnisend.js) derrière la finalité « Cookies marketing et personnalisation ». Informer explicitement les utilisateurs au sein de la CMP que l'acceptation de ces traceurs permet l'envoi d'e-mails de relance personnalisés selon leur historique de consultation.
En mettant en œuvre ce blocage conditionnel et en purgeant systématiquement le paramètre _kx en cas de refus des cookies, le responsable du traitement écarte tout risque d'amende administrative au titre de l'article 83 du RGPD ↗, neutralise les actions en réparation intentées sur le fondement de l'article 82 et dispose d'une preuve et d'un jeton de consentement horodaté vérifiables lors de tout contrôle.
Sources Officielles & Jurisprudence de Référence
Textes réglementaires primaires, délibérations officielles de la CNIL et arrêts de la CJUE cités dans cette analyse.
-
Curia / CJUE Arrêt CJUE Fashion ID (Affaire C-40/17 du 29 juillet 2019) : Co-responsabilité sur les plugins et pixels tiersConsulter le texte officiel
-
Curia / CJUE Arrêt CJUE Planet49 (Affaire C-673/17 du 1er octobre 2019) : Invalidité absolue des cases pré-cochées pour le consentement cookiesConsulter le texte officiel
-
Légifrance Article 82 de la Loi n° 78-17 du 6 janvier 1978 modifiée (Régime légal des cookies et traceurs en France)Consulter le texte officiel
-
EUR-Lex Article 83 du Règlement (UE) 2016/679 (RGPD) — Conditions générales pour imposer des amendes administratives (plafonds de 20 M€ ou 4 % du CA mondial)Consulter le texte officiel
-
EUR-Lex Directive 2002/58/CE modifiée (Directive ePrivacy relative au traitement des données et à la protection de la vie privée dans le secteur des communications électroniques)Consulter le texte officiel
-
Légifrance / CNIL Délibération CNIL n° 2020-091 du 17 septembre 2020 portant adoption de lignes directrices relatives à l'application de l'article 82Consulter le texte officiel