takt

Events & payload

Chaque event est posté à l’endpoint en JSON compact. Les clés sont volontairement courtes — chaque octet compte sur le réseau — et gelées : l’ingestion Takt en dépend, ne les renomme pas.

Anatomie du payload

CléSensExemple
nnom de l’event (pageview pour les vues)"Signup"
ddomaine"exemple.fr"
uURL de la page"https://exemple.fr/tarifs"
rreferrer"https://google.com"
wlargeur de viewport (px)1440
pprops (objet, omis si vide){ "plan": "pro" }
$revenue { a: montant, c: devise }{ "a": "29", "c": "EUR" }

Un pageview ressemble donc à ceci sur le réseau :

{ "n": "pageview", "d": "exemple.fr", "u": "https://exemple.fr/tarifs", "r": "", "w": 1440 }

Et un event personnalisé avec props :

{ "n": "Signup", "d": "exemple.fr", "u": "https://exemple.fr/inscription", "r": "", "w": 1440, "p": { "plan": "pro" } }

Propriétés (props)

Les props segmentent un même event en sous-catégories analysables dans le tableau de bord. Garde-les simples et à faible cardinalité (plan, pays, type de bouton) — pas d’identifiant unique ni de donnée personnelle.

window.takt('Signup', { props: { plan: 'pro', method: 'google' } })
N'envoie jamais de donnée personnelle dans props (e-mail, identifiant, nom). Takt est conçu pour rester anonyme — des props à haute cardinalité cassent ce modèle et l'agrégation.

Les props sont assainies avant l’envoi : les valeurs non-chaînes sont converties en chaînes, les valeurs vides ('', null, undefined) ignorées, et des limites sont appliquées (l’event part quand même, un avertissement console est émis une seule fois) :

LimiteValeur
Nombre de clés30 max (les suivantes sont coupées)
Longueur d’une clé64 caractères
Longueur d’une valeur1024 caractères

Revenue ($)

Pour suivre le chiffre d’affaires, attache un montant et une devise. Le montant est une chaîne (pour éviter les imprécisions de virgule flottante) et la devise un code ISO 4217 (mis en majuscules à l’envoi).

// snippet (global window.takt)
window.takt('Purchase', {
  props: { plan: 'pro' },
  revenue: { amount: '29', currency: 'EUR' }
})

Sur le réseau, cela devient la clé compacte $ : { "a": "29", "c": "EUR" }.

Le revenue est validé : le montant doit matcher \d+(\.\d{1,2})? (entier ou jusqu’à 2 décimales) et la devise être un code de 3 lettres. Si l’un est mal formé, le revenue est abandonné (le reste de l’event part quand même) avec un avertissement console.

En intégration npm, le revenue passe par l'instance retournée par init() — voir la référence API.

Voir aussi

  • Configuration — endpoint et drapeaux qui génèrent des events automatiques (liens sortants, fichiers).
  • Vie privée — quand un event n’est pas envoyé.