Zum Hauptinhalt springen
Die folgende Integrationsanleitung berücksichtigt das EuGH-Urteil vom 01.10.2019, siehe Bericht auf eu-info.de. Als Shopbetreiber müssen Sie vorgeben, welche Einwilligungen oder Widerrufe zur Datenverarbeitung der Shopbesucher geben muss oder kann. Als Entscheidungshilfe können Sie oder Ihr Datenschutzbeauftragter auch die Dokumente zum Datenschutz im Online-Servicebereich heranziehen. Diese Seite beschreibt zuerst die Funktionsweise und einige Spezialfälle. Darauf folgt die Integration in zehn Schritten. Zum Abschluss finden Sie Hinweise zur Migration einer bestehenden Integration, eine vereinfachte Variante für econda-Dienste und die Besonderheiten der WEBSALE-App für iOS.

Funktionsweise

Alle Funktionen, die nach dem EuGH-Urteil zustimmungspflichtig sind und sich direkt in den Shop-Templates befinden, können als Gruppierung oder einzeln angeboten werden, auch beides zusammen ist möglich. Beispiele:
Einwilligungdatenverarbeitung1
Einwilligungdatenverarbeitung2 Zoom50
Für jede Funktion oder Funktionsgruppe, der ausdrücklich zugestimmt oder widersprochen wird, wird ein eigenes Cookie gesetzt. Dieses Cookie sorgt dafür, dass im Falle einer Zustimmung ab der nächsten aufgerufenen Seite die zugelassene Funktion stattfindet, beispielsweise ein Tracking. Im Falle eines Widerspruchs wird die entsprechende Funktion ab der nächsten Seite beendet. Mehr Informationen dazu finden Sie unter Materialien: Verwendete Cookies. Der Layer für die Zustimmung oder den Widerruf kann frei gestaltet werden. Möglich sind:
  • zusammenfassende Buttons oder Checkboxen für alle Dienste
  • Checkboxen für Gruppen von Diensten für einen oder mehrere Anbieter
  • jeweils eine individuelle Checkbox für jede einzelne Funktion
Die Konfiguration für die Darstellung als Gruppen oder einzelne Funktionen wird in der Shopkonfiguration festgelegt. Hier können auch entsprechende Erklärungstexte hinzugefügt werden.

Hinweise für Spezialfälle

  • Durch das Verhindern der Trackings beim Erstaufruf werden die Trackingdaten um wichtige Informationen beschnitten, beispielsweise um die Herkunft des Shopbesuchers. Das Tracking überträgt also erst im Laufe eines Besuchs oder beim nächsten Besuch korrekte Informationen.
  • Wenn der Shopbesucher über seinen Browser oder mittels eines Tools das Cookie der abgegebenen Willenserklärung löscht, erscheint beim nächsten Shopseitenaufruf das Banner erneut, und zwar mit den Einstellungen, die aufgrund der eventuell noch vorhandenen OptIn- und OptOut-Cookies der einzelnen Funktionen aktuell noch gelten.
  • Wenn ein Shopbesucher seine Zustimmung zu einem Tracking widerruft, können aus technischen Gründen die vom Drittanbieter gesetzten Cookies nicht durch WEBSALE entfernt werden. Die Verarbeitung dieser Daten wird unterbunden, da die Tracking-Scripts des Anbieters nicht mehr eingebunden werden.
  • Von WEBSALE bereits gesetzte Cookies werden bei Widerruf der Einwilligung automatisch per JavaScript gelöscht.
  • Bei Einsatz eines Affiliate-Programms werden die erhobenen Daten an WEBSALE übergeben, jedoch erst nach der Zustimmung des Shopbesuchers verarbeitet.
  • Wenn ein Cookie gelöscht werden soll, wird der Inhalt des Cookies durch WEBSALE entfernt und das Verfallsdatum des Cookies in die Vergangenheit gesetzt. Ein Löschen des Cookies selbst kann nicht garantiert werden, da dies durch den Browser des Shopkunden erledigt wird.

