> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanova.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Questions fréquentes

> Les réponses aux questions les plus fréquentes sur le suivi des conversions Scanova : installation, attribution, événements, confidentialité et rapports.

## Généralités

### Ai-je besoin des événements navigateur et serveur à la fois ?

Non — chacun fonctionne seul. Les événements navigateur ne demandent aucun travail côté backend et constituent la façon la plus rapide de démarrer. Les événements serveur exigent une clé d'API et du code sur votre backend, mais ils sont plus fiables (les bloqueurs de publicité ne les atteignent pas) et permettent de remonter des montants et des conversions côté serveur.

La plupart des installations utilisent les deux : le SDK navigateur pour les données d'engagement, les événements serveur pour les conversions confirmées.

### Puis-je mesurer des conversions sans scan de QR Code ?

Non. Le SDK navigateur exige un `scan_session_id` pour envoyer le moindre événement : si une personne arrive sur votre site sans scanner de QR Code, le SDK constate l'absence de session et n'envoie rien. L'API des événements serveur impose elle aussi `scan_session_id` comme champ obligatoire.

Le suivi des conversions de Scanova est conçu pour la mesure rattachée aux scans de QR Codes. Il ne tient pas lieu d'outil d'analyse web générique.

***

## SDK navigateur

### Quels navigateurs le SDK prend-il en charge ?

Le SDK fonctionne sur tous les navigateurs modernes : Chrome, Firefox, Safari, Edge et leurs versions mobiles. Il n'exige rien de plus que `XMLHttpRequest` ou `fetch` et `localStorage`.

### Les bloqueurs de publicité peuvent-ils bloquer le SDK ?

Oui — les événements navigateur envoyés depuis `t.scanova.io` peuvent être bloqués par les bloqueurs de publicité axés sur la confidentialité et par certaines extensions. Pour les conversions critiques (achats, inscriptions), utilisez les [événements côté serveur](/fr/conversion-tracking/server/send-events), qui ne peuvent pas être bloqués.

### Le SDK ralentit-il ma page ?

Le SDK se charge de façon asynchrone (attribut `async`) et ne bloque pas l'affichage de la page. Le script pèse environ 10 Ko, minifié et compressé. Les événements partent en arrière-plan une fois la page chargée.

### Puis-je utiliser le SDK sur plusieurs pages ?

Oui — installez le script dans le modèle global `<head>` de votre site et il s'exécutera sur chaque page. Le `scan_session_id` est conservé d'une page à l'autre grâce à `localStorage`, si bien que tout le parcours est rattaché au scan d'origine.

### Que se passe-t-il si une personne arrive sans scanner de QR Code ?

Aucun événement n'est envoyé. Le SDK navigateur vérifie la présence d'un `scan_session_id` avant tout envoi. S'il n'y en a pas (la personne est venue directement, sans scan), le SDK ignore complètement l'événement. Rien n'est enregistré pour cette visite.

### Combien de temps dure l'attribution d'un scan ?

60 jours. Si une personne scanne un QR Code puis revient sur votre site dans les 60 jours, ses visites restent rattachées à ce scan. Passé ce délai, l'entrée `_scnv` de localStorage expire et l'attribution est perdue.

***

## Événements côté serveur

### Comment récupérer le scan\_session\_id sur mon serveur ?

Transmettez-le du navigateur à votre serveur. Les approches courantes :

* Le placer dans un champ de formulaire masqué
* L'envoyer dans le corps de la requête lorsque votre frontend appelle votre API
* Le lire dans le paramètre d'URL au chargement de la page et le conserver dans la session serveur du visiteur

Voir [Envoyer des événements serveur](/fr/conversion-tracking/server/send-events#passing-scan_session_id-from-browser-to-server) pour des exemples de code.

### Puis-je envoyer des événements par lot ?

Oui. Utilisez `POST /server-events/batch` avec jusqu'à 100 événements par requête. C'est l'approche recommandée pour les backends à fort volume et les architectures à files d'attente.

### Que se passe-t-il si je relance une requête en échec ?

Si vous renvoyez le même `event_id`, le doublon est marqué comme tel et exclu des totaux de conversions. Utilisez toujours le même `event_id` d'une relance à l'autre. Voir [Idempotence et relances](/fr/conversion-tracking/server/idempotency-retries).

### Puis-je envoyer des événements datés du passé ?

Oui — utilisez le champ `event_time` pour indiquer le moment où l'événement s'est produit. C'est utile lorsque vous envoyez les événements de façon asynchrone depuis une file. Le champ accepte le format ISO 8601 en UTC.

***

## Confidentialité et données

### Dois-je envoyer les adresses e-mail en clair ?

Non. N'incluez jamais d'adresse e-mail en clair dans `metadata` ni dans `properties`. Utilisez `user_identifiers.email_hash` avec un hachage SHA-256 de l'adresse en minuscules.

### À quoi sert le champ `consent` ?

Le champ `consent` transmet à la chaîne de traitement le signal de consentement RGPD du visiteur :

* `granted` — tous les champs sont stockés normalement
* `denied` ou `pending` — les champs personnels (`page_url`, `referrer`, `city`, `metadata`) sont retirés avant le stockage

La valeur de `consent` elle-même est toujours conservée, à titre de trace.

### Combien de temps les données sont-elles conservées ?

Les événements sont conservés 2 ans par défaut. Les enregistrements orphelins — ceux dont la session de scan ne peut pas être résolue — sont supprimés automatiquement au bout de 24 heures.

***

## Tableau de bord et rapports

### Au bout de combien de temps les événements apparaissent-ils dans les rapports ?

En général en 10 à 30 secondes en charge normale. Des délais de quelques minutes peuvent survenir lors des pics de trafic.

### Comment mettre en pause le suivi d'un site ?

Ouvrez **Analyses → Suivi des conversions → Configurer le suivi des conversions**, sélectionnez **Configuration du suivi** sur le site et utilisez l'interrupteur **Site Status** de l'onglet **Intégrer le script**. Lorsqu'un site est en pause, ses événements renvoient `400`.

### Qu'est-ce qu'un événement orphelin et quand est-il supprimé ?

Un événement orphelin est un événement dont le `scan_session_id` est présent mais ne peut pas encore être résolu vers un QR Code : cela se produit lorsqu'un événement arrive avant que la chaîne d'identité n'ait relié la session à un enregistrement de QR Code. Les événements orphelins sont supprimés automatiquement au bout de 24 heures si les données de session n'arrivent jamais. Si elles arrivent à temps, l'orphelin est complété et conservé pendant la période habituelle de 2 ans.
