takt

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)

AttributEffetDéfaut
data-domainIdentifiant du site dans ton tableau de bordlocation.hostname
data-script-originOrigine first-party dont dériver l’endpoint ({origin}/api/event)https://taktlytics.com
data-endpointEndpoint d’ingestion des events — l’emporte sur data-script-originhttps://taktlytics.com/api/event
data-exclude-localhost="false"Mesure aussi localhost / IP privéesexclu
data-enabled="false"Coupe-circuit — le tracker ne fait rienactivé
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 events1 (tout)
data-track-queryConserve toute la query string et le hashstrippé
data-query-params="utm_source,utm_medium"Ne garde que ces paramètres de queryaucun

Détail des réglages

  • data-domain — toujours le renseigner explicitement. Sans lui, Takt déduit le domaine de location.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 vers https://taktlytics.com/api/event. data-script-origin remplace l’origine dont l’endpoint est dérivé ({origin}/api/event) quand tu sers Takt depuis ton propre domaine ; data-endpoint fixe l’URL complète et l’emporte sur data-script-origin. Pour un proxy first-party servi sur la même origine que ta page, passe explicitement data-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.js et s’activent via data-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>
Le drapeau 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.

AttributEffetDéfaut
data-auto="outbound"Émet Outbound Link: Click sur les clics vers un autre domaineoff
data-auto="downloads"Émet File Download sur les liens pointant vers un fichieroff
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’erreuroff
data-downloads-ext="pdf,csv,epub"Restreint les extensions comptées comme téléchargementliste 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>
Sans 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).

OptionTypeDéfautRôle
enabledbooleantrueCoupe tout envoi quand false (utile en préprod)
debugbooleanfalseTrace chaque event dans la console (réservé npm)
sampleRatenumber1Échantillonne les events envoyés (0–1)
trackQuerybooleanfalseConserve la query string telle quelle
queryParamsstring[]Allowlist de paramètres de query à garder
scrubUrl(url) => urlNettoyage d’URL sur mesure (réservé npm)
excludestring[]Préfixes de chemin jamais suivis, ex. ['/app', '/account'] (borné au segment, vérifié à l’envoi ; réservé npm)
taggedbooleanfalseEvents custom depuis les éléments [data-takt-event] (snippet : data-auto="tagged")
notFoundbooleanfalseÉ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.

Correspondance des noms : data-exclude-localhostexcludeLocalhost, data-script-originscriptOrigin, data-downloads-extfileExtensions. La sémantique est identique entre snippet et npm pour les réglages communs.