Light CMP

When TCF is just too much

Light CMP is a consent management solution that helps to collect consent for data collection, analytics, targeting, personalization and whatever your business needs to fulfil legal or regulatory terms. If you are advertiser or publisher, you might benefit from full TCF compliant CMP but not every use case is the same so choice is yours.

Light CMP follows the same configuration and deployment strategy as Gravito CMP, the difference is that the configuration can be freely modified to fit any need. We provide some sample texts that are probably fitting for many scenarios but we recommend to align the CMP with your privacy policy and technologies that are used for marketing and advertising.

Variable

Description

Release

customCSS

Enter your custom CSS definitions, all on one line. Sounds weird but that is what IE requires.

1.0.0

core.cookieName

Cookie name the CMP settings are stored to

1.0.0

core.cookieExpiry

Cookie lifetime in days

1.0.0

core.settingBtnId

Element ID the CMP resurfacing click is bound to

1.0.0

version

Configuration version, increasing version causes the CMP to resurface and request consents again.

1.0.0

style.logoUrl

URL where the CMP can load the logo image, leave empty if you don't want logo on it

1.0.0

style.primaryColor

Primary color of your brand/styling

1.0.0

style.secondaryColor

Secondar color of your brand/styling

1.0.0

fonts

Define which fonts CMP should use, unicodeRange can be left out if not needed

1.0.0

core.adsConsentId

Which consent ID can be used as indication of ads consent, required by Google Consent Mode

1.0.1

core.analyticsConsentId

Which consent ID can be used as indication of analytics consent, required by Google Consent Mode

1.0.1

style.logoSvg

You can enter the log as SVG code here

1.0.1

style.logoType

img or svg

1.0.1

style.disableConfirmationModal

true/false, controls if the removal of consent is confirmed with popup or is the function direct

1.0.1

core.useTopDomain

true/false, set to true if you want to share the collected consent between subdomains.

1.0.4

Example configuration (in Finnish):

