Synthèse technique : de Quantcast Choice à InMobi CMP
À la suite du rachat des actifs de Quantcast Choice par InMobi, les éditeurs opérant sous le Transparency and Consent Framework (TCF v2.2) de l'IAB Europe ont vu le CMP ID 10 rebaptisé InMobi CMP. Si la promesse initiale d'une plateforme de gestion du consentement (CMP) sans frais de licence logicielle reste effective pour le web et les applications mobiles, les compromis opérationnels exigent un examen technique rigoureux de la part des délégués à la protection des données (DPO) et des ingénieurs AdOps.
Le dilemme de l'éditeur : gratuité logicielle contre télémétrie ad-tech
Dans l'écosystème de la publicité programmatique, une CMP n'est pas une simple bannière graphique : il s'agit d'un hub de résolution d'identité et de signalement cryptographique. Sous le Règlement sur les marchés numériques (Digital Markets Act - DMA) et les exigences strictes de Google imposées depuis janvier 2024, la monétisation sur Google Ad Manager, AdSense et AdMob requiert impérativement une chaîne de consentement (TC String) TCF v2.2 valide, émise par un partenaire certifié par Google.
Lorsqu'un éditeur déploie une CMP « gratuite » adossée à un conglomérat ad-tech comme InMobi, l'absence de coût direct de licence est compensée par des incitations systémiques : collecte de télémétrie, intelligence agrégée sur le trafic des domaines et configurations par défaut orientées vers la monétisation plutôt que vers la minimisation stricte des données. Les organisations soumises à l'article 5(1)(c) du RGPD et à l'article 5(3) de la directive ePrivacy ↗ doivent impérativement vérifier si ce modèle gratuit compromet leur sécurité juridique face aux jurisprudences de la CJUE Planet49 (C-673/17) et IAB Europe (C-604/22).
Architecture technique : implémentation TCF v2.2 et
InMobi CMP repose sur un script stub universel chargé dans le <head> du document HTML, instanciant l'interface standardisée window.__tcfapi avant l'exécution des tags publicitaires avals (ex. Prebid.js, Google Publisher Tag).
L'interface `__tcfapi` et la gestion de la boucle d'événements
Sous le TCF v2.2, les partenaires publicitaires (vendors) enregistrent un écouteur d'événements afin d'interroger l'état du consentement de l'utilisateur. La CMP doit émettre une réponse addEventListener avec le statut tcData.eventStatus = 'tcloaded' ou 'useractioncomplete' avant qu'aucun tag publicitaire ne traite de données à caractère personnel.
// Validation forensique du stub InMobi CMP et de la charge utile TCF v2.2
window.__tcfapi('addEventListener', 2, function(tcData, success) {
if (success && (tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete')) {
console.info('[Audit CookieDetox] CMP ID :', tcData.cmpId); // Doit retourner 10
console.info('[Audit CookieDetox] Version TCF :', tcData.tcfPolicyVersion); // Doit retourner 4 (TCF v2.2)
console.info('[Audit CookieDetox] TC String :', tcData.tcString);
// Vérification de la Finalité 1 (Accès au terminal) - Art. 5(3) Directive ePrivacy ↗
const hasPurpose1 = tcData.purpose.consents[1];
if (!hasPurpose1) {
console.warn('[Alerte CookieDetox] Finalité 1 refusée : suspension des appels publicitaires programmatiques.');
// Blocage de l'exécution des appels publicitaires tiers
window.googletag = window.googletag || { cmd: [] };
window.googletag.cmd.push(function() {
window.googletag.pubads().setRequestNonPersonalizedAds(1);
});
}
} else {
console.error('[Erreur CookieDetox] Échec de réception des données TC ou CMP bloquée par un script client.');
}
});Configuration de l'intégration avec Prebid.js
Lors de l'interfaçage d'InMobi CMP avec Prebid.js, des conditions de concurrence (race conditions) perturbent fréquemment la monétisation. Si Prebid déclenche les enchères avant qu'InMobi CMP n'ait décodé le cookie de consentement stocké (euconsent-v2), les adaptateurs d'enchères émettent des requêtes non consenties ou abandonnent l'enchère, provoquant une chute de 40 % à 70 % des revenus CPM programmatiques.
// Configuration du module consentManagement de Prebid.js pour InMobi CMP
pbjs.setConfig({
consentManagement: {
gdpr: {
cmpApi: 'iab',
timeout: 1200, // Seuil de sécurité pour éviter les conditions de concurrence
allowAuctionWithoutConsent: false,
defaultGdprScope: true,
rules: [{
// Politique de secours pour le trafic hors EEE
purpose: 'consent',
enforcePurpose: true,
enforceVendor: true
}]
}
}
});Matrice de risques juridiques et conformité réglementaire TCF
Le déploiement d'InMobi CMP ne décharge pas l'éditeur de sa responsabilité légale. Dans l'arrêt C-604/22 de la CJUE (IAB Europe c. APD), la Cour a confirmé que la chaîne de consentement (TC String) constitue une donnée à caractère personnel au sens de l'article 4(1) du RGPD, entraînant une situation de coresponsabilité sur la chaîne programmatique. Par ailleurs, les délibérations CNIL n° 2020-091 et 2020-092 exigent une stricte symétrie entre l'acceptation et le refus du consentement dès le premier niveau d'affichage.
Matrice comparative : InMobi CMP vs CMP indépendantes du marché
| Critère d'évaluation | InMobi CMP (Quantcast Choice) | Didomi | Usercentrics | Complianz / Auto-hébergé |
|---|---|---|---|---|
| Identifiant CMP (IAB TCF) | 10 | 7 | 30 | N/A ou Personnalisé |
| Coût direct de licence | Offre gratuite disponible | Entreprise sur devis (> 300 €/mois) | Paliers par domaines (> 50 €/mois) | Achat unique / SaaS fixe |
| Certification Google DMA | Oui | Oui | Oui | Requiert un pont manuel |
| Isolation des données tiers | Infrastructure partagée ad-tech | Cloud isolé dédié au client | Cloud isolé dédié au client | Zéro télémétrie tierce |
| Poids du script (gzippé) | ~78 Ko | ~45 Ko | ~58 Ko | ~18 Ko |
| Conformité symétrique CNIL | Configurable (risque : non actif par défaut) | Configurable / Conforme par défaut | Configurable / Conforme par défaut | Boutons natifs stricts |
| Gestion de l'intérêt légitime | Conforme TCF v2.2 (Finalités 3 à 10) | Conforme TCF v2.2 | Conforme TCF v2.2 | Désactivé par défaut |
Sous le TCF v2.2, l'intérêt légitime ne peut plus être invoqué comme base juridique pour la Finalité 3 (Création de profils personnalisés), la Finalité 4 (Sélection de publicités personnalisées), la Finalité 5 (Création de profil de contenu personnalisé) ou la Finalité 6 (Sélection de contenus personnalisés). Bien qu'InMobi CMP intègre ces restrictions au sein de sa liste globale de vendeurs (GVL), de mauvaises configurations lors du paramétrage initial dans la console laissent parfois des cases d'intérêt légitime cochées par défaut pour certains partenaires de niche. Cela contrevient à l'article 7(2) du RGPD ↗ et expose le responsable du traitement aux sanctions administratives de l'article 83(5).
Protocole d'implémentation et de vérification forensique pas à
Pour prévenir l'effondrement des revenus programmatiques tout en conservant une preuve de consentement horodatée opposable en cas de contrôle de la CNIL, les équipes techniques doivent appliquer ce protocole de vérification dans les DevTools avant tout passage en production.
Étape 1 : Analyse de la cascade réseau (Waterfall)
- Ouvrez les DevTools (> onglet Réseau) et cochez l'option Conserver le journal (Preserve log).
- Filtrez les requêtes avec la chaîne
choice.jsoucmp.inmobi.com. - Vérifiez qu'aucun tag publicitaire tiers (
doubleclick.net,criteo.com,amazon-adsystem.com) n'émette de requête HTTP POST avant que le cookie base64euconsent-v2ne soit inscrit sur le domaine racine.
Étape 2 : Inspection de la TC String dans la console
Exécutez la commande suivante dans la console pour vérifier le décodage de la charge utile et s'assurer que le CMP ID 10 émet les indicateurs binaires corrects :
__tcfapi('getTCData', 2, (tcData, success) => {
if (success) {
console.table({
"ID CMP": tcData.cmpId,
"Version CMP": tcData.cmpVersion,
"Écran de consentement": tcData.consentScreen,
"Langue du consentement": tcData.consentLanguage,
"Nombre de vendeurs consentis": Object.keys(tcData.vendor.consents).length,
"Finalité 1 (Stockage/Accès terminal)": tcData.purpose.consents[1],
"Finalité 2 (Publicités basiques)": tcData.purpose.consents[2]
});
}
});Étape 3 : Sécurisation de l'intégration avec Google Consent Mode v2
En cas de couplage d'InMobi CMP avec Google Tag Manager, assurez-vous que la commande gtag('consent', 'default', ...) s'exécute avant l'appel du script d'InMobi CMP. L'absence de définition préalable des valeurs par défaut engendre une fuite de données où les balises Google collectent des signaux de base non consentis sans les paramètres requis ad_storage='denied' et ad_user_data='denied'.
<!-- Obligatoire : Définition des valeurs par défaut pour Google Consent Mode v2 -->
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('consent', 'default', {
'ad_storage': 'denied',
'analytics_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'wait_for_update': 500
});
</script>
<!-- Tag du script InMobi CMP -->
<script src="https://cmp.inmobi.com/choice/<VOTRE_ID_COMPTE>/<VOTRE_ID_SITE>/choice.js" async></script>Verdict stratégique et recommandations sans sanction pour les
InMobi CMP demeure une solution techniquement fonctionnelle pour les éditeurs financés par la publicité programmatique qui recherchent la certification Google DMA et la conformité TCF v2.2 avec un budget opérationnel contraint. Cependant, les groupes médias, les sites e-commerce et les plateformes traitant des données sensibles doivent mesurer les risques structurels.
Cas où déployer InMobi CMP est pertinent :
- Éditeurs de contenus web dépendants des revenus display programmatiques via Google Ad Manager et Prebid.js.
- Équipes disposant de ressources techniques internes pour superviser les boucles d'événements TCF et corriger les configurations graphiques non conformes par défaut.
Cas où InMobi CMP doit être évité :
- Sites corporate institutionnels ou plateformes B2B SaaS où la complexité du framework IAB TCF v2.2 est inutile et crée une exposition juridique inutile au sens de l'arrêt CJEU C-604/22.
- Marques soumises à une politique stricte de gouvernance interdisant l'injection de scripts de télémétrie publicitaire tiers dans leur conteneur de balises.
Pour les organisations exigeant une sécurité d'audit absolue, migrer vers des CMP indépendantes et isolées de l'écosystème ad-tech élimine les conflits d'intérêts inhérents à un modèle où la vérification du consentement est opérée par un acteur du marché programmatique lui-même.
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
-
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