> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Materialien Tracking-Schnittstelle

> Der Code, den das Shopsystem für die Tracking-Schnittstelle erzeugt, an welchen drei Stellen er stehen kann und welche Daten er bereitstellt.

Ist die Tracking-Schnittstelle eingerichtet, erzeugt das Shopsystem auf jeder gemessenen Seite einen Block aus JavaScript-Variablen und bindet anschließend die Datei mit dem Code der Dienstleister ein. Diese Seite zeigt, wie dieser Block aussieht und welche Daten darin stehen.

Den Block schreiben Sie nicht selbst. Er entsteht beim Seitenaufruf. Was hier steht, ist die Vorlage zum Vergleichen: So sollte es im Quelltext Ihres Shops aussehen, wenn die Schnittstelle richtig eingerichtet ist.

Wie Sie die Schnittstelle einrichten und wie Sie Tracking-Dienste alternativ direkt im Template einbinden, steht auf der Anleitungsseite.

Wegweiser: [Tracking einbinden](https://dokumentation.websale.de/v8s/funktionen-zur-shop-optimierung/tracking-einbinden.md) · Referenz: [WS-ExternalStatistics](https://dokumentation.websale.de/v8s/referenz/tags/ws/merkzettel-vergleich-upload-und-externe-dienste.md#die-tags-im-uberblick)

> [!WARNING]
>
> Tracking überträgt Daten an Dritte und darf das erst, wenn der Besucher aktiv zugestimmt hat. Ein bloßer Hinweis genügt nicht, und voreingestellte Häkchen sind unzulässig. Klären Sie die Ausgestaltung mit Ihrem Datenschutzbeauftragten.

Wegweiser: [Einwilligung zur Datenverarbeitung (Cookies)](https://dokumentation.websale.de/v8s/einstellungen/einwilligung-zur-datenverarbeitung-cookies.md)

## Der erzeugte Block

Auf der Produktdetailansicht `ws_product.htm` sieht der Block beispielsweise so aus:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<script type="text/javascript">
<!--
var ws_shopid="myshop";
var ws_subshopid="deutsch";
var ws_sid="2280b...";
var ws_state="Product";
var ws_page_name="Artikel";
var ws_extid="";
var ws_referer="";
var ws_subreferer="";
var ws_http_referer="";
var ws_tp1="";
var ws_tp2="";
var ws_tp3="";
var ws_login_type="na";
var ws_data_type="advanced";
var ws_cat_name="Gastronomie/Speisen/Getränkekarten";
var ws_prod_name="Speise-/Getränkekarten, DIN-A6";
var ws_prod_number="6443000810";
var ws_prod_index="KA644555";
var ws_order="no";
//-->
</script>
<script type="text/javascript" src="<Shop-Pfad>/benutzer/templates/ws_analyse.js"></script>
```

Die Zeilen `{/* ` und `// */}` um den Variablenblock sind ein Überbleibsel aus der Zeit, als Browser `script`-Elemente noch nicht kannten. Sie stören nicht, und da der Block vom Shopsystem erzeugt wird, lassen sie sich auch nicht entfernen.

## Die drei Stellen, an denen der Block stehen kann

Der Variablenblock ist an allen drei Stellen derselbe. Es ändert sich nur, wo er steht und welche Datei danach eingebunden wird.

| Stelle | Wann | Eingebundene Datei |
| - | - | - |
| vor `</body>` | Voreinstellung, ohne weiteres Zutun | `ws_analyse.js` |
| vor `</body>` | wenn das PageSpeed-Tool die Dateien zusammenfasst | die Gruppierung, beispielsweise `../js_min/tracking-122356.min.js` |
| frei wählbar, auch im `head` | wenn Sie `~WS-ExternalStatistics~` selbst setzen | `ws_analyse.js` |

### Voreinstellung: vor dem schließenden `body`

Ohne weiteres Zutun setzt WEBSALE V8s den Block und den Aufruf von `ws_analyse.js` unmittelbar vor `</body>`.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<body>
   ...
   <div>Ihr Template-Inhalt</div>
   ...
   <script type="text/javascript">
   <!--
   var ws_shopid="myshop";
   ...
   var ws_order="no";
   //-->
   </script>
   <script type="text/javascript" src="<Shop-Pfad>/benutzer/templates/ws_analyse.js"></script>
</body>
```

### Mit dem PageSpeed-Tool

Fasst das PageSpeed-Tool die JavaScript-Dateien zu Gruppierungen zusammen, tritt an die Stelle von `ws_analyse.js` die Gruppierung, in der die Tracking-Datei enthalten ist. Im Beispiel heißt die Gruppierungs-ID `tracking`.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
   <script type="text/javascript" src="../js_min/tracking-122356.min.js"></script>
```

Die Ziffernfolge im Dateinamen vergibt das PageSpeed-Tool und ändert sie bei jeder Neuerzeugung. Sie taugt deshalb nicht als fester Bezug, weder in einem Test noch in einer Zugriffsregel.

### An selbst gewählter Stelle

Mit `~WS-ExternalStatistics~` setzen Sie den Block dort, wo Sie ihn haben wollen, beispielsweise im `head`. Der Aufbau bleibt gleich.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<head>
   ...
   <meta name="description" content="Ihr Text">
   ...
   <script type="text/javascript">
   <!--
   var ws_shopid="myshop";
   ...
   var ws_order="no";
   //-->
   </script>
   <script type="text/javascript" src="<Shop-Pfad>/benutzer/templates/ws_analyse.js"></script>
</head>
```

Brauchen Sie nur die Variablen und wollen die Datei selbst einbinden, gibt es dafür ein eigenes Tag, das ausschließlich den Variablenblock ausgibt.

Wegweiser: [PageSpeed-Tool](https://dokumentation.websale.de/v8s/schnittstellen/rest-osb-dienste/rest-pagespeed-tool.md) · Referenz: [WS-ExternalStatisticsData](https://dokumentation.websale.de/v8s/referenz/tags/ws/merkzettel-vergleich-upload-und-externe-dienste.md#die-tags-im-uberblick)

Ob der Aufruf der Datei mit `async="true"` erzeugt wird, hängt an einer Einstellung des Shops. Im Beispiel oben steht sie nicht. Fehlt `async` und laden Sie den Block im `head`, hält die Tracking-Datei den Seitenaufbau auf.

## Die Variablen des Beispiels

| Variable | Enthält |
| - | - |
| `ws_shopid` | die Kennung des Shops |
| `ws_subshopid` | die Kennung des Subshops |
| `ws_sid` | die Sitzungskennung |
| `ws_state` | den technischen Seitenzustand, beispielsweise `Product` |
| `ws_page_name` | den sprechenden Seitennamen, beispielsweise `Artikel` |
| `ws_extid` | die Kennung des Shops beim Tracking-Dienstleister |
| `ws_referer` | den Referer, so wie ihn der Shop ermittelt |
| `ws_subreferer` | den Subreferer |
| `ws_http_referer` | den Referer aus dem HTTP-Kopf |
| `ws_tp1` bis `ws_tp3` | die drei freien Tracking-Parameter aus dem Seitenaufruf |
| `ws_login_type` | den Anmeldezustand, `na` wenn nicht angemeldet |
| `ws_data_type` | den Umfang der übergebenen Daten |
| `ws_cat_name` | den Kategoriepfad |
| `ws_prod_name` | den Produktnamen |
| `ws_prod_number` | die Produktnummer |
| `ws_prod_index` | den technischen Produktindex |
| `ws_order` | ob auf dieser Seite eine Bestellung abgeschlossen wurde |

> [!WARNING]
>
> Der Block im Beispiel ist ein **Auszug**, keine vollständige Liste. Welche Variablen tatsächlich erscheinen, hängt von der Seite, von der Konfiguration des Shops und von den eingeschalteten Zusatzfunktionen ab. Je nach Lage kommen unter anderem diese dazu:
>
> | Variable | Erscheint |
> | - | - |
> | `ws_price_type`, `ws_currency` | immer, Brutto oder Netto und die Währung |
> | `ws_currency_display`, `ws_exchange_rate` | bei eingeschalteter Anzeigewährung |
> | `ws_gclid` | wenn der Aufruf eine Google Click ID mitbrachte |
> | `ws_test` | immer, `yes` im Testmodus |
> | `ws_a_id` | wenn die Übergabe der Kundennummer eingeschaltet ist |
> | `ws_a_number` | die Kundennummer als Hashwert |
> | `ws_d_zip`, `ws_d_city`, `ws_d_country` | auf der Bestellbestätigung, aus der Lieferadresse |
> | `ws_web2print_cost` und zwei weitere | wenn Web-to-Print im Warenkorb liegt |
> | `ws_agreementcookies` | wenn Zustimmungs-Cookies eingerichtet sind |
>
> Sehen Sie im Quelltext Ihres eigenen Shops nach, welche Variablen dort tatsächlich stehen, bevor Sie einem Dienstleister zusagen, dass ein bestimmter Wert ankommt.
>
> **Je nach Konfiguration werden personenbezogene Daten übermittelt.**
>
> * `ws_sid` ist die Sitzungskennung und erlaubt, die Aufrufe eines Besuchers zusammenzuführen.
> * `ws_a_id` enthält die Kundennummer im Klartext, sobald die Übergabe der Kundennummer eingeschaltet ist.
> * `ws_d_zip` und `ws_d_city` enthalten auf der Bestellbestätigung Postleitzahl und Ort der Lieferadresse.
> * Auf der Bestellbestätigung geht zusätzlich die vollständige Bestellung mit allen Positionen und Beträgen hinaus.
>
> Welche dieser Daten Ihr Shop tatsächlich überträgt, hängt an seiner Konfiguration. Lassen Sie den erzeugten Block von Ihrem Datenschutzbeauftragten ansehen, statt sich auf eine pauschale Aussage zu verlassen.

Der Subreferer bleibt beim WEBSALE Partnerprogramm bewusst leer, weil dort der Name des Partners im Klartext stünde.

Sind Zustimmungs-Cookies eingerichtet, gibt das Shopsystem deren Zustand als Objekt `ws_agreementcookies` mit aus und bindet **keine** JavaScript-Datei mehr ein. Das Laden der Tracking-Dateien übernimmt dann die Zustimmungslogik, sobald der Besucher zugestimmt hat.

Referenz: [AC- (AgreementCookies)](https://dokumentation.websale.de/v8s/referenz/tags/ac-agreementcookies.md)

## Welche Daten bereitstehen

Welche dieser Daten ein Dienstleister auswertet, entscheidet er selbst. Das Shopsystem stellt sie bereit.

### Allgemeine Daten

Diese stehen auf jeder gemessenen Seite zur Verfügung.

* Shop-Kennung und Subshop-Kennung
* Seitenzustand, beispielsweise `Product`
* Sitzungskennung
* Referer und Subreferer
* Seitenname

### Seitenabhängige Daten

| Seite | Daten |
| - | - |
| Kategorieseite | Name der Kategorie, Pfad der Kategorie |
| Produktseite | Produktname, Produktnummer, Preis, Pfad der Kategorie |
| Warenkorbseite | welche Produkte hinzugefügt und welches entfernt wurde |
| Suchergebnisseite | Suchbegriffe, Anzahl der Treffer |
| Bestelleingangsbestätigung | vollständige Liste der bestellten Produkte, Gesamtwarenwert, Endbetrag, Gesamtrabatte, Name und Kosten der Zahlungsart, Name und Kosten der Versandart |

Über diese Standarddaten hinaus lassen sich weitere Werte auswerten.


## Related topics

- [Materialien Parameterentfernung](https://dokumentation.websale.de/v8s/materialien/materialien-parameterentfernung.md)
- [Integration von econda](https://dokumentation.websale.de/v8s/integration-von-econda/integration-von-econda.md)
- [Merkliste](https://dokumentation.websale.de/v8s/interaktive-funktionen/merkliste.md)
- [Produktempfehlungsfunktion per AJAX](https://dokumentation.websale.de/v8s/produktweiterempfehlung/produktempfehlungsfunktion-per-ajax.md)
- [Grundlagen und Technik](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/grundlagen-und-technik.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.