Cookie Banner selber coden und integrieren

  • Hallo Freunde!

    Ich habe einen simplen Cookie Banner in HTML / CSS / JS erstellt und möchte diesen nun in eine Wordpress Seite integrieren. Wie bekomme ich den Code in meine Wordpress Seite?

    Vielen Dank für eure Hilfe!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Der sauberste Weg wäre indem Du ein Plugin dazu schreibst: https://developer.wordpress.org/plugins/intro/

    Alternativ kann man das sicherlich auch dadurch erreichen indem Du andere Plugins verwendest, z.B.:
    * Code Snippet wenn Du das per Wordpress-Hooks einbinden willst: https://de.wordpress.org/plugins/code-snippets/
    * dieses hier wenn du deine Quellcodes einfach einfügen willst: https://de.wordpress.org/plugins/custom-css-js/

  • Danke für deine Antwort!

    Was ist denn der Unterschied zu den Plugins? Ist das Code Snippets Plugin nur für PHP Code?

    Ich suche eine Möglichkeit den HTML / CSS und JS Code als snippet einzufügen und diesen Code dann direkt beim Start der Seite auszuführen. Das müsste doch eigentlich mit beiden Plugins funktionieren?

  • Ja, genau. Code Snippets fügt nur PHP-Codes ein. Das kannst Du jedoch nutzen um deine Quellcodes an den richtigen Stellen in der Ausgabe zu platzieren. Beim 2. Plugin kannst Du einfach nur deinen CSS und JS-Code einfügen, ihn aber halt nur abhängig von den Möglichkeiten des Plugins platzieren.

  • Stimmt, ich bin allerdings noch mit dem JS Code für den Cookie beschäftigt und weiß nicht genau wie ich bei Akzeptanz den Google Analytics code ausführen kann. Kann man hier im Forum auch JavaScript Fragen stellen?

  • Ok, also das hier ist der JavaScipt Code für den Cookie Banner:
    [FONT=Tahoma]
    [COLOR=#0000ff]let cookieModal = document.querySelector('.cookie-consent-modal');
    let cancelCookieBtn = document.querySelector('.btn.cancel');
    let acceptCookieBtn = document.querySelector('.btn.accept');

    cancelCookieBtn.addEventListener('click', function () {
    cookieModal.classList.remove('active');
    });

    acceptCookieBtn.addEventListener('click', function () {
    cookieModal.classList.remove('active');
    localStorage.setItem('cookieAccepted', 'yes');
    });

    setTimeout(function () {
    let cookieAccepted = localStorage.getItem('cookieAccepted');
    if (cookieAccepted != 'yes') {
    cookieModal.classList.add('active');
    }
    }, 2000);[/COLOR][/FONT]


    Wenn nun jemand auf "Akzeptieren" klickt, soll der folgende Google Analytics Code ausgeführt werden:

    [FONT=Tahoma][COLOR=#ff0080] <!-- Global site tag (gtag.js) - Google Analytics -->

    <script async src="https://www.googletagmanager.com/gtag/js?id=PASTIDHERE"></script>
    <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());

    gtag('config', 'PASTIDHERE');
    </script>

    [/COLOR]
    [COLOR=#000000]Meine Fragen ist:
    Wie kann ich den Google Analytics Code in den JavaScript Code integrieren, so das dieser bei Akzeptanz ausgeführt wird?[/COLOR][/FONT]

    [FONT=Tahoma][COLOR=#000000]Ich bin sehr dankbar für Hilfe!!

    [/COLOR][/FONT]

  • Binde ihn nur unter einer Bedingung ein, umgib ihn also mit einer Funktion.

    Code
    <script>
    function useGA() {
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    
    
    gtag('config', 'PASTIDHERE');
    }</script>

    Die Funktion useGA führst Du dann aus sobald der OK-Button geklickt wird.

    Jetzt muss GA natürlich auch beim Laden ausgeführt werden, aber nur wenn die Bestätigung bereits gesetzt wurde. Also z.B.:

    Das ist jetzt natürlich ungetestet.

  • Vielen Dank für die Antwort!!

    Ich habe den Google Analytics Code jetzt integriert und das ganze sieht jetzt so aus:


    Ich habe also in der setTimeout function ein if /else statement hinzugefügt. Wenn die Cookies nicht akzeptiert wurden dann zeige den Cookie Banner beim erneuten laden, wenn die Cookies akzeptiert wurden dann useGA, also führe den Google Analytics Code aus.

    Meinst du das stimmt so?


    Noch eine andere Frage, was ist denn mit diesem Code:

    Code
    <script async src="https://www.googletagmanager.com/gtag/js?id=PASTIDHERE"></script>

    Sollte der nicht auch noch integriert werden?

  • So meinte ich es nicht. Beim Laden der Seite sollte der Analytics-Code sofort geladen werden, nicht nach einem Timeout. Und ja, natürlich musst Du den tagmanager-Code mit einbinden.

  • H
    Noch eine andere Frage, was ist denn mit diesem Code:

    Code
    <script async src="https://www.googletagmanager.com/gtag/js?id=PASTIDHERE"></script>

    Sollte der nicht auch noch integriert werden?

    ja klar ohne wird es nicht funktionieren. - wobei du bei PASTIDHERE auch noch durch deine ID austauschen solltest...

    Mit offenen Augen träumen

  • Ok verstehe, die timeout function macht hier keinen Sinn, also einfach nur if cookie accepted useGA

    Passt denn die Reihenfolge oder ist das egal?

    Der Code sieht nun so aus:


    Wie kann ich denn den Google tagmanager Code einbinden??
    Auch in der function useGA??

  • ja klar ohne wird es nicht funktionieren. - wobei du bei PASTIDHERE auch noch durch deine ID austauschen solltest...

    Ja die ID tausche ich noch aus, nur wo soll der tagmanager code rein?

  • nur wo soll der tagmanager code rein?

    Man prüft, ob laut Cookie eine Erlaubnis vorliegt und bindet dann fremde Quellen ein.

    Bei meinem Cookie Banner zum selber einbauen liegt in der Beschreibung ein PHP Script bei:

    PHP
    $consentCookieJson = @$_COOKIE['cookie-consent-settings'];
    if ($consentCookieJson) {
        $consentCookie = json_decode($consentCookieJson);
        if($consentCookie && $consentCookie->analyses) {
            // do analysing things here
        }
    }

    und nein - ich code nicht in einem Forum und Support für Google noch für die Datenüberwachung biete ich an...

    Mit offenen Augen träumen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!