@raymond
Das ConsentTool läuft bei uns hervorragend mit dem GTM.
Es gilt nur eine Dinge zu beachten
Man braucht ein eigenes Plugin dazu und dann in der Example.php
public static function getSubscribedEvents() {
return [
'CookieCollector_Collect_Cookies' => 'addCookies',
'Enlight_Controller_Action_PostDispatchSecure_Frontend' => onEnlightControllerActionPostDispatchSecureFrontend'
];
}
public function addCookies(): CookieCollection
{
$collection = new CookieCollection();
$collection->add(new CookieStruct(
'statistics',
'/^(atg-marketing$|_ga$|_gcl_au$|_gid$|_gat_UA)/',
'Google Analytics & AdWords',
CookieGroupStruct::STATISTICS
));
return $collection;
}
public function onEnlightControllerActionPostDispatchSecureFrontend(\Enlight_Event_EventArgs $arguments) {
$preferences = $this->arguments->getRequest()->getCookie(CookieHandler::PREFERENCES_COOKIE_NAME);
if ($preferences !== null) {
$preferences = json_decode($preferences, true);
$allowed = (int)$this->cookieHandler->isCookieAllowedByPreferences('atg-marketing', $preferences);
if ($allowed) {
$this->arguments->getResponse()->setCookie('atg-marketing', 'true');
}
} }
Wobei “atg-marketing” durch einen eigenen Cookie-Namen zu ersetzen ist.
Im GTM gehts dann jetzt weiter:
-
Eine Varibale erstellen vom Typ “First-Party-Cookie” und bennen (in unserem Fall “ATG Marketing Cookie”)
-
Den Cookie-Namen eures Cookies zuweisen (in unserem Fall eben “atg-marketing”)
-
der Variable den Formatwert “undefined konvertieren in false” zuweisen
-
alle Trigger anpassen, die Analytics & Co. antriggern -> eine zusätzliche Bedingung einfügen " ist nicht gleich false" (in unserem Fall also “ATG Marketing Cookie” ist nicht gleich false … heißt: die Trigger triggern nur, wenn der GTM das Cookie lesen konnte (das ConsentTool es also nicht gelöscht hat)
Wenn man sich an die Manuals von Google gehalten hat, hat man für den Analytics-Tag eine eigene Varibale, in der die Einstellungen für Ananyltics gespeichert sind. Die muss angepasst werden.
“Cookie-Domain” muss nach “none” geändert werden
btw. wenn man an der Stelle einen neuen Feldnamen “anonymizeIp” mit dem Wert “true” anlegt, hat man die IP-Anonymisierung bei Analytics auch gleich noch erledigt
Und das wars dann schon. Wer Ads-Conversions drin hat und dort domainübergreifend verlinkt, muss den Tag auch anpassen und einen festen Cookienamen und eine Domain vergeben - es MUSS die Doamin sein, auf der das ConsentTool zugreift (Obicht: Google schreiobt die Cookies im Standard als Wildcard-Domain – die kann das CT NICHT löschen).
Gibt der Nutzer im Consenttool “Statistik” frei, schreibt unser Plugin das Cookie, der GTM liest es aus (ist also NICHT “undefined” aka false) und triggert die Tags.
Entzieht der Nutzer sein Einverständnis (oder giobt es gar nicht erst frei), wird unser Cookie nicht mehr geschrieben, der GTM kann es nicht lesen, ist also “undefined” aka false, triggert nicht, und Analytics & Co. schreiben keine Cookies.
Da deren Cookies in unserem Plugin “angemeldet” sind (’/^(atg-marketing$|_ga$|_gcl_au$|_gid$|_gat_UA)/’,), kennt das ConsentTool die, weis, dass sie im Moment nicht erlabt sind und löscht sie. System sauber