Google Adsense und die DSGVO: Auslieferung nur bei gesetztem Cookie

Google schreibt mit den neuen Adsense Nutzungsbedingungen vor, dass vor Auslieferung der Werbung zunächst das Einverständnis der Besucher eingeholt werden soll, bevor Adsense Anzeigen ausgeliefert werden. In diesem Artikel möchte ich eine mögliche Lösung vorstellen. Wer jedoch mehr zu den Google Diensten, d.h. Google Analytics und Google Adsense in Verbindung mit der DSGVO erfahren möchte, dem empfehle ich den Artikel von Peer an dieser Stelle gerne weiter.

Das ganze klingt im Grunde erstmal einfach, denn mit PHP kann auch ausgelesen werden, ob ein Cookie vorhanden ist. Trifft dies zu, wird einfach der AD Code ausgeliefert, andernfalls eben nicht.

if (isset($_COOKIE['COOKIE_NAME_HIER_EINFÜGEN'])) {
  echo "AD CODE";
  } else {
  echo "MÖGLICHER PLATZHALTER ODER HINWEIS";
}

Auf vielen Websites kommt jedoch Caching zum Einsatz, sodass nicht ausgeschlossen werden kann, dass entweder keine Werbung oder auch Besucher, welche die Meldung nicht akzeptiert haben, doch wieder Werbung ausgeliefert bekommen.

Für einen Kunden, der gecachte Inhalte über den Webserver nginx komplett ohne PHP ausliefert, z.B. in Verbindung mit Cachify, habe ich nun eine reine nginx-Lösung entwickelt.

Voraussetzung ist, dass der JavaScript AD Code in eine Datei ausgelagert wird, wodurch ein extra Request entsteht und entsprechende Rules im Webserver greifen.

Im Folgenden wird die Datei nur ausgeliefert, wenn das Cookie existiert. Ansonsten greift die Regel und es wird der HTTP-Statuscode 204 (kein Content) zurückgeliefert.

        location ~ /ads/adsense_sidebar.js {
                # kein Cookie, keine Werbung :-(
                if ( $http_cookie !~ EUER_COOKIE_NAME) {
                        return 204;
                }
        }

Eingebunden werden kann die Werbung dann wie folgt:

<script type="text/javascript" src="/ads/adsense_sidebar.js"></script>

Wer möchte, kann natürlich auch die nginx Regel etwas modifizieren und für einen ganzen Ordner anwenden, sodass dies für alle AD-Codes bzw. Files in einem entsprechenden Pfad gilt.

        location ~ /adscripts/ {
                if ( $http_cookie !~ EUER_COOKIE_NAME) {
                        return 204;
                }
        }

Webhosting-Kunden haben jedoch keinen Zugriff auf die Serverkonfiguration und werden mit Apache2 als Webserver betrieben. In diesem Fall kann man einfach einen Ordner – beispielsweise /ads – auf seinem Webspace erstellen und darin eine .htaccess (der Punkt davor ist wichtig!) Datei legen, welche folgenden Inhalt hat:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_COOKIE} !EUER_COOKIE_NAME
RewriteRule ^(.*)$ $1 [R=204,NC,L]
</IfModule>

Voraussetzung ist jedoch, dass der Webserver .htaccess Dateien beachtet bzw. auswertet und Mod Rewrite aktiviert ist. Dies erfüllt in der Regel jedoch jeder 0-8-15 Webspace Anbieter, denn sonst gebe es auch keine „schönen“ URLs für WordPress. 😉

1 Kommentar Schreibe einen Kommentar

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.