CookieDetox L'Observatoire Legal-Tech
Sanctions & Amendes 2026-09-19

Klaviyo & Omnisend : Faut-il le consentement pour tracker les paniers abandonnés et visiteurs web ?

CD

Par Cellule Investigation CookieDetox

Expertise Juridique & Conformité

🔗
T

L'essentiel à retenir (En bref)

Selon l'article 82 de la loi Informatique et Libertés ↗ (ePrivacy) et l'article 6(1)(a) du RGPD, le déploiement de traceurs comportementaux comme `klaviyo.js` ou le cookie `__kla_id`, ainsi que la réconciliation via le paramètre `_kx`, requièrent un consentement préalable positif (opt-in). L'inscription newsletter n'autorise pas le profilage web. L'intérêt légitime est inapplicable, exposant le responsable du traitement à des sanctions pécuniaires pouvant atteindre 20 millions d'euros.

Note technique de cadrage : anatomie de l'attribution comportementale clandestine

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 _kx

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

  1. Attribution sortante : Tout e-mail marketing sortant intègre un lien structuré tel que https://brand.com/products/item?_kx=J8dKl2a9Z.... La valeur _kx est un jeton chiffré encodé en Base64 encapsulant l'identifiant interne de profil Klaviyo ou l'adresse e-mail brute du destinataire.
  2. Ingestion et mutation du cookie : Dès l'atterrissage sur le site, klaviyo.js interroge window.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).
  3. Persistance de l'état : Le cookie __kla_id stocke 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 juridiques et réglementaires : traitements Klaviyo et Omnisend

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 : architecture technique conforme

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 :

  1. Ouvrez Chrome DevTools (F12) > onglet Réseau (Network) > filtrez par klaviyo.
  2. Accédez au site e-commerce via un lien simulant une campagne e-mail : https://brand.com/?_kx=TEST_TOKEN_DEBUG.
  3. Critère de conformité 1 : Aucune requête sortante vers static.klaviyo.com ou a.klaviyo.com ne doit être émise avant tout clic sur « Tout accepter » dans la bannière de cookies.
  4. Consultez l'onglet Application > section Cookies.
  5. Critère de conformité 2 : Le cookie __kla_id ne doit pas figurer dans le stockage local.
  6. Cliquez sur « Tout refuser » sur le bandeau de consentement.
  7. 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 balise Viewed Product ne doit apparaître dans l'onglet Réseau.

Verdict stratégique : architecture de reciblage comportemental à risque zéro

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 :

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 tiers
    Consulter 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 cookies
    Consulter 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 82
    Consulter le texte officiel
Mis à jour le 2026-09-19
Partager cet article:

Questions Fréquentes (FAQ)

Le suivi des abandons de panier requiert-il un consentement aux cookies au titre du RGPD ?

Oui. Dès lors que la relance de panier abandonné repose sur des scripts côté client (tels que klaviyo.js) ou des traceurs sur le terminal (__kla_id) pour lier la navigation à une adresse e-mail, le consentement préalable positif (opt-in) est obligatoire selon l'article 82 de la loi Informatique et Libertés et l'article 6(1)(a) du RGPD. L'intérêt légitime ne peut s'appliquer.

Puis-je tracker l'abandon de navigation si l'utilisateur est déjà inscrit à ma newsletter ?

Non. L'inscription à une newsletter couvre uniquement la prospection directe par e-mail. Elle ne confère aucune base légale pour déposer des traceurs, surveiller les fiches produits consultées ou réaliser un profilage comportemental intersession. Un consentement distinct, préalable et explicite pour les traceurs marketing est strictement exigé conformément à la jurisprudence de la CJUE (Planet49).

Comment bloquer le traçage Klaviyo avant consentement sur Shopify ?

Il est impératif de désactiver l'injection automatique par l'application tierce. Encapsulez le script d'initialisation de Klaviyo dans un écouteur de l'API Customer Privacy de Shopify ou dans le callback de votre CMP (Axeptio, Didomi, OneTrust). Le script klaviyo.js et les événements de navigation ne doivent s'exécuter que si la catégorie marketing est explicitement acceptée par l'internaute.

Qu'est-ce que le cookie __kla_id et pourquoi la CNIL le contrôle-t-elle ?

Le cookie first-party __kla_id, généré par Klaviyo, persiste jusqu'à deux ans sur le terminal. Il enregistre un identifiant unique reliant l'historique de consultation et les paniers au profil CRM de l'utilisateur. Accédant à des informations stockées dans l'équipement terminal pour du profilage comportemental, la CNIL le soumet impérativement à un consentement préalable positif sans exception possible.