Proxy first-party (anti-adblock)
Par défaut, le tracker Takt et la collecte d’événements passent déjà par un domaine Takt, pas par un chemin connu des bloqueurs. Tu peux aller plus loin : servir le script et l’endpoint de collecte depuis ton propre domaine, via ton reverse-proxy ou ton CDN. Tout le trafic d’analytique devient alors indistinguable de ton site — les bloqueurs de publicité ne peuvent plus l’isoler.
Niveau 1 — servi par Takt
Niveau 2 — proxy manuel (avancé)
/takt.js, /takt.auto.js) et l'endpoint de collecte (/api/event) sont servis par le même service d'ingestion, via l'edge. Un proxy manuel doit router ces deux chemins.Niveau 2 — proxy manuel
Si tu gères déjà un reverse-proxy ou un CDN, route toi-même une route de ton domaine vers l’edge Takt, en préservant le header Host. Route /_takt/* vers https://collect.taktlytics.com/ : les deux chemins servis par l’ingestion (/takt.js / /takt.auto.js et /api/event) passeront par ta route.
Préserver l’IP visiteur
Avec un proxy, c’est ton reverse-proxy qui devient le client immédiat de l’ingestion. Sans précaution, tous les visiteurs seraient rabattus sur son IP, ce qui fausserait le comptage des uniques et la géolocalisation. Pour l’éviter, chaque config ci-dessous transmet l’IP réelle du visiteur via l’en-tête X-Takt-Client-IP, puis tu actives le relais côté Takt.
_redirects Netlify, rewrites Vercel) ne peut pas ajouter l'IP visiteur et fausserait le comptage — ne l'utilise pas avec le relais activé.Cloudflare — Origin Rule + Transform Rule
# Origin Rule — proxifie /_takt/* vers l'edge Takt
Source path: /_takt/*
Destination: https://collect.taktlytics.com/$1
Host header: préserver l'original
# Transform Rule — ajoute l'IP visiteur réelle
Set dynamic header: X-Takt-Client-IP = ip.src Nginx — location
location /_takt/ {
proxy_pass https://collect.taktlytics.com/;
proxy_set_header Host $host;
proxy_set_header X-Takt-Client-IP $remote_addr;
proxy_ssl_server_name on;
} Apache — mod_proxy
<Location /_takt/>
SSLProxyEngine On
ProxyPreserveHost On
RequestHeader set X-Takt-Client-IP "%{REMOTE_ADDR}s"
ProxyPass https://collect.taktlytics.com/
ProxyPassReverse https://collect.taktlytics.com/
</Location> Caddy — reverse_proxy
handle_path /_takt/* {
reverse_proxy https://collect.taktlytics.com {
header_up Host {upstream_hostport}
header_up X-Takt-Client-IP {remote_host}
}
} Host doit être préservé : c'est lui qui permet à l'ingestion d'associer la requête à ton site. Une fois la route en place, pointe ton snippet vers /_takt/takt.js pour que le script et la collecte transitent par ton domaine.Vérification & dépannage
Pour confirmer que tout fonctionne :
- Dans l’onglet réseau de ton navigateur, le tracker se charge depuis ton domaine (
/_takt/…), pas depuis un domaine Takt. - Une navigation génère une requête
/_takt/api/eventen2xx, et le visiteur apparaît en direct dans le tableau de bord.
Problèmes fréquents :
| Symptôme | Cause probable | Correctif |
|---|---|---|
| 404 / mauvais site | Header Host non préservé | Force la préservation du Host original dans ta config |
| Tous les visiteurs comptés comme un seul | En-tête X-Takt-Client-IP absent ou relais désactivé | Ajoute l’en-tête dans ta config et active « Je proxifie Takt moi-même » |
| Le tracker ne charge pas | Mauvaise cible de proxy | Vérifie que la route pointe bien vers collect.taktlytics.com |
Et ensuite
- Le script — le snippet de base et
window.takt. - Vie privée — pourquoi tout reste sans cookie, même en first-party.