Configuration
Takt se configure de deux façons équivalentes : par attributs data-* sur la balise du snippet (CDN), ou par options de init() (npm). Les deux pilotent les mêmes réglages.
Options data-* (snippet)
| Attribut | Effet | Défaut |
|---|---|---|
data-domain | Identifiant du site dans ton tableau de bord | location.hostname |
data-script-origin | Origine first-party dont dériver l’endpoint ({origin}/api/event) | https://taktlytics.com |
data-endpoint | Endpoint d’ingestion des events — l’emporte sur data-script-origin | https://taktlytics.com/api/event |
data-exclude-localhost="false" | Mesure aussi localhost / IP privées | exclu |
data-enabled="false" | Coupe-circuit — le tracker ne fait rien | activé |
data-respect-dnt="false" | Désactive le garde-fou Do Not Track côté client (le signal GPC reste appliqué à l’ingestion) | respectés |
data-sample-rate="0.5" | N’envoie que cette fraction (0–1) des events | 1 (tout) |
data-track-query | Conserve toute la query string et le hash | strippé |
data-query-params="utm_source,utm_medium" | Ne garde que ces paramètres de query | aucun |
Détail des réglages
data-domain— toujours le renseigner explicitement. Sans lui, Takt déduit le domaine delocation.hostname, ce qui casse l’agrégation si ton site répond sur plusieurs hôtes (www, préprod, domaine de test).data-script-origin/data-endpoint— par défaut, les events partent vershttps://taktlytics.com/api/event.data-script-originremplace l’origine dont l’endpoint est dérivé ({origin}/api/event) quand tu sers Takt depuis ton propre domaine ;data-endpointfixe l’URL complète et l’emporte surdata-script-origin. Pour un proxy first-party servi sur la même origine que ta page, passe explicitementdata-endpoint="/api/event". Voir Proxy first-party.- Captures automatiques — clics sortants, téléchargements, événements déclarés en HTML et 404 ne font pas partie du snippet minimal : ils vivent dans le bundle
takt.auto.jset s’activent viadata-auto(voir plus bas). data-exclude-localhost— activé par défaut. Passe"false"pour mesurer aussi localhost et les IP privées.data-enabled="false"— coupe-circuit total : aucun écouteur n’est attaché et rien n’est jamais envoyé.- Vie privée & échantillonnage — le snippet respecte Do Not Track et Global Privacy Control (en-tête
Sec-GPC/navigator.globalPrivacyControl) et strippe la query string par défaut. Ajuste-les sur la balise :data-respect-dnt="false"(désactive le garde-fou DNT côté client ; le signal GPC reste appliqué à l’ingestion),data-sample-rate="0.5"(n’envoie qu’une fraction des events),data-track-query(garde toute la query + le hash),data-query-params="utm_source,utm_medium"(ne garde qu’une allowlist). Mêmes sémantiques que les options npm ci-dessous.
<script
defer
src="https://cdn.jsdelivr.net/npm/@vskstudio/takt-core/dist/takt.js"
data-domain="exemple.fr"
data-query-params="utm_source,utm_medium"
></script> data-exclude-localhost protège la vie privée de tes visiteurs, et le snippet respecte toujours Do Not Track. Ne désactive ces garde-fous que si tu sais exactement pourquoi.Captures automatiques (data-auto)
Le snippet minimal takt.js ne mesure que les pages vues. Les captures automatiques — clics sortants, téléchargements, événements déclarés en HTML et 404 — vivent dans le bundle takt.auto.js et sont toutes opt-in via l’attribut data-auto, qui prend une liste séparée par des virgules.
| Attribut | Effet | Défaut |
|---|---|---|
data-auto="outbound" | Émet Outbound Link: Click sur les clics vers un autre domaine | off |
data-auto="downloads" | Émet File Download sur les liens pointant vers un fichier | off |
data-auto="tagged" | Émet les événements déclarés sur les éléments [data-takt-event] | off |
data-auto="404" | Émet un événement 404 sur les pages d’erreur | off |
data-downloads-ext="pdf,csv,epub" | Restreint les extensions comptées comme téléchargement | liste par défaut |
<script
defer
src="https://cdn.jsdelivr.net/npm/@vskstudio/takt-core/dist/takt.auto.js"
data-domain="exemple.fr"
data-auto="outbound,downloads,tagged,404"
></script> data-auto, takt.auto.js se comporte exactement comme takt.js : un pageview, rien de plus. Tous les attributs du tableau précédent restent valables sur ce bundle. Détail de chaque capture dans Extensions automatiques.Options init() (npm)
En version npm, ces mêmes réglages se passent en objet à init() (en camelCase pour les booléens) :
import { init } from '@vskstudio/takt-core'
init({
domain: 'exemple.fr', // requis en pratique
outbound: true, // suit les liens sortants
files: true, // suit les téléchargements
excludeLocalhost: true, // défaut
respectDnt: true // défaut
}) init() crée une instance partagée, déclenche un pageview automatique et câble la navigation SPA. Appelle-le une seule fois, au démarrage de l’application.
Sans endpoint ni scriptOrigin, les events partent vers https://taktlytics.com/api/event. Passe endpoint: '/api/event' si tu proxifies Takt sur la même origine que ta page, ou scriptOrigin: 'https://exemple.fr/_takt' pour dériver l’endpoint d’une autre origine.
Options avancées
Elles ajustent la vie privée, l’échantillonnage et l’autocapture. enabled, sampleRate, trackQuery et queryParams ont aussi une forme snippet data-* (ci-dessus), et tagged / notFound une forme data-auto ; debug, scrubUrl et exclude sont réservés à npm (le snippet minimal ≤ 1 kB ne les embarque pas).
| Option | Type | Défaut | Rôle |
|---|---|---|---|
enabled | boolean | true | Coupe tout envoi quand false (utile en préprod) |
debug | boolean | false | Trace chaque event dans la console (réservé npm) |
sampleRate | number | 1 | Échantillonne les events envoyés (0–1) |
trackQuery | boolean | false | Conserve la query string telle quelle |
queryParams | string[] | — | Allowlist de paramètres de query à garder |
scrubUrl | (url) => url | — | Nettoyage d’URL sur mesure (réservé npm) |
exclude | string[] | — | Préfixes de chemin jamais suivis, ex. ['/app', '/account'] (borné au segment, vérifié à l’envoi ; réservé npm) |
tagged | boolean | false | Events custom depuis les éléments [data-takt-event] (snippet : data-auto="tagged") |
notFound | boolean | false | Émet un event 404 sur les pages d’erreur (snippet : data-auto="404") |
Par défaut, la query string et le hash sont strippés de toutes les URLs avant l’envoi. trackQuery/queryParams/scrubUrl (npm) ou data-track-query/data-query-params (snippet) permettent de l’ajuster. Voir Vie privée.
data-exclude-localhost → excludeLocalhost, data-script-origin → scriptOrigin, data-downloads-ext → fileExtensions. La sémantique est identique entre snippet et npm pour les réglages communs.