Cycle de vie d’un événement
File locale
- Stockée dans IndexedDB (
analytics_sdk_queue), ou dans lelocalStorage(analytics_event_queue) si IndexedDB n’est pas disponible. - 1 000 événements au maximum.
track(),identify()etpage()se résolvent dès l’écriture dans la file : l’interface n’attend jamais le réseau.
Envoi par lots
Un lot part dès que l’une de ces conditions est remplie :
Les requêtes utilisent
fetch avec keepalive: true, pour qu’un lot envoyé à la
fermeture de la page puisse aboutir.
Nouvelles tentatives
Dédoublonnage
Chaque événement a uneventId fixé à sa création et jamais régénéré. Si un lot
est renvoyé après une erreur réseau alors que le serveur l’avait déjà reçu, l’API
reconnaît les eventId et n’enregistre pas de doublon.
Limites
Tester le mode hors ligne
1
Couper le réseau
Outils de développement → Network → Offline.
2
Naviguer
Changez de page, cliquez. Les événements s’accumulent dans IndexedDB
(onglet Application → IndexedDB →
analytics_sdk_queue).3
Rétablir le réseau
Repassez en No throttling. Les événements partent au prochain envoi.