var customCSS="";
var gravitoCMPConfig = {
core: {
cookieName: "GCString",
cookieExpiry: 365,
settingBtnId:"manageSettings",
version:1,
adsConsentId:3,
analyticsConsentId:4,
useTopDomain:true,
consents: [
{
type: "consent",
id: 1,
name: "Välttämättömät evästeet",
description: "Gravito käyttää välttämättömiä evästeitä sivustolla tai sovelluksessa esim. kirjautumistietojen tallentamiseen",
isConsentable:false
},
{
type: "consent",
id: 2,
name: "Toiminnalliset evästeet",
description: "Gravito saa käyttää toiminnallisia evästeitä esim. asetusten tallentamiseen sovelluksessa, nämä evästeet eivät sisällä henkilötietoja tai -tunnisteita.",
isConsentable:true
},
{
type: "consent",
id: 3,
name: "Tilastolliset evästeet",
description: "Gravito saa käyttää tilastollisia evästeitä seuratakseen miten sivustoa tai sovellusta käytetään, kerätty tieto on anonymisoitua.",
isConsentable:true
},
{
type: "consent",
id: 4,
name: "Markkinointiin liittyvät evästeet",
description: "Gravito saa käyttää markkinointiin liittyviä evästeitä, ne voivat seurata käyttäjää eri sivustoilla ja sovelluksissa, mahdollistaen sisällön ja mainonnan paremman kohdentamisen ja käyttökokemuksen optimoinnin.",
isConsentable:true
},
],
},
text: {
firstLayer: {
title: "Tarvitsemme suostumuksesi tarjotaksemme parhaan mahdollisen asiakaskokemuksen",
introductionText: "Gravito ja sen kumppanit käyttävät evästeitä ja muita samankaltaisia teknologioita tarjotakseen parhaan mahdollisen asiakaskokemuksen ja tarkoituksenmukaista mainontaa.",
consentableItemDescription: "Gravito ja sen kumppanit pyytävät suostumustasi seuraaviin asioihin:",
legalFooter: "Hyväksymällä sallit evästeiden ja muiden teknologioiden käytön tietojesi keräämiseen ja prosessointiin, hyväksymättä jättäminen voi vaikuttaa asiakaskokemukseesi. Voit antaa suostumuksesi myös valikoidusti klikkaamalla \"Asetukset\" painiketta.",
privacyPolicyUrl: "https://www.gravito.net/#privacy-policy",
privacyLabel:"Tietoa tietosuojasta",
checkBoxLabels:{
"consent": "Hyväksy",
},
actions: ["Hyväksy", "Asetukset"]
},
secondLayer: {
title: "Graviton tietosuoja-asetukset",
introductionText: "Voit valita listatuista käyttötarkoituksista ne, jotka haluat hyväksyä ja tallentaa asetukset klikkaamalla \"Hyväksy valitut\".",
consentableItemDescription: "Gravito ja sen kumppanit pyytävät suostumustasi seuraaviin asioihin:",
legalFooter: "",
privacyPolicyUrl: "https://www.gravito.net/#privacy-policy",
privacyLabel:"Tietoa tietosuojasta",
checkBoxLabels:{
"consent": "Hyväksy",
},
actions: ["Hyväksy kaikki", "Hyväksy valitut", "Estä kaikki"]
},
confirmationLayer: {
confirmationForUncheck: {
heading: "Oletko varma että haluat olla antamatta suostumusta?",
paragraphs: [
"Nämä evästeet tai muut tekniset keinot ovat tärkeitä sivuston tai sovelluksen käyttökokemuksen optimoimiseksi ja että voimme tarjota parhaan mahdollisen asiakaskokemuksen."
]
},
confirmationForAcceptSelected: {
heading: "Oletko varma että haluat olla antamatta suostumusta?",
paragraphs: [
"Nämä evästeet tai muut tekniset keinot ovat tärkeitä sivuston tai sovelluksen käyttökokemuksen optimoimiseksi ja että voimme tarjota parhaan mahdollisen asiakaskokemuksen.",
"Ilman evästeitä tai vastaavia teknisiä keinoja kykymme optimoida sivustoa tai sovellusta on rajoittunut, jotkut ominaisuudet voivat olla poissa käytöstä ja käyttökokemuksesi ei ole optimaalinen."
]
},
actions:["Peruuta","Kyllä"]
},
commonTerms:{
purposes: "Käyttötarkoitukset",
consent: "Hyväksy",
legitimateInterest: "Oikeutettu etu",
specialPurposes: "Erityiset käyttötarkoitukset",
specialFeatures: "Erityisominaisuudet",
features: "Ominaisuudet",
policyURl: "Tietosuojalausekkeen URL",
nonTCFVendors:"EI-TCF toimittajat",
vendors:"Toimittaja",
customPurposes:"Suostumukset"
}
},
style: {
logoUrl: "https://cdn.gravito.net/logos/gravito_logo_white_background.png",
logoSvg : "",
logoType: "img",
primaryColor: "orange",
secondaryColor: "#666",
disableConfirmationModal:true,
customCSS:customCSS,
fonts: [
{
url:"https://fonts.gstatic.com/s/manrope/v1/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_M-bnBeA.woff2",
unicodeRange:"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;"
},
{
url:"https://fonts.gstatic.com/s/manrope/v1/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FN_C-bk.woff2",
unicodeRange:"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;"
},
]
}
}
window.gravitoCMPConfig = gravitoCMPConfig;
//TCF specific base url
var baseUrl="https://cdn.gravito.net/tcf-v2";
//js components specific base url
var componentUrl="https://cdn.gravito.net/lightcmp";
//add polyfill
function browserHasPolyfill(){
return window.Symbol
}
function initbundles (){
if(browserHasPolyfill()){
addbundles();
return;
}
var polyfillScriptTag = document.createElement('script');
polyfillScriptTag.src='https://polyfill.io/v3/polyfill.min.js?features=es6';
polyfillScriptTag.addEventListener('load',function(){
addbundles();
})
document.head.appendChild(polyfillScriptTag);
}
function addPrivateConfig (){
window.gravitoLightCMP={
baseUrl:baseUrl
}
}
function addbundles (){
var ui_path= componentUrl + "/uibundle_latest_2.js"
var cmp_path=componentUrl + "/bundle_latest_2.js"
var el = document.createElement('script');
el.src = cmp_path;
el.async = 'true';
el.addEventListener('load', function() {
var ui_script = document.createElement("script");
ui_script.src = ui_path;
document.head.appendChild(ui_script);
});
document.head.appendChild(el);
}
function initDataLayer(){
window.gravitoData?window.gravitoData.LightCMP = {}: createDataLayer();
}
function createDataLayer() {
window.gravitoData = {};
window.gravitoData.LightCMP = {};
}
addPrivateConfig();
initbundles();
initDataLayer();

Deployment

You can deploy light CMP by embedding above script as standalone javascript file to your website or deploy it via tag management system.

Google Tag Manager

Copy above script, create new "custom HTML" tag that loads on every page view and paste the copied script between <script> tags as this custom HTML tag.

More details about deeper integration with GTM proceed to integration chapter.