Integration

Schritt 1: Freischaltung

Es ist keine technische Freischaltung seitens WEBSALE notwendig.

Schritt 2: Dienste konfigurieren

Legen Sie in der Shopkonfiguration shop.config einen neuen Abschnitt <AgreementCookies> an und konfigurieren Sie die Parameter wie in den Beispielen unten gezeigt.
Wenn Sie im Rahmen der Integration der Einwilligung zur Datenverarbeitung auch datenschutzrelevante Funktionen neu einbinden, beispielsweise Tracking-Dienste, darf in der Shopkonfiguration shop.config der Parameter Allow für die gesamte Funktion nicht auf test stehen. Die Dienste würden sonst sofort und ohne Einwilligung ausgeführt.
Beispiel 1, alle Funktionen einzeln aufgelistet, ohne Gruppierung:
Beispiel 2, Funktionen zu thematischen Gruppierungen zusammengefasst. Gegenüber Beispiel 1 kommt in jedem <+Entry> der Parameter ConsentGroupID hinzu, dazu je Gruppe ein Abschnitt <+ConsentGroupInfo>:
Referenz: Abschnitt AgreementCookies

Schritt 3: JavaScript einbinden

Fügen Sie die aktuelle Version des JavaScripts ws-module-agreementcookies in Version 1.8.5 oder neuer über das PageSpeed-Tool oder im <head>-Bereich des gewünschten Templates ein:
Referenz: WEBSALE JavaScript-Bibliothek

Schritt 4: Dienste und Funktionen klammern

Mit der Klammerung können Inline-Scripte umklammert werden. Benötigt wird dafür die ID aus dem <+Entry>-Abschnitt:
Aber auch ausgelagerte JavaScript-Dateien können damit umklammert werden:
Referenz: AC-AgreementMadeForID() Wegweiser: JavaScript und jQuery

Schritt 5: Anpassung der Tracking-Schnittstelle

Wenn Funktionen und Dienste über die Tracking-Schnittstelle eingebunden werden, dann muss dies für die Einwilligung über das PageSpeed-Tool integriert werden. Ist dies nicht der Fall, dann wird mit Aktivierung der Funktion Einwilligung zur Datenverarbeitung die ws_analyse.js nicht mehr automatisch eingebunden. Wenn die Tracking-Schnittstelle über das PageSpeed-Tool integriert worden ist, dann kann wie folgt geklammert werden:
Oberhalb der Klammerung wird das Tag WS-ExternalStatistics benötigt, welches den JavaScript-Block mit den allgemeinen und seitenabhängigen Tracking-Informationen in JavaScript-Variablen enthält. Mit dieser Verfahrensweise werden alle Funktionen und Dienste, die über die ws_analyse.js eingebunden werden, mit einem einzigen Klick aktiviert oder deaktiviert. Möchte man die Funktionen und Dienste einzeln anbieten, dann muss die ws_analyse.js aufgelöst werden. Jede Funktion und jeder Dienst muss als einzelne JavaScript-Datei ausgelagert und über das PageSpeed-Tool als einzelne Gruppe angelegt werden:
Wegweiser: Integration der Tracking-Schnittstelle, Integration mit PageSpeed-Tool Wegweiser: Tracking-Schnittstelle, Funktionsweise Wegweiser: JavaScript und jQuery Referenz: AC-AgreementMadeForID() Referenz: WS-ExternalStatisticsData Um eine Detailseite mit Checkboxen zur aktiven Bestätigung der Zustimmung seitens des Shopkunden anzuzeigen, integrieren Sie folgenden Code im gewünschten Template. Die verwendeten Drittanbieter-Dienste müssen gegebenenfalls noch entsprechend ergänzt werden. Beispiel 1, alle Funktionen einzeln aufgelistet, ohne Gruppierung:
Beispiel 2, Funktionen zu thematischen Gruppierungen zusammengefasst:
Referenz: AC-Tags Referenz: AC-Entry Referenz: DC-DynamicLoop1…3_set() Referenz: DC-DynamicLoop1…3_data

