Google Analytics erst beim akzeptieren aktivieren?

1 Antwort

Google stellt hierfür eine Consent Mode API bereit, mit der via JavaScript die Konfiguration dynamisch angepasst werden kann. Einige CMP-Anbieter nutzen diese API auch schon.

Alternativ könnte man ebenso diese Lösungswege wählen:

a) Bei Klick auf den Button muss die Seite neu geladen werden. In diesem Zuge prüft die Anwendung serverseitig (anhand eines Cookies o.ä.), ob der Nutzer der Aktivierung von GA zugestimmt hat oder nicht und rendert je nachdem die erforderlichen script-Tags heraus.

b) Bei Klick auf den Button werden die Ressourcen von Google dynamisch nachgeladen. Das könnte ungefähr so aussehen:

const head = document.getElementsByTagName("head")[0];
const gaScript = document.createElement("script");
gaScript.async = true;
gaScript.src = "URL to GA js ...";
gaScript.onload = function() {
  window.dataLayer = window.dataLayer || [];

  function gtag() { dataLayer.push(arguments); }

  gtag("js", new Date());
  gtag("config", "UA number ...");
};
head.insertBefore(gaScript, head.children[1]);