Jos haluat saada arvokasta tietoa ja suojata samalla käyttäjien yksityisyyttä, sinun on pyydettävä suostumus verkkosivustosi käyttäjiltä. Suosittelemme, että keräät suostumuksen ja lähetät sen Googlelle suostumustenkäsittelyalustan (CMP) tai sisällönhallintajärjestelmän (CMS) avulla.
Vaihe 1: Ota käyttöön suostumusbanneri
- Jos käytössäsi on CCM Advanced (hallinnoitu palvelu), tekninen tilivastaava ottaa bannerin käyttöön tarpeidesi ja tyyliohjeidesi mukaisesti.
- Jos käytössäsi on CCM Pro (itsepalveluna käytettävä CMP), saat TrustArcilta URL-osoitteen, jonka kautta voit kirjautua portaaliin ja määrittää bannerin ohjatun toiminnon kautta löytyvien valmiiden mallien avulla.
- Varmista, että banneri on Googlen EU‑käyttäjäsuostumuskäytännön vaatimusten mukainen. Lisätietoa TrustArcin bannerin käyttöönotosta saat käyttöoppaan Getting Started ‑kohdasta.
- Lisää
<div>
-elementit, jotka vastaavat bannerin ja CMP-linkin renderöinnistä. Voit lisätä ne Google Tag Managerin kautta tai suoraan sivustosi koodiin.
Vaihe 2: Ota käyttöön suostumustila
Käyttöönotto Google Tag Managerin avulla
- Avaa Google Tag Manager ja siirry säilöön.
- Klikkaa Tagit-kohdasta "Uusi" ja nimeä tagi.
- Klikkaa Tagin määritys ja sitten "Löydä lisää tagityyppejä yhteisömalligalleriasta". Tee galleriassa haku "TrustArc CMP (Consent Mode)" ja asenna TrustArcin "TrustArc CMP (Consent Mode)".
- Määritä haluamasi oletusasetukset Suostumustilan oletusasetukset ‑kohdassa.
- Valitse Ota CMP-skripti käyttöön mallin avulla.
- Lisää CMP-tunnus-kenttään instanssin tunnus, joka löytyy CCM Pro ‐portaalin kohdasta Step 4. Copy Code Snippet (Vaihe 4. Kopioi koodinpätkä). Jos käytät CCM Advanced ‑palvelua, saat nämä tiedot tekniseltä tilivastaavalta.
- Lisää Lisäparametrit-kenttään instanssin lisäasetukset. Tämä määritys ohittaa backend-määritykset, kuten kielen, maantieteellisen tunnistuksen ja tietosuojakäytäntölinkit.
- Ota käyttöön Googlen suostumustilan integrointi laittamalla vaihtoehto Integroi CMP Googlen suostumustilan kanssa päälle.
- Mäppää suostumustyypit ja käyttäjän valinnat asetustesi mukaisesti. Mäppää kukin käyttämäsi suostumustyyppi vastaavaan evästesuostumusryhmän (Required, Functional, Advertising) tunnukseen. Mäppää Asetuseväste-kentässä cmapi_cookie_privacy-evästeelle ensimmäisen osapuolen eväste. Mäppää Käyttäytymiseväste-kentässä notice_behavior-evästeelle ensimmäisen osapuolen eväste.
- Klikkaa Triggerit > Suostumuksen alustus – Kaikki sivut > Tallenna.
- Testaa säilöä klikkaamalla oikeasta yläkulmasta Esikatsele (katso testausohjeet alta).
- Julkaise säilö.
Käyttöönotto toisen alustan kautta tai muokkaamalla verkkosivuston koodia suoraan
- Kirjaudu TrustArcin tukiportaaliin, avaa tästä linkistä löytyvä "Google Consent Mode Implementation Guide" (Googlen suostumustilan käyttöönotto-opas) ja seuraa sitten Integrating the Consent Mode Using JavaScript ‑kohdassa olevia ohjeita.
- Jos käytät sivustotyökalua, tarkista sen dokumentaatiosta, miten koodi lisätään kunkin sivun head-tagiin. Siirry muussa tapauksessa vaiheeseen 3.
- Jos käytät CCM Advanced ‑versiota, tee tämä vaihe. Siirry muussa tapauksessa vaiheeseen 4. Kopioi alla oleva ja liitä se kunkin sivun head-tagiin (jos käytät sivustotyökalua, katso vaihe 2). Liitä myös vaiheessa 1 kopioimasi CMP-skripti aivan head-tagin alkuun. Tämä on tärkeää CMP:n toiminnan kannalta.
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-YYYYYY');
// Käytä suostumustyyppien oletusarvona 'denied'-paikkamerkkiä
// Aseta todelliset arvot tarpeidesi mukaisesti
// Jätä pois suostumustyypit, joita ei käytetä
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied',
'functionality_storage': 'denied',
'personalization_storage': 'denied',
'security_storage': 'denied',
'wait_for_update': 500
});
gtag('set', 'ads_data_redaction', true);
gtag('set', 'developer_id.dNTIxZG', true);
</script>
<!--Bannerikoodi tähän!-->
- Jos käytät CCM Pro ‑versiota, tee tämä vaihe Kopioi alla oleva ja liitä se kunkin sivun head-tagiin (jos käytät sivustotyökalua, katso vaihe 2). Liitä myös vaiheessa 1 kopioimasi CMP-skripti aivan head-tagin alkuun. Tämä on tärkeää CMP:n toiminnan kannalta. Muista muokata CMP-ryhmien ja suostumustyyppien välistä yhteyttä.
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'GA_MEASUREMENT_ID');
gtag('set', 'developer_id.dNTIxZG', true);
// TEE NÄIN: Tätä voi muuttaa asiakkaan tarpeiden ja määrityksen mukaan
gtag('set', 'ads_data_redaction', true);
gtag('set', 'url_passthrough', true);
// Suostumustilan tila
const ConsentType = {
DENIED: 'denied',
GRANTED: 'granted',
};
const convertBooleanToGrantedOrDenied = (boolean) => boolean ? ConsentType.GRANTED : ConsentType.DENIED;
/*
TEE NÄIN: Tässä kohtaa voit määrittää Googlen suostumustilan ja mäpätä CMP-luokittelun ja oletusarvot suostumuksen alustusta varten
Google suosittelee lisäämään kommentit suostumustyypeistä, joita et aio käyttää
*/
const domain = 'oma_verkkotunnus.com'; // TEE NÄIN: Päivitä
// Ryhmän mäppäys
const REQUIRED = 1;
const FUNCTIONAL = 2;
const ADVERTISING = 3;
const consentTypesMapped = {
'ad_storage': ADVERTISING,
'ad_user_data': ADVERTISING,
'ad_personalization': FUNCTIONAL,
'analytics_storage': FUNCTIONAL,
'functionality_storage': FUNCTIONAL,
'personalization_storage': FUNCTIONAL,
'security_storage': REQUIRED
}
const getConsentState = (prefCookie) => {
var consentStates = {};
var noticeBehavior = window.truste.util.readCookie("notice_behavior");
/*
TEE NÄIN: Tätä voi muuttaa asiakkaan tarpeiden ja määrityksen mukaan
*/
var impliedLocation = noticeBehavior && noticeBehavior.includes("na");
for (const consentType in consentTypesMapped) {
var id = consentTypesMapped[consentType];
if(prefCookie && !prefCookie.includes(0)) {
console.log("Existing consent..");
consentStates[consentType] = convertBooleanToGrantedOrDenied(prefCookie && prefCookie.includes(id));
} else {
console.log("Non Existing consent..");
consentStates[consentType] = convertBooleanToGrantedOrDenied(impliedLocation);
;}
;}
consentStates['wait_for_update'] = 500;
console.log(consentStates);
return consentStates;
};
/*
Apufunktio GCM-tapahtuman lähettämiseen TrustArcin skriptiin sisältyvien käyttäjävalintojen perusteella
consent: Suostumusobjekti on arvojoukko [1, 2, 3, n], jossa 1 tarkoittaa, että käyttäjä on antanut required-suostumuksen, 2 tarkoittaa function-suostumusta jne.
Tätä funktiota on muokattava asiakkaan tarvitseman mäppäyksen mukaan. Esim. 'ad_storage': returnGrantedOrDenied(advertisingAccepted) mäpätään ADVERTISING-suostumukseen. Jos se halutaan mäpätä FUNCTIONAL-suostumukseen, sen seuraama ryhmämuuttuja pitää vaihtaa.
*/
var runOnceGCM = 0;
function handleConsentDecisionForGCM(consent) {
// Tämä koodi alustaa suostumustilan
const consentStates = getConsentState(consent.consentDecision);
var defaultOrUpdate;
if (runOnceGCM == 0) {
defaultOrUpdate = 'default';
runOnceGCM++;
} else {
console.log('consent is being updated');
defaultOrUpdate = 'update';
}
console.log(consentStates);
// Lähetämme päivityksen, kun suostumus muuttuu
gtag('consent', defaultOrUpdate, {
consentStates
});
}
// Tämä koodi vastaa suostumusmuutosten kuuntelusta TrustArcin CCM-instanssin kautta
// Lisäksi se välittää suostumusmuutokset dataLayer-objektiin asiakkaan suostumusmäppäyksen mukaisesti
// Tämä on ensimmäistä latausta varten. Jos käyttäjän suostumusvalinta poikkeaa oletusarvoista, tämä koodi päivittää dataLayer-objektin
// Kun CCM on latautunut
var interval = setInterval(() => {
if (window.truste) {
var consentDecision = truste.cma.callApi("getGDPRConsentDecision", domain);
handleConsentDecisionForGCM(consentDecision);
clearInterval(interval);
console.log("running once...");
}
}, 100);
// Ala kuunnella sitä, kun käyttäjät lähettävät valintansa
window.addEventListener("message", (event) => {
let eventDataJson = null;
// Tässä vaiheessa meitä kiinnostaa vain TrustArc-tapahtumat. Ne on koodattu JSON-muodossa
try {
eventDataJson = JSON.parse(event.data);
} catch {
// Jokin muu tapahtuma, joka ei ole JSON-muodossa
// TrustArc koodaa datan JSON-muodossa
// console.log(event.data);
}
// Tällä varmistetaan, että saamme tapahtumia vain TrustArcilta
if (eventDataJson && eventDataJson.source === "preference_manager") {
// Tarkoittaa, että käyttäjä on lähettänyt valintansa
if (eventDataJson.message === "submit_preferences") {
console.log("Event Data: ", eventDataJson);
// Odotetaan puoli sekuntia, jotta käyttäjän valinnat varmasti huomioidaan
setTimeout(() => {
var consentDecision = truste.cma.callApi("getGDPRConsentDecision", domain);
console.log("Consent Decision: ", consentDecision);
handleConsentDecisionForGCM(consentDecision);
}, 500);
}
}
}, false);
<!--Bannerikoodi tähän!-->
Testaaminen Tag Assistantin avulla
Lue, miten voit ratkaista suostumustilaan liittyviä ongelmia Google Tag Managerin avulla.