Schritt 7: Button mit JavaScript-Funktion einfügen

In der Regel befindet sich die Funktion ws_agreementcookies_set(); auf dem Speichern-Button des Consent-Layers, um die Cookies zu setzen. Fügen Sie folgenden Code in den Consent-Layer ein.
In den Materialien stellen wir Ihnen den kompletten Layer zur Verfügung, der im Mustershop v8s-demoshop.websale.biz integriert wurde. Materialien: Einwilligung zur Datenverarbeitung

Schritt 8: Laufzeit der AgreementCookies ändern (optional)

Die Laufzeit der AgreementCookies beträgt standardmäßig 10 Jahre. Ab der JavaScript-Modul-Komponente ws-module-agreementcookies-1.8.6.js kann die Funktion ws_agreementcookies_set() mit einem Parameter expires_days ergänzt werden. Tragen Sie die gewünschte Anzahl an Tagen in das Argument der onclick-Funktion des Buttons ein. Beispiele:
Wegweiser: JavaScript und jQuery

Schritt 9: Hinweis bei veralteter Browserversion (optional)

In veralteten Browserversionen, beispielsweise Firefox bis Version 52, wird die Funktion Einwilligung zur Datenverarbeitung nicht korrekt ausgeführt. Der Shopbesucher kann mit einem entsprechenden Hinweis darauf aufmerksam gemacht werden. Binden Sie hierfür das Script ein, das im verlinkten Kapitel beschrieben wird. Wegweiser: Hinweis auf veraltete Browserversion

Schritt 10: Liveschaltung

Wenn Sie die Funktion für den Livebetrieb aktivieren möchten, setzen Sie den Parameter Allow im Abschnitt <AgreementCookies> der Shopkonfiguration shop.config auf yes:
Referenz: Abschnitt AgreementCookies Haben Sie alle Schritte durchgeführt, ist das Feature vollständig integriert und aktiv.

Hinweise zur Migration

Wenn Sie die Funktion Einwilligung zur Datenverarbeitung bereits in Ihrem Shop integriert haben und nun die aktuelle Integration ab November 2019 vornehmen möchten, beachten Sie bitte folgende Hinweise:
  • Aktualisieren Sie das JavaScript ws-module-agreementcookies auf Version 1.8.5 oder neuer, wie in Schritt 3 gezeigt.
  • Weisen Sie den Checkboxen zur Abfrage der Einwilligung folgendes onclick-Attribut zu: onclick="ws_agreement_updatecheckboxes();", siehe Schritt 6.

Vereinfachte Integration für econda-Dienste

Wenn Sie in Ihrem Shop econda Tracking oder econda ARP ohne WEBSALE Tracking-Schnittstelle nutzen, können Sie die Einwilligung zur Datenverarbeitung durch econda direkt über den Consent-Layer steuern, ohne die komplette Datei von econda auszuklammern oder einzuklammern. econda unterscheidet zwischen folgenden Privacy Modes: Weitere Informationen und aktuelle Codebeispiele finden Sie in der econda-Dokumentation. Dafür ist ein Login nötig.

Voraussetzungen

Die Integration von econda in Ihrem Shop ist ohne WEBSALE Tracking-Schnittstelle vorgenommen worden, also in der Standard-Integration. Zudem ist die Funktion Einwilligung zur Datenverarbeitung, wie oben beschrieben, in Ihrem Shop vorgenommen worden. Wegweiser: Integration von econda Tracking und econda ARP

Schritt 1: Freischaltung

Diese Funktion muss nicht von WEBSALE freigeschaltet werden.

Schritt 2: Einstellung im econda-Backend

Rufen Sie Ihr econda-Backend auf und wählen Sie dort den gewünschten Privacy Mode aus, der standardmäßig genutzt werden soll, also ohne Auswahl durch den Käufer.

