Kiwiq in wenigen Minuten startklar
Installiere das SDK, verweise auf einen CSS-Selector, und schon laufen Impressions, Klicks und Scroll-Events ein.
Zwei Wege zur Installation
Nutze npm, wenn du ohnehin einen Build-Schritt hast, oder binde einfach das CDN-Script ein, wenn nicht.
Über npm
EmpfohlenInstalliere das Paket und importiere es wie jede andere Abhängigkeit.
npm install kiwiqimport Kiwiq from "kiwiq";
Kiwiq.start({
apiKey: "pk_live_xxxxxxxxx",
action: "scroll",
selector: ".feature-section",
});Über CDN
Kein Build-Schritt nötig — füge das einfach in dein HTML ein und nutze das globale Kiwiq-Objekt.
<script src="https://unpkg.com/kiwiq/dist/kiwiq.global.js"></script>
<script>
Kiwiq.start({
apiKey: "pk_live_xxxxxxxxx",
action: "scroll",
selector: ".feature-section",
});
</script>Konfigurationsoptionen
Werden an Kiwiq.start() übergeben. Rufe es einmal pro Selector/Action-Paar auf, oder übergib ein Array, um mehrere auf einmal zu registrieren.
| Option | Typ | Standard | Beschreibung |
|---|---|---|---|
| apiKey | string | Erforderlich | Der öffentliche API-Key deines Projekts. |
| action | "impression" | "click" | "scroll" | "hover" | "submit" | Erforderlich | Welche Interaktion für passende Elemente getrackt werden soll. |
| selector | string | Erforderlich | Ein CSS-Selector, der das oder die zu trackenden Elemente identifiziert. |
| endpoint | string | Kiwiqs gehosteter Collector | Überschreibt, wohin Events gesendet werden. |
| threshold | number | 0.5 | Sichtbarkeits-Anteil (0–1), der vor impression/scroll erreicht sein muss. |
| hoverDelay | number | 200 | Mindest-Verweildauer in Millisekunden, bevor hover feuert. |
Getrackte Actions
Fünf Interaktionstypen, alle über dieselbe action-Option verfügbar.
impressionFeuert einmal pro Element, sobald es erstmals im sichtbaren Bereich erscheint.
clickFeuert bei Klick. Läuft intern über Event Delegation, erfasst also auch Elemente, die erst später zur Seite hinzukommen.
scrollWie impression, feuert aber erneut jedes Mal, wenn das Element den Sichtbarkeits-Schwellenwert überschreitet — nützlich, um wiederholtes Re-Engagement zu messen.
hoverFeuert, sobald der Mauszeiger mindestens hoverDelay Millisekunden auf dem Element verweilt.
submitFeuert, wenn ein passendes <form>-Element abgeschickt wird.
Zu deinem API-Key
Dein apiKey identifiziert, zu welchem Projekt ein Event gehört. Er ist ein öffentlicher Identifier, kein Geheimnis — ähnlich wie ein Stripe Publishable Key — und kann daher problemlos direkt im Client-Code stehen, der an jeden Besucher ausgeliefert wird.
Öffentliche Keys sind in Produktion mit pk_live_ vorangestellt.
Wie Daten gesendet werden
Events werden gebündelt (bis zu 10, oder alle 2 Sekunden) und als ein einzelner Request per navigator.sendBeacon verschickt, mit fetch inklusive keepalive als Fallback, falls sendBeacon nicht verfügbar ist. Netzwerkfehler, Ad-Blocker und CORS-Fehler werden dabei stillschweigend abgefangen — Kiwiq wirft niemals einen Fehler auf deiner Seite.
Funktioniert mit dynamischen Inhalten
impression- und scroll-Tracking erfasst automatisch auch Elemente, die erst nach dem Aufruf von Kiwiq.start() zur Seite hinzukommen — praktisch für Single-Page-Apps und alles, was asynchron nachgeladen wird. start() muss dafür nicht erneut aufgerufen werden.
Sieh dir getrackte Daten in Aktion an
Schau dir das Dashboard an, um zu sehen, wie Impressions, Klicks und Scroll-Events zusammenkommen.