Compliant with GDPR, CCPA, COPPA, LGPD, PECR, PDPA, PIPEDA, and more.
Si vous avez installé UniConsent avec la balise unique (https://cmp.uniconsent.com/v2/cmp.js), deux fonctions sont disponibles dès l'exécution de la balise :
unicReady(callback) se déclenche une fois, lorsque l'état du consentement est définitif.unicUpdate(callback) se déclenche en même temps que unicReady, puis à nouveau après chaque modification du consentement.unicReady(function (status) {
if (status.UNIC_P_1) {
loadAnalytics();
}
});
unicUpdate(function (status) {
applyConsent(status);
});
Consultez la référence complète, y compris l'objet de statut, les événements DOM et la protection de la file asynchrone, dans API Consent Ready.
L'API openunic affiche l'interface de la plateforme de gestion du consentement (CMP) UniConsent. Appelez-la lorsque vous devez présenter l'interface de la CMP à l'utilisateur pour qu'il puisse consulter et modifier ses préférences de consentement.
__unicapi('openunic')
L'API agreeAll indique que l'utilisateur accepte toutes les options de consentement. Appelez-la depuis l'interface personnalisée de votre CMP lorsque l'utilisateur clique sur le bouton « Tout accepter » du premier niveau. Elle signale que l'utilisateur consent à toutes les catégories de traitement des données.
__unicapi('agreeAll')
L'API rejectAll indique que l'utilisateur refuse toutes les options de consentement. Appelez-la depuis l'interface personnalisée de votre CMP lorsque l'utilisateur clique sur le bouton « Tout refuser » du premier niveau. Elle signale que l'utilisateur ne consent à aucune catégorie de traitement des données.
__unicapi('rejectAll')
L'API openOptions ouvre le deuxième niveau de l'interface de la CMP UniConsent, qui propose des options et des réglages de consentement plus détaillés.
__unicapi('openOptions')
L'API openVendorList affiche la liste des fournisseurs dans la CMP UniConsent, avec des informations détaillées sur les fournisseurs tiers susceptibles de traiter les données des utilisateurs.
__unicapi('openVendorList')
L'API openCookiesList affiche la liste des cookies dans la CMP UniConsent, avec des informations détaillées sur les cookies utilisés par le site.
__unicapi('openCookiesList')
Exemple de lien HTML :
<a class="font-bold underline cursor-pointer" href="javascript:void(0);" onclick="__unicapi('openCookiesList');">Cookies List</a>
Obtenir le consentement de vos fournisseurs personnalisés, sous forme d'identifiant de fournisseur associé à true ou false. Renvoie false lorsque les fournisseurs personnalisés ne sont pas activés.
__unicapi('getUConsent', 2, (uConsent, success) => {
if (success && uConsent && uConsent['1']) {
// custom vendor 1 is allowed
}
})
Obtenir les données de consentement de vos fournisseurs personnalisés, avec le consentement de chaque fournisseur dans vendor.consents.
__unicapi('getUCData', 2, (ucData, success) => {
if (success && ucData.vendor) {
console.log(ucData.vendor.consents)
}
})
Sur les bannières de catégories de consentement, obtenir les catégories autorisées par le visiteur, sous forme d'identifiant de catégorie (1 à 4) associé à true, par exemple {"1": true, "2": true}. Ne suit pas les choix IAB TCF : pour une valeur définie dans toutes les régions, utilisez UNIC_EP_1 à UNIC_EP_4 de unicReady et unicUpdate.
__unicapi('getEConsent', 2, (eConsent, success) => {
if (success && eConsent && eConsent['2']) {
// category 2 (Performance / Analytics) is allowed
}
})
Obtenir l'état du consentement de vos finalités personnalisées.
__unicapi('getCustomConsent', 2, (data, success) => {
if (success) {
console.log(data);
// Example: { "custom_analytics": true, "ab_testing": false }
if (data['custom_analytics']) {
// custom analytics consent is granted
}
}
});
Définir par programmation l'état du consentement de vos finalités personnalisées. Les valeurs fournies sont fusionnées avec l'état existant et enregistrées avec les autres choix du visiteur.
__unicapi('setCustomConsent', 2, { "custom_analytics": true, "ab_testing": false });
Obtenir l'identifiant de consentement d'audit correspondant à l'état du consentement de l'utilisateur.
__unicapi('getConsentId', 2, (consentId) => {
console.log(consentId);
});
__tcfapi(
'getTCData',
2,
(tcData, success) => {
if (success) {
// do something with tcData
} else {
// do something else
}
},
[1, 2, 3]
) // vendors Ids
__tcfapi('ping', 2, (pingReturn) => {
// do something with pingReturn
})
const callback = (tcData, success) => {
if (success && (tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete')) {
// do something with tcData.tcString
// remove the ourself to not get called more than once
__tcfapi(
'removeEventListener',
2,
(success) => {
if (success) {
// oh good...
}
},
tcData.listenerId
)
} else {
// do something else
}
}
__tcfapi('addEventListener', 2, callback)
__tcfapi(
'getVendorList',
2,
(gvl, success) => {
if (success) {
// do something with gvl
} else {
// do something else
}
},
'LATEST'
)
Vous trouverez toutes les API dans la documentation IAB TCF.
Obtenir les données de consentement USP actuelles.
__uspapi('getUSPData', 1, (uspData, success) => {
if (success) {
// do something with uspData
} else {
// do something else
}
})
Réponse uspData :
{
"version": 1, /* number indicating the U.S. Privacy spec version */
"uspString": "1YNN" /* string; not applicable: "1---" */
}
Enregistre une fonction de rappel appelée lorsque l'utilisateur clique sur le bouton « Supprimer mes données » de l'interface de consentement CCPA/USP. Les éditeurs peuvent ainsi traiter les demandes de suppression de données comme l'exige la California Consumer Privacy Act (CCPA).
__uspapi('registerDeletion', 1, (param) => {
// Handle user data deletion request
// For example: call your backend API to delete user data
console.log('User requested data deletion');
// Example: send a deletion request to your server
fetch('/api/delete-user-data', {
method: 'POST',
body: JSON.stringify({ action: 'delete' })
});
})
Lorsque l'utilisateur clique sur « Supprimer mes données », les actions suivantes ont lieu dans l'ordre :
1YY) : l'utilisateur ne consent pas à la vente de ses données personnelles.usprivacy.Déclenche par programmation la suppression des données. Appelle la fonction enregistrée avec registerDeletion et permet de créer votre propre interface de suppression.
__uspapi('performDeletion', 1, null, param)
tcData.unicLoad est true dès que le choix IAB TCF du visiteur est connu : un choix enregistré au chargement de la page, ou le choix qui vient d'être fait, acceptation ou refus. Votre pile publicitaire lit alors le choix dans la chaîne TC. Là où IAB TCF ne s'applique pas, il est toujours true.
__tcfapi('addEventListener', 2, function (tcData, success) {
if (success && tcData.unicLoad === true) {
if (!window._initAds) {
window._initAds = true
// your code to start the ads
}
}
})
L'événement unic_data de la couche de données contient ces variables, que vous pouvez lire dans Google Tag Manager comme variables de couche de données. Il est envoyé au chargement de la page puis après chaque choix ou modification du consentement. Dans le code de la page, unicReady et unicUpdate fournissent les mêmes valeurs de consentement : voir Consent Ready API.
| Variable | Signification |
|---|---|
UNIC_IS_LOAD | Là où IAB TCF s'applique, true uniquement si le visiteur autorise le stockage ou un fournisseur personnalisé : false avant un choix et après un refus. Toujours true là où IAB TCF ne s'applique pas |
GEO | Région dont les règles s'appliquent, par exemple EU, CA, USCA ou USTX |
LOC | Localisation détectée |
GEO_IS_EU, GEO_IS_US, GEO_IS_USCA, GEO_IS_CA, GEO_IS_BR, GEO_IS_CN, GEO_IS_ZA, GEO_IS_APAC, GEO_IS_LATAM, GEO_IS_OTHER | True pour la localisation du visiteur |
US_STATE | Code à deux lettres de l'État américain du visiteur, vide hors des États-Unis |
GEO_IS_MSPA | True dans un État couvert par US State Privacy |
TC_STRING | Chaîne IAB TCF |
GPP_STRING | Chaîne IAB GPP |
uspData | Chaîne US Privacy |
MSPA_STRING | Chaîne US State Privacy (section IAB GPP US National) |
GPC | True quand le navigateur envoie Global Privacy Control |
UNIC_P_1 … UNIC_P_10, UNIC_SF_1, UNIC_SF_2 | Finalités et fonctionnalités spéciales IAB TCF |
UNIC_EP_1 … UNIC_EP_4 | Catégories de consentement 1 à 4 |
UNIC_CP_{id} | Vos finalités personnalisées, par identifiant |
customVendors | Consentement pour vos fournisseurs personnalisés, par identifiant |
CONSENT_MODE | Valeurs Google Consent Mode |
unic_data est envoyé dans la couche de données avant l'exécution de unicUpdate : dans un callback unicUpdate, le dernier événement unic_data contient donc les valeurs actuelles de Google Consent Mode (lorsque Google Consent Mode est activé) :
unicUpdate(function () {
var events = (window.dataLayer || []).filter(function (e) { return e && e.event === 'unic_data'; });
var latest = events[events.length - 1];
if (latest) {
console.log(latest.CONSENT_MODE);
}
});
Pour synchroniser les cookies avec SameSite=None; Partitioned;, ce qui peut être nécessaire lorsque votre page est chargée dans une iFrame (par exemple dans Discord), ajoutez le code suivant sous votre balise CMP.
const callback = (tcData, success) => {
if (success && tcData.eventStatus === "useractioncomplete") {
__tcfapi(
'removeEventListener',
2,
(success) => {
if (success) {
const date = new Date();
date.setTime(date.getTime() + (300 * 24 * 60 * 60 * 1000));
const expires = `expires=${date.toUTCString()}`;
document.cookie = `euconsent-v2=${tcData.tcString}; ${expires}; path=/; Secure; SameSite=None; Partitioned`;
}
},
tcData.listenerId
)
}
}
__tcfapi('addEventListener', 2, callback);
Contactez-nous : support@uniconsent.com
Lois sur la confidentialité, consentement et conformité, quelques e-mails par mois.