Schritt 3: Bisherige Konfigurationen und Klammerungen bezüglich econda entfernen

Dieser Schritt gilt nur, falls zutreffend. Ist die Einwilligung zur Datenverarbeitung durch econda bereits in Ihrem Shop integriert worden, mittels Klammerung der kompletten Datei von econda wie oben beschrieben, so entfernen Sie zunächst alle betreffenden Klammerungen und Einstellungen in Ihrer Shopkonfiguration shop.config. Für econda Tracking fügen Sie auf dem Consent-Layer, siehe Schritt 6 der allgemeinen Integration, folgenden Code ein:
Bei dieser Einstellung wird, wenn econda im Consent-Layer angehakt ist, der Privacy Mode 3 gesetzt. Ist econda nicht angehakt, wird der standardmäßige Privacy Mode gesetzt, den Sie im econda-Backend festgelegt haben. Wenn Sie statt Privacy Mode 3 einen anderen Privacy Mode auswählen lassen möchten, also 1 oder 2, ersetzen Sie im Codebeispiel einfach die 3 mit der entsprechenden Ziffer, siehe Tabelle oben. Für econda ARP ergänzen Sie auf dem Consent-Layer folgenden Code:
Damit econda ARP ausgeführt werden kann, muss vom Käufer der Privacy Mode 3 ausgewählt worden sein.

WEBSALE-App für iOS (App Tracking Transparency)

Seit der Betriebssystem-Version iOS 14.5 verlangt Apple, dass in Apps, die User-Daten tracken, das AppTrackingTransparency-Framework (ATT) implementiert ist. Durch das Framework wird der Nutzer beim ersten Öffnen der App gefragt, ob er dem Tracking durch die App zustimmt oder nicht. Bei Verwendung der iOS-App wird der WEBSALE-Consent-Layer daher nicht mehr angezeigt. Das AppTrackingTransparency-Framework sendet im Header den HTTP-Trackingstatus an die WEBSALE-App. Neben den Trackingstatus-Werten von Apple gibt es zusätzlich den Wert always: Weitere Informationen finden Sie auch in der Apple-Dokumentation. Diese Trackingstatus-Werte müssen als kommaseparierte Liste in den neuen Parameter eingefügt werden, um den jeweiligen Dienst zu aktivieren, also das Cookie und den zugehörigen <+Entry>-Eintrag. Wenn Sie die WEBSALE-App einsetzen, ergänzen Sie im Abschnitt <AgreementCookies> der Shopkonfiguration shop.config alle einzelnen <+Entry>-Einträge mit folgendem Parameter:
Referenz: Abschnitt AgreementCookies Wenn man den Parameter weglässt oder keinen Wert hinter den Parameter setzt, wird der entsprechende Dienst nicht aktiviert und das Cookie nicht gesetzt.

Beispiele

Fügen Sie folgendes Parameter-Wert-Paar bei allen <+Entry>-Abschnitten hinzu, deren Tracking Sie nur nach ausdrücklicher Zustimmung oder auf älteren iOS-Versionen aktivieren möchten:
Fügen Sie dieses Parameter-Wert-Paar bei allen <+Entry>-Abschnitten hinzu, deren Aktivierung keine ausdrückliche Zustimmung durch den Kunden bedarf, beispielsweise wenn die Daten nicht an externe Systeme weitergeleitet werden:
Als Shopbetreiber können Sie somit für jeden Dienst, also für jeden einzelnen <+Entry>-Eintrag, entscheiden, bei welchem übermittelten Trackingstatus von iOS der jeweilige Dienst aktiviert und ein entsprechendes Cookie gesetzt wird. Mit dem Wert always setzen Sie für diesen Dienst eine generelle Zustimmung des Users voraus, unabhängig vom übermittelten Wert.
Alle essenziellen Cookies, die für die Funktionalität des Shops grundsätzlich notwendig sind, sind nicht betroffen und stehen nicht zur Auswahl. Das gilt genauso wie beim WEBSALE-Consent-Layer.