Développeurs

Documentation

Tout pour installer Consorm, gérer le consentement et intégrer vos outils, du premier script à l'export du registre.

Bannière

L'API JavaScript

Contrôler la bannière depuis votre code : rouvrir les préférences, lire l'état du consentement, comprendre le cookie csm_consent et réagir aux décisions via le dataLayer.

Une fois chargée, la bannière expose un objet global window.__cmp sur chaque page. Il permet d'ouvrir la bannière ou le centre de préférences depuis vos propres éléments d'interface et de lire l'état courant du consentement : utile, par exemple, pour un lien « Gérer mes témoins » dans votre pied de page.

Méthodes

MéthodeEffet
__cmp.showPreferences()Ouvre le centre de préférences, où le visiteur modifie ou retire son consentement.
__cmp.showBanner()Réaffiche l'avis de consentement initial.
__cmp.hideBanner()Masque l'avis affiché.
Un lien « Gérer mes témoins » dans votre pied de page
<a href="#" onclick="window.__cmp && __cmp.showPreferences(); return false;">
  Gérer mes témoins
</a>

La bannière peut ne pas être encore chargée

Le script se charge de façon asynchrone : testez toujours la présence de window.__cmp (et sa propriété ready) avant d'appeler une méthode, comme dans l'exemple ci-dessus.

Lire l'état du consentement

L'objet __cmp porte aussi l'état courant, en lecture seule :

PropriétéContenu
__cmp.consentL'état par catégorie, par exemple { necessary: true, analytics: true, advertisement: false }.
__cmp.catsLes catégories configurées pour le site.
__cmp.readytrue quand la bannière est initialisée.
__cmp.regimeLe régime de consentement appliqué au visiteur selon sa localisation.
__cmp.gpcAppliedtrue si un signal Global Privacy Control a été honoré.
Exemple : afficher un module seulement si l'analyse est consentie
if (window.__cmp && __cmp.ready && __cmp.consent.analytics) {
  // le visiteur a accepté la catégorie Analyse
  chargerMonModule();
}

La décision du visiteur est conservée dans un unique cookie de première partie, csm_consent, valable 365 jours, posé avec SameSite=Lax; Secure sur le domaine enregistrable de votre site (il vaut donc pour vos sous-domaines). Sa valeur est un objet JSON encodé :

ChampSignification
idL'identifiant de consentement du visiteur (préfixe csm_), celui qui apparaît dans le registre.
vLa version de la configuration publiée au moment du choix.
cLe détail par catégorie (true / false).
aL'action : accept_all, reject_all, save_preferences ou withdraw.
tL'horodatage de la décision (millisecondes depuis l'epoch).

Réagir aux décisions (dataLayer)

Il n'y a pas d'API d'abonnement par rappel : l'intégration passe par Google Tag Manager. À chaque décision, la bannière pousse la mise à jour Consent Mode et l'événement csm_consent_update dans le dataLayer. Créez un déclencheur d'événement personnalisé sur ce nom pour lancer un tag dès qu'un visiteur consent : c'est exactement ainsi que les tags GA4 et Meta de l'installation automatique repartent sans rechargement.

Ce que la bannière pousse après une décision (simplifié)
window.dataLayer.push(["consent", "update", {
  analytics_storage: "granted",
  ad_storage: "denied",
  ad_user_data: "denied",
  ad_personalization: "denied",
  /* … tous les signaux Consent Mode v2 */
}]);
window.dataLayer.push({ event: "csm_consent_update" });