---
slug: sdk-api
title: "Welche Funktionen hat das Tracking-SDK?"
category: installation
locale: de
updated: 2026-10-13
keywords: ["SDK","JavaScript","API","track","identify","conversion"]
questions: ["Welche JavaScript-Aufrufe stehen mir zur Verfügung?","JavaScript API","metrunio.track","Wie sende ich ein eigenes Event?","SDK Dokumentation"]
url: https://bench.metrunio.com/de/hilfe/sdk-api
---

# Welche Funktionen hat das Tracking-SDK?

**Welche JavaScript-Aufrufe stehen mir zur Verfügung?**

Das SDK stellt init, setConsent, page, track, identify, conversion, goal und reset bereit, dazu paymentReference für Stripe und PayPal, fillForm für Formulare sowie renderSurvey und survey für die Nachkauf-Frage. Es lädt asynchron, sammelt Aufrufe vor dem Laden in einer Warteschlange und sendet Events gebündelt.

```javascript
metrunio.init({ siteId, writeKey, endpoint, consent, autoPageviews, testMode, debug });
metrunio.setConsent({ analytics: true, marketing: true });
metrunio.page({ bereich: 'start' });
metrunio.track('add_to_cart', { produkt: 'abc', preis: 24.9 });
metrunio.identify('kundennummer-4711');
metrunio.conversion({ orderId: '12345', value: 149.9, currency: 'EUR' });
metrunio.goal('shop_angelegt'); // Zielschritt, zählt je Kunde einmal
metrunio.paymentReference(); // Referenz für Stripe und PayPal, nur mit Einwilligung
metrunio.renderSurvey('#metrunio-frage', { orderId: '12345' }); // Nachkauf-Frage auf der Danke-Seite
metrunio.survey({ orderId: '12345', answer: 'podcast_radio' }); // Antwort aus eigener Oberfläche
metrunio.fillForm('#anfrage'); // Lead-Kennung und Herkunft ins Formular
metrunio.reset();
```

## Verhalten

- Asynchrones Laden; Aufrufe vor dem Laden landen in window.metrunioQueue und werden anschließend abgespielt.
- Batch-Versand: standardmäßig zehn Events beziehungsweise 1,5 Sekunden; beim Verlassen der Seite über navigator.sendBeacon.
- Bis zu drei Wiederholungen mit Backoff; danach bleibt der Batch lokal und wird beim nächsten Seitenaufruf erneut gesendet.
- Die Event-ID entsteht vor dem Versand, damit Wiederholungen idempotent bleiben.
- Ohne Marketing-Einwilligung verlassen Werbeevents das Gerät gar nicht erst.
- Kein Fingerprinting: Die pseudonyme ID ist ein zufälliger First-Party-Wert im LocalStorage.
- Ein eigenes Ereignis bekommt seinen Namen über `event_name`: `metrunio.track('custom', { event_name: 'newsletter_signup' })`. Buchstaben, Ziffern und `_ . : -`, höchstens 64 Zeichen; so steht es im Besuchsverlauf einer Journey.

## Fehlermeldungen in der Konsole

| Code | Bedeutung |
| --- | --- |
| CONFIG_INCOMPLETE | siteId, writeKey oder endpoint fehlt, oder statt des Write Keys steht noch der Platzhalter |
| DOUBLE_INIT | init() ein zweites Mal, meist durch eine doppelte Einbindung; es gilt der erste Aufruf |
| NOT_INITIALIZED | Aufruf vor init() |
| CONVERSION_ORDER_ID_MISSING | Kauf ohne Bestellnummer |
| GOAL_KEY_MISSING | Zielschritt ohne Schlüssel |
| GOAL_KEY_INVALID | Schlüssel mit Leerzeichen, Umlauten oder Sonderzeichen außer _ . und -, oder länger als 64 Zeichen; Großbuchstaben schreibt das SDK selbst klein |

> **Hinweis:** debug: true protokolliert jede Entscheidung des SDK in der Browserkonsole. Das hilft besonders, wenn du sehen willst, warum ein Event wegen fehlender Einwilligung nicht gesendet wurde.

## Ebenfalls gefragt

- JavaScript API
- metrunio.track
- Wie sende ich ein eigenes Event?
- SDK Dokumentation

## Weiterführend

- https://bench.metrunio.com/de/hilfe/snippet-einbauen
- https://bench.metrunio.com/de/hilfe/single-page-app
- https://bench.metrunio.com/de/hilfe/welche-events-gibt-es
- https://bench.metrunio.com/de/hilfe/funnel-schritte-einbauen
- https://bench.metrunio.com/de/hilfe/nachkauf-frage
- https://bench.metrunio.com/de/hilfe/herkunft-im-formular
