# Tracking und Zustimmung

> Übergeben Sie Kampagnen- und Attributionsparameter an den Checkout und steuern Sie den Hinweis zu den Bedingungen, der Erstkäufern angezeigt wird.

## Tracking-Parameter

`tprm` ist ein Objekt mit Parametern, das an den Checkout übergeben wird und dort der resultierenden Bestellung zugeordnet wird. Verwenden Sie es, um Verkäufe einer Kampagne, einer Seite oder einem Vertriebskanal zuzuordnen.

```js
const entase = new Entase({
  pk: 'YOUR_PUBLISHABLE_KEY',
  tprm: { utm_source: 'newsletter', utm_campaign: 'spring-season' }
});
```

Sie können sie jederzeit ändern – verwendet werden die Werte, die beim Aufruf von `book()` gesetzt sind:

```js
entase.setTracking({ utm_source: 'facebook', sgm: 'SEGMENT_CODE' });
entase.getTracking();  // { utm_source: 'facebook', sgm: 'SEGMENT_CODE' }
```

`setTracking()` **ersetzt** das gesamte Objekt, anstatt es mit dem bestehenden zusammenzuführen. Um einen Parameter hinzuzufügen, erweitern Sie die aktuellen Parameter:

```js
entase.setTracking({ ...entase.getTracking(), utm_content: 'sidebar' });
```

### Parameter aus Ihrer eigenen URL weiterleiten

Der Client liest den Query-String Ihrer Seite nicht aus. Wenn ein Besucher über `yoursite.com/concert?utm_source=facebook` auf Ihre Seite gelangt und diese Attribution in der Bestellung hinterlegt werden soll, leiten Sie sie selbst weiter:

```js
const params = new URLSearchParams(window.location.search);
const forward = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'sgm'];

const tprm = {};
forward.forEach(key => { if (params.has(key)) tprm[key] = params.get(key); });

const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY', tprm });
```

Das Einbettungs-Widget übernimmt dies automatisch für eine festgelegte Liste von Parametern. Siehe [Erweiterte Einbettungsoptionen](/developers/js-client/embed-advanced-options.md).

### Segmente

`sgm` enthält einen Segmentcode, der Verkäufe in Ihren Statistiken nach Kanal oder Kampagne gruppiert. Segmente werden in Ihrem Entase-Konto erstellt, nicht hier – siehe [Übersicht über Segmente](/organizers/segments/segments-overview.md) und [Segmente erstellen und verwalten](/organizers/segments/creating-and-managing-segments.md).

## Zustimmung

Der Checkout fordert Erstkäufer auf, dem Hinweis zu den Entase-Bedingungen zuzustimmen. Nach der Zustimmung wird die Antwort in einem Cookie gespeichert und dieser Schritt bei späteren Besuchen übersprungen, auch auf anderen Websites, die Entase verwenden.

Sie können dies überwachen:

```js
entase.on('checkout.consent', payload => {
  if (payload.data.consent) console.log('accepted');
});
```

### Schritt überspringen

`collectConsent: false` unterdrückt den Hinweis:

```js
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY', collectConsent: false });
```

Oder für eine einzelne Buchung:

```js
entase.book('EVENT_ID', { collectConsent: false });
```

Tun Sie dies nur, wenn Ihr eigener Checkout-Ablauf bereits die entsprechende Zustimmung einholt – die Anforderung entfällt nicht, nur weil der Hinweis ausgeblendet ist. Lassen Sie sie standardmäßig aktiviert.

Die gespeicherte Zustimmung wird erneut anhand des Datums geprüft, an dem sich die Bedingungen zuletzt geändert haben. Daher wird ein Besucher, der eine ältere Version akzeptiert hat, erneut gefragt. Das Unterdrücken des Hinweises unterdrückt auch diese Prüfung.
