Corrigez les problèmes courants du suivi des conversions : aucun événement, erreurs CORS, 403 de domaine, attribution manquante et événements en double.
Le script est au mauvais endroit — il doit se trouver dans <head>, pas dans <body> ni après </html>
Le site_id manque — vérifiez que scanova('init', 'YOUR_SITE_ID', ...) contient un véritable identifiant de site et non un texte d’exemple
La Content Security Policy (CSP) bloque le script — ajoutez https://cdn.scanova.io (script source) et https://t.scanova.io (connect source) à vos en-têtes CSP
Une extension du navigateur bloque la requête — testez dans une fenêtre de navigation privée, toutes extensions désactivées
autoPageview: false et aucun appel manuel — activez autoPageview ou ajoutez scanova('track', 'pageview')
Le SDK est chargé deux fois — une installation directe dans le HTML doublée d’une installation GTM sur la même page pose problème. Supprimez-en une.
L’origine de votre requête ne figure pas dans la liste Allowed Domains du site de suivi.
Allez dans Analyses → Suivi des conversions
Cliquez sur votre site de suivi → Edit
Ajoutez exactement le nom d’hôte affiché dans la barre d’adresse de votre navigateur (par exemple yoursite.com ou www.yoursite.com)
Enregistrez
www.yoursite.com et yoursite.com sont considérés comme deux domaines distincts. Ajoutez les deux si vous utilisez les deux.
La liste d’autorisation est comparée à l’en-tête Origin de la requête (à défaut, à Referer). Reproduire un événement navigateur avec curl ou depuis un serveur renvoie donc 403 Domain not allowed for this site même si le domaine est autorisé, car aucun de ces deux en-têtes n’est envoyé. Ajoutez -H "Origin: https://yoursite.com" lorsque vous reproduisez un événement navigateur à la main.
Vous avez à la fois autoPageview: true dans vos options d’init et un appel manuel à scanova('track', 'page_view', ...) quelque part dans votre code. Cela produit deux événements distincts. Supprimez-en un — voir Événements suivis automatiquement.
Si aucune requête vers /ct n’apparaît pour une visite, la cause la plus probable est que la personne est arrivée sans scanner de QR Code : l’URL ne contient pas de paramètre ?scnv=. Le SDK vérifie la présence d’un scan_session_id avant d’envoyer le moindre événement et n’envoie rien, sans message, s’il est absent.Le suivi des conversions de Scanova ne mesure que le trafic issu d’un scan de QR Code. Les visites directes ou organiques ne produisent aucun événement — c’est voulu.Pour tester l’attribution, ouvrez votre page avec un paramètre ?scnv= afin de simuler un scan :
Les événements arrivent mais ne sont rattachés à aucun QR Code
Le scan_session_id envoyé n’a pas pu être relié à un scan dans la base Scanova. Cela arrive lorsque :
Le scan_session_id était inventé ou invalide
La personne n’a pas scanné de QR Code — elle est arrivée directement
La session de scan a expiré
Vérifiez que vous lisez bien le scan_session_id dans le navigateur (via localStorage._scnv, une clé de stockage interne au SDK) et que vous le transmettez correctement à votre serveur. Voir Envoyer des événements serveur for examples.
Il s’agit d’un enregistrement orphelin : l’événement est arrivé avant que les données de la session de scan ne soient entièrement propagées dans la base Scanova. Ces enregistrements sont supprimés automatiquement au bout de 24 heures si les données de session n’arrivent jamais, ou complétés dès qu’elles arrivent.Si vous voyez beaucoup d’enregistrements orphelins, vérifiez que :
Le scan_session_id de vos événements correspond à une vraie session de scan (et non à un UUID de test)
Vos QR Codes sont correctement reliés au site de suivi dans le tableau de bord
Les conversions apparaissent sur le mauvais QR Code
Votre scan_session_id n’est pas lu correctement — vous récupérez peut-être une valeur périmée ou erronée dans localStorage. Vérifiez que votre frontend lit localStorage.getItem('_scnv') (la clé de stockage interne au SDK) et en extrait .sid depuis la valeur JSON. Voir Envoyer des événements serveur for the full pattern.
Événements navigateur : 100 requêtes par minute et par adresse IP
Événements serveur : 1 000 requêtes par minute et par clé d’API
Pour les événements serveur, passez au point de terminaison de lot (POST /server-events/batch) afin d’envoyer jusqu’à 100 événements par requête et de diviser votre débit de requêtes par 100 au maximum.Pour les événements navigateur, un 429 en usage normal est rare. Si vous en voyez pendant des tests de charge, espacez vos requêtes.
Cette page vous a-t-elle été utile ?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Scanova API Documentation","colors":{"primary":"#6938ef","light":"#6938ef","dark":"#6938ef"},"logo":{"light":"https://mintcdn.com/scanova-api/89jUfOeAiT0p2JGx/images/PrimaryColor-Full.svg?fit=max\u0026auto=format\u0026n=89jUfOeAiT0p2JGx\u0026q=85\u0026s=edc08604efcf06d6dd5d00e9e2c50f20","dark":"https://mintcdn.com/scanova-api/89jUfOeAiT0p2JGx/images/WhiteColor-Full2.svg?fit=max\u0026auto=format\u0026n=89jUfOeAiT0p2JGx\u0026q=85\u0026s=84e81cd9168db3d3ca3949b427e2d6c6"},"favicon":{"light":"https://mintcdn.com/scanova-api/aXUnnYg-8s3nt2o_/images/favicon-64x64.png?fit=max\u0026auto=format\u0026n=aXUnnYg-8s3nt2o_\u0026q=85\u0026s=b59720ad14aa6f2f474ea4380bf15d23","dark":"https://mintcdn.com/scanova-api/aXUnnYg-8s3nt2o_/images/favicon-64x64.png?fit=max\u0026auto=format\u0026n=aXUnnYg-8s3nt2o_\u0026q=85\u0026s=b59720ad14aa6f2f474ea4380bf15d23"},"background":{"color":{"dark":"#05060f"}},"navbar":{"links":[{"href":"https://scanova.io/contact-support/","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.scanova.io"}},"footer":{"socials":{"website":"https://scanova.io","youtube":"https://www.youtube.com/channel/UCHSrteaenPuxL0WjLFmhaEA/featured","x":"https://twitter.com/scanovatech","linkedin":"https://www.linkedin.com/products/scanova-qr-code-generator"}},"integrations":{"ga4":{"measurementId":"G-GWMY0DDJWB"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{},"languages":[{"language":"en","default":true,"href":"getting-started/what-is-scanova"},{"language":"de","href":"de/getting-started/what-is-scanova"},{"language":"es","href":"es/getting-started/what-is-scanova"},{"language":"fr","href":"fr/getting-started/what-is-scanova"},{"language":"zh","href":"zh/getting-started/what-is-scanova"},{"language":"ar","href":"ar/getting-started/what-is-scanova"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"scanova-api","hasAudioNarration":false,"actualSubdomain":"scanova-api","customDomains":["docs.scanova.io"],"gitSource":{"type":"github","owner":"trycon","repo":"qcg-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeae5422d1fe1dfc0da7326","collectionId":"be1f7f57-9002-4484-8744-623fd9e88bd2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeae5422d1fe1dfc0da7326"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{},"buildId":"6aeae5422d1fe1dfc0da7326","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"en","tag":"API Reference","count":271},{"language":"de","tag":"API-Referenz","count":197},{"language":"es","tag":"Referencia de API","count":197},{"language":"fr","tag":"Référence API","count":197},{"language":"ar","tag":"مرجع واجهة البرمجة","count":189},{"language":"zh","tag":"API 参考","count":189},{"language":"en","tag":"Guides","count":115},{"language":"ar","tag":"الأدلة","count":96},{"language":"de","tag":"Anleitungen","count":96},{"language":"es","tag":"Guías","count":96},{"language":"fr","tag":"Guides","count":96},{"language":"zh","tag":"指南","count":93},{"language":"default","tag":"Guides (Legacy)","count":61},{"language":"en","tag":"QR Codes","count":49},{"language":"default","tag":"API reference (Legacy)","count":46},{"language":"en","tag":"Integrations","count":30},{"language":"default","tag":"Category Components","count":30},{"language":"en","tag":"Leads \u0026 Forms","count":28},{"language":"ar","tag":"العملاء المحتملون والنماذج","count":28},{"language":"default","tag":"Categories","count":28},{"language":"de","tag":"Leads \u0026 Formulare","count":28},{"language":"es","tag":"Clientes potenciales y formularios","count":28},{"language":"fr","tag":"Prospects et formulaires","count":28},{"language":"zh","tag":"潜在客户与表单","count":28},{"language":"ar","tag":"Conversion Tracking","count":27},{"language":"default","tag":"Conversion Tracking","count":27},{"language":"de","tag":"Conversion Tracking","count":27},{"language":"es","tag":"Conversion Tracking","count":27},{"language":"fr","tag":"Conversion Tracking","count":27},{"language":"en","tag":"QR Assets","count":26},{"language":"ar","tag":"أصول QR","count":26},{"language":"de","tag":"QR-Assets","count":26},{"language":"es","tag":"Recursos de QR","count":26},{"language":"fr","tag":"Ressources QR","count":26},{"language":"zh","tag":"QR 资源","count":26},{"language":"en","tag":"QR Codes — Create","count":25},{"language":"ar","tag":"رموز QR — إنشاء","count":23},{"language":"de","tag":"QR-Codes — Erstellen","count":23},{"language":"es","tag":"Códigos QR — Crear","count":23},{"language":"fr","tag":"Codes QR — Créer","count":23},{"language":"zh","tag":"二维码 — 创建","count":23},{"language":"en","tag":"QR Codes — Manage","count":18},{"language":"en","tag":"Analytics \u0026 Plans","count":17},{"language":"ar","tag":"التحليلات والخطط","count":17},{"language":"de","tag":"Analysen \u0026 Tarife","count":17},{"language":"es","tag":"Analítica y planes","count":17},{"language":"fr","tag":"Analytique et forfaits","count":17},{"language":"zh","tag":"分析与套餐","count":17},{"language":"en","tag":"Bulk Operations","count":16},{"language":"ar","tag":"العمليات بالجملة","count":16},{"language":"de","tag":"Massenvorgänge","count":16},{"language":"es","tag":"Operaciones en masa","count":16},{"language":"fr","tag":"Opérations en masse","count":16},{"language":"zh","tag":"批量操作","count":16},{"language":"ar","tag":"النطاقات المخصصة","count":14},{"language":"ar","tag":"المستخدمون المشتركون والأدوار","count":14},{"language":"de","tag":"Benutzerdefinierte Domains","count":14},{"language":"de","tag":"Geteilte Nutzer \u0026 Rollen","count":14},{"language":"es","tag":"Dominios personalizados","count":14},{"language":"es","tag":"Usuarios compartidos y roles","count":14},{"language":"fr","tag":"Domaines personnalisés","count":14},{"language":"fr","tag":"Utilisateurs partagés et rôles","count":14},{"language":"zh","tag":"自定义域名","count":14},{"language":"zh","tag":"共享用户与角色","count":14},{"language":"zh","tag":"主题与页面模板","count":14},{"language":"default","tag":"QR Code Management","count":9},{"language":"default","tag":"API Reference","count":8},{"language":"default","tag":"Browser SDK","count":7},{"language":"default","tag":"Folder Management","count":6},{"language":"default","tag":"Form Management","count":6}],"searchSettings":{"maxResults":10,"showContentSnippets":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"fr/conversion-tracking/troubleshooting","slug":"/fr/conversion-tracking/troubleshooting","pageMetadata":{"title":"Dépannage","description":"Corrigez les problèmes courants du suivi des conversions : aucun événement, erreurs CORS, 403 de domaine, attribution manquante et événements en double.","href":"/fr/conversion-tracking/troubleshooting"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Corrigez les problèmes courants du suivi des conversions : aucun événement, erreurs CORS, 403 de domaine, attribution manquante et événements en double.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`problèmes-du-sdk-navigateur`,children:`Problèmes du SDK navigateur`}),`\n`,_jsxs(Heading,{level:`3`,id:`aucune-requête-réseau-vers-/ct-n’apparaît`,children:[`Aucune requête réseau vers `,_jsx(_components.code,{children:`/ct`}),` n’apparaît`]}),`\n`,_jsx(_components.p,{children:`Vérifiez ces points dans cet ordre :`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Le script est au mauvais endroit`}),` — il doit se trouver dans `,_jsx(_components.code,{children:`\u003chead>`}),`, pas dans `,_jsx(_components.code,{children:`\u003cbody>`}),` ni après `,_jsx(_components.code,{children:`\u003c/html>`})]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Le `,_jsx(_components.code,{children:`site_id`}),` manque`]}),` — vérifiez que `,_jsx(_components.code,{children:`scanova('init', 'YOUR_SITE_ID', ...)`}),` contient un véritable identifiant de site et non un texte d’exemple`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`La Content Security Policy (CSP) bloque le script`}),` — ajoutez `,_jsx(_components.code,{children:`https://cdn.scanova.io`}),` (script source) et `,_jsx(_components.code,{children:`https://t.scanova.io`}),` (connect source) à vos en-têtes CSP`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Une extension du navigateur bloque la requête`}),` — testez dans une fenêtre de navigation privée, toutes extensions désactivées`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`autoPageview: false`}),` et aucun appel manuel`]}),` — activez `,_jsx(_components.code,{children:`autoPageview`}),` ou ajoutez `,_jsx(_components.code,{children:`scanova('track', 'pageview')`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Le SDK est chargé deux fois`}),` — une installation directe dans le HTML doublée d’une installation GTM sur la même page pose problème. Supprimez-en une.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`403-domain-not-allowed`,children:_jsx(_components.code,{children:`403 Domain not allowed`})}),`\n`,_jsxs(_components.p,{children:[`L’origine de votre requête ne figure pas dans la liste `,_jsx(_components.strong,{children:`Allowed Domains`}),` du site de suivi.`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Allez dans `,_jsx(_components.strong,{children:`Analyses → Suivi des conversions`})]}),`\n`,_jsxs(_components.li,{children:[`Cliquez sur votre site de suivi → `,_jsx(_components.strong,{children:`Edit`})]}),`\n`,_jsxs(_components.li,{children:[`Ajoutez exactement le nom d’hôte affiché dans la barre d’adresse de votre navigateur (par exemple `,_jsx(_components.code,{children:`yoursite.com`}),` ou `,_jsx(_components.code,{children:`www.yoursite.com`}),`)`]}),`\n`,_jsx(_components.li,{children:`Enregistrez`}),`\n`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`www.yoursite.com`}),` et `,_jsx(_components.code,{children:`yoursite.com`}),` sont considérés comme deux domaines distincts. Ajoutez les deux si vous utilisez les deux.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`La liste d’autorisation est comparée à l’en-tête `,_jsx(_components.code,{children:`Origin`}),` de la requête (à défaut, à `,_jsx(_components.code,{children:`Referer`}),`). Reproduire un événement navigateur avec `,_jsx(_components.code,{children:`curl`}),` ou depuis un serveur renvoie donc `,_jsx(_components.code,{children:`403 Domain not allowed for this site`}),` même si le domaine est autorisé, car aucun de ces deux en-têtes n’est envoyé. Ajoutez `,_jsx(_components.code,{children:`-H \"Origin: https://yoursite.com\"`}),` lorsque vous reproduisez un événement navigateur à la main.`]})}),`\n`,_jsxs(Heading,{level:`3`,id:`400-—-requête-incorrecte`,children:[_jsx(_components.code,{children:`400`}),` — Requête incorrecte`]}),`\n`,_jsxs(_components.p,{children:[`Le `,_jsx(_components.code,{children:`site_id`}),` est invalide ou vide, ou le site a été désactivé dans le tableau de bord. Vérifiez que :`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Vous utilisez le bon `,_jsx(_components.code,{children:`site_id`}),` pour ce site de suivi`]}),`\n`,_jsx(_components.li,{children:`Le site est actif (affiché comme activé dans le tableau de bord)`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`les-événements-apparaissent-dans-les-devtools-mais-pas-dans-le-tableau-de-bord`,children:`Les événements apparaissent dans les DevTools mais pas dans le tableau de bord`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Patientez jusqu’à 60 secondes — le traitement prend un court instant`}),`\n`,_jsx(_components.li,{children:`Assurez-vous de consulter le bon site de suivi dans le tableau de bord`}),`\n`,_jsxs(_components.li,{children:[`Vérifiez que le `,_jsx(_components.code,{children:`site_id`}),` du contenu de la requête correspond au site que vous consultez`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`deux-événements-par-chargement-de-page`,children:`Deux événements par chargement de page`}),`\n`,_jsxs(_components.p,{children:[`Vous avez à la fois `,_jsx(_components.code,{children:`autoPageview: true`}),` dans vos options d’init et un appel manuel à `,_jsx(_components.code,{children:`scanova('track', 'page_view', ...)`}),` quelque part dans votre code. Cela produit deux événements distincts. Supprimez-en un — voir `,_jsx(_components.a,{href:`/fr/conversion-tracking/browser/auto-tracking#page-view`,children:`Événements suivis automatiquement`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`aucun-événement-pour-une-visite-donnée`,children:`Aucun événement pour une visite donnée`}),`\n`,_jsxs(_components.p,{children:[`Si aucune requête vers `,_jsx(_components.code,{children:`/ct`}),` n’apparaît pour une visite, la cause la plus probable est que la personne est arrivée sans scanner de QR Code : l’URL ne contient pas de paramètre `,_jsx(_components.code,{children:`?scnv=`}),`. Le SDK vérifie la présence d’un `,_jsx(_components.code,{children:`scan_session_id`}),` avant d’envoyer le moindre événement et n’envoie rien, sans message, s’il est absent.`]}),`\n`,_jsx(_components.p,{children:`Le suivi des conversions de Scanova ne mesure que le trafic issu d’un scan de QR Code. Les visites directes ou organiques ne produisent aucun événement — c’est voulu.`}),`\n`,_jsxs(_components.p,{children:[`Pour tester l’attribution, ouvrez votre page avec un paramètre `,_jsx(_components.code,{children:`?scnv=`}),` afin de simuler un scan :`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://yoursite.com/?scnv=00000000-0000-0000-0000-000000000001`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`problèmes-des-événements-serveur`,children:`Problèmes des événements serveur`}),`\n`,_jsxs(Heading,{level:`3`,id:`401-—-clé-d’api-manquante`,children:[_jsx(_components.code,{children:`401`}),` — Clé d’API manquante`]}),`\n`,_jsxs(_components.p,{children:[`L’en-tête `,_jsx(_components.code,{children:`X-API-Key`}),` n’est pas présent dans la requête. Voir `,_jsx(_components.a,{href:`/fr/conversion-tracking/api/authentication`,children:`Authentification`}),`.`]}),`\n`,_jsxs(Heading,{level:`3`,id:`403-—-clé-invalide-ou-mauvais-site`,children:[_jsx(_components.code,{children:`403`}),` — Clé invalide ou mauvais site`]}),`\n`,_jsxs(_components.p,{children:[`Soit la clé est invalide ou révoquée, soit le `,_jsx(_components.code,{children:`site_id`}),` de votre requête ne correspond pas au site qui a généré la clé. Vérifiez que :`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Vous recopiez la clé depuis le tableau de bord (les clés ne sont affichées qu’une fois ; si vous l’avez perdue, générez-en une nouvelle)`}),`\n`,_jsxs(_components.li,{children:[`Le `,_jsx(_components.code,{children:`site_id`}),` de votre requête est bien celui affiché dans la liste des sites de suivi des conversions`]}),`\n`,_jsx(_components.li,{children:`La clé n’a pas été révoquée`}),`\n`]}),`\n`,_jsxs(Heading,{level:`3`,id:`422-—-erreur-de-validation`,children:[_jsx(_components.code,{children:`422`}),` — Erreur de validation`]}),`\n`,_jsx(_components.p,{children:`Le corps de la réponse indique précisément quel champ pose problème. Causes fréquentes :`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Cause`}),_jsx(_components.th,{children:`Correction`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`scan_session_id`}),` n’est pas un UUID`]}),_jsx(_components.td,{children:`Ce doit être une chaîne UUID valide`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`event_name`}),` manque`]}),_jsx(_components.td,{children:`Champ obligatoire pour les événements serveur`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`properties`}),` dépasse 10 Ko`]}),_jsx(_components.td,{children:`Réduisez la taille du contenu`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`E-mail en clair dans `,_jsx(_components.code,{children:`properties`})]}),_jsxs(_components.td,{children:[`Hachez-le : `,_jsx(_components.code,{children:`user_identifiers.email_hash`})]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`les-événements-arrivent-mais-ne-sont-rattachés-à-aucun-qr-code`,children:`Les événements arrivent mais ne sont rattachés à aucun QR Code`}),`\n`,_jsxs(_components.p,{children:[`Le `,_jsx(_components.code,{children:`scan_session_id`}),` envoyé n’a pas pu être relié à un scan dans la base Scanova. Cela arrive lorsque :`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Le `,_jsx(_components.code,{children:`scan_session_id`}),` était inventé ou invalide`]}),`\n`,_jsx(_components.li,{children:`La personne n’a pas scanné de QR Code — elle est arrivée directement`}),`\n`,_jsx(_components.li,{children:`La session de scan a expiré`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Vérifiez que vous lisez bien le `,_jsx(_components.code,{children:`scan_session_id`}),` dans le navigateur (via `,_jsx(_components.code,{children:`localStorage._scnv`}),`, une clé de stockage interne au SDK) et que vous le transmettez correctement à votre serveur. Voir `,_jsx(_components.a,{href:`/fr/conversion-tracking/server/send-events#passing-scan_session_id-from-browser-to-server`,children:`Envoyer des événements serveur`}),` for examples.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`problèmes-d’attribution`,children:`Problèmes d’attribution`}),`\n`,_jsxs(Heading,{level:`3`,id:`les-événements-affichent-null-pour-qr_code_id`,children:[`Les événements affichent `,_jsx(_components.code,{children:`null`}),` pour `,_jsx(_components.code,{children:`qr_code_id`})]}),`\n`,_jsxs(_components.p,{children:[`Il s’agit d’un `,_jsx(_components.strong,{children:`enregistrement orphelin`}),` : l’événement est arrivé avant que les données de la session de scan ne soient entièrement propagées dans la base Scanova. Ces enregistrements sont supprimés automatiquement au bout de 24 heures si les données de session n’arrivent jamais, ou complétés dès qu’elles arrivent.`]}),`\n`,_jsx(_components.p,{children:`Si vous voyez beaucoup d’enregistrements orphelins, vérifiez que :`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Le `,_jsx(_components.code,{children:`scan_session_id`}),` de vos événements correspond à une vraie session de scan (et non à un UUID de test)`]}),`\n`,_jsx(_components.li,{children:`Vos QR Codes sont correctement reliés au site de suivi dans le tableau de bord`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`les-conversions-apparaissent-sur-le-mauvais-qr-code`,children:`Les conversions apparaissent sur le mauvais QR Code`}),`\n`,_jsxs(_components.p,{children:[`Votre `,_jsx(_components.code,{children:`scan_session_id`}),` n’est pas lu correctement — vous récupérez peut-être une valeur périmée ou erronée dans `,_jsx(_components.code,{children:`localStorage`}),`. Vérifiez que votre frontend lit `,_jsx(_components.code,{children:`localStorage.getItem('_scnv')`}),` (la clé de stockage interne au SDK) et en extrait `,_jsx(_components.code,{children:`.sid`}),` depuis la valeur JSON. Voir `,_jsx(_components.a,{href:`/fr/conversion-tracking/server/send-events#passing-scan_session_id-from-browser-to-server`,children:`Envoyer des événements serveur`}),` for the full pattern.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`problèmes-de-performance`,children:`Problèmes de performance`}),`\n`,_jsxs(Heading,{level:`3`,id:`429-—-limite-de-débit-dépassée`,children:[_jsx(_components.code,{children:`429`}),` — Limite de débit dépassée`]}),`\n`,_jsx(_components.p,{children:`Vous atteignez la limite de débit :`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Événements navigateur : 100 requêtes par minute et par adresse IP`}),`\n`,_jsx(_components.li,{children:`Événements serveur : 1 000 requêtes par minute et par clé d’API`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Pour les événements serveur, passez au point de terminaison de lot (`,_jsx(_components.code,{children:`POST /server-events/batch`}),`) afin d’envoyer jusqu’à 100 événements par requête et de diviser votre débit de requêtes par 100 au maximum.`]}),`\n`,_jsxs(_components.p,{children:[`Pour les événements navigateur, un `,_jsx(_components.code,{children:`429`}),` en usage normal est rare. Si vous en voyez pendant des tests de charge, espacez vos requêtes.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Dépannage","description":"Corrigez les problèmes courants du suivi des conversions : aucun événement, erreurs CORS, 403 de domaine, attribution manquante et événements en double.","href":"/fr/conversion-tracking/troubleshooting"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Problèmes du SDK navigateur","slug":"problèmes-du-sdk-navigateur","depth":2,"children":[{"title":"Aucune requête réseau vers /ct n’apparaît","slug":"aucune-requête-réseau-vers-/ct-n’apparaît","depth":3,"children":[]},{"title":"403 Domain not allowed","slug":"403-domain-not-allowed","depth":3,"children":[]},{"title":"400 — Requête incorrecte","slug":"400-—-requête-incorrecte","depth":3,"children":[]},{"title":"Les événements apparaissent dans les DevTools mais pas dans le tableau de bord","slug":"les-événements-apparaissent-dans-les-devtools-mais-pas-dans-le-tableau-de-bord","depth":3,"children":[]},{"title":"Deux événements par chargement de page","slug":"deux-événements-par-chargement-de-page","depth":3,"children":[]},{"title":"Aucun événement pour une visite donnée","slug":"aucun-événement-pour-une-visite-donnée","depth":3,"children":[]}]},{"title":"Problèmes des événements serveur","slug":"problèmes-des-événements-serveur","depth":2,"children":[{"title":"401 — Clé d’API manquante","slug":"401-—-clé-d’api-manquante","depth":3,"children":[]},{"title":"403 — Clé invalide ou mauvais site","slug":"403-—-clé-invalide-ou-mauvais-site","depth":3,"children":[]},{"title":"422 — Erreur de validation","slug":"422-—-erreur-de-validation","depth":3,"children":[]},{"title":"Les événements arrivent mais ne sont rattachés à aucun QR Code","slug":"les-événements-arrivent-mais-ne-sont-rattachés-à-aucun-qr-code","depth":3,"children":[]}]},{"title":"Problèmes d’attribution","slug":"problèmes-d’attribution","depth":2,"children":[{"title":"Les événements affichent null pour qr_code_id","slug":"les-événements-affichent-null-pour-qr_code_id","depth":3,"children":[]},{"title":"Les conversions apparaissent sur le mauvais QR Code","slug":"les-conversions-apparaissent-sur-le-mauvais-qr-code","depth":3,"children":[]}]},{"title":"Problèmes de performance","slug":"problèmes-de-performance","depth":2,"children":[{"title":"429 — Limite de débit dépassée","slug":"429-—-limite-de-débit-dépassée","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"scanova-api","siteName":"Scanova API Documentation","title":"Dépannage - Scanova API Documentation","navMaps":{"firstHrefInVersion":{"v2":{"href":"/fr/conversion-tracking/troubleshooting","matchLevel":0},"v1":{"href":"/v1/index","matchLevel":4}},"firstHrefInLanguage":{"en":{"href":"/conversion-tracking/troubleshooting","matchLevel":1},"de":{"href":"/de/conversion-tracking/troubleshooting","matchLevel":1},"es":{"href":"/es/conversion-tracking/troubleshooting","matchLevel":1},"fr":{"href":"/fr/conversion-tracking/troubleshooting","matchLevel":0},"zh":{"href":"/conversion-tracking/troubleshooting","matchLevel":1},"ar":{"href":"/ar/conversion-tracking/troubleshooting","matchLevel":1}}},"lastModified":"2026-09-17T15:36:05.587Z","originalFileLocation":"fr/conversion-tracking/troubleshooting.mdx","locale":"fr"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Corrigez les problèmes courants du suivi des conversions : aucun événement, erreurs CORS, 403 de domaine, attribution manquante et événements en double.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Scanova API Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/scanova-api/kNDlh2zn25UXP5WX/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/scanova-api/kNDlh2zn25UXP5WX/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/scanova-api/kNDlh2zn25UXP5WX/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/scanova-api/kNDlh2zn25UXP5WX/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/scanova-api/kNDlh2zn25UXP5WX/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/scanova-api/kNDlh2zn25UXP5WX/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/scanova-api/kNDlh2zn25UXP5WX/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/scanova-api/kNDlh2zn25UXP5WX/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/scanova-api/kNDlh2zn25UXP5WX/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Dépannage - Scanova API Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Corrigez les problèmes courants du suivi des conversions : aucun événement, erreurs CORS, 403 de domaine, attribution manquante et événements en double.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Scanova API Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.scanova.io/fr/conversion-tracking/troubleshooting\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://scanova-api.mintlify.app/_mintlify/api/og/v2?division=Ressources\u0026amp;title=D%C3%A9pannage\u0026amp;description=Corrigez+les+probl%C3%A8mes+courants+du+suivi+des+conversions+%3A+aucun+%C3%A9v%C3%A9nement%2C+erreurs+CORS%2C+403+de+domaine%2C+attribution+manquante+et+%C3%A9v%C3%A9nements+en+double.\u0026amp;theme=f9ed38a6e1c8b99666344abf\u0026amp;signature=39d23580e3a8f5ab9f537a866ead08d0c87c3a8eef41923ce230d411b0b29377\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Dépannage - Scanova API Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Corrigez les problèmes courants du suivi des conversions : aucun événement, erreurs CORS, 403 de domaine, attribution manquante et événements en double.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://scanova-api.mintlify.app/_mintlify/api/og/v2?division=Ressources\u0026amp;title=D%C3%A9pannage\u0026amp;description=Corrigez+les+probl%C3%A8mes+courants+du+suivi+des+conversions+%3A+aucun+%C3%A9v%C3%A9nement%2C+erreurs+CORS%2C+403+de+domaine%2C+attribution+manquante+et+%C3%A9v%C3%A9nements+en+double.\u0026amp;theme=f9ed38a6e1c8b99666344abf\u0026amp;signature=39d23580e3a8f5ab9f537a866ead08d0c87c3a8eef41923ce230d411b0b29377\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/scanova-api/kNDlh2zn25UXP5WX/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Scanova API Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6938ef\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.scanova.io/fr/conversion-tracking/troubleshooting\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/fr/conversion-tracking/troubleshooting.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.scanova.io/fr/conversion-tracking/troubleshooting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.scanova.io/conversion-tracking/troubleshooting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://docs.scanova.io/de/conversion-tracking/troubleshooting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.scanova.io/es/conversion-tracking/troubleshooting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.scanova.io/conversion-tracking/troubleshooting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://docs.scanova.io/ar/conversion-tracking/troubleshooting\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.scanova.io/conversion-tracking/troubleshooting\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.scanova.io/#organization\",\"name\":\"Scanova API Documentation\",\"url\":\"https://docs.scanova.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/scanova-api/89jUfOeAiT0p2JGx/images/PrimaryColor-Full.svg?fit=max\u0026auto=format\u0026n=89jUfOeAiT0p2JGx\u0026q=85\u0026s=edc08604efcf06d6dd5d00e9e2c50f20\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.scanova.io#website\",\"name\":\"Scanova API Documentation\",\"url\":\"https://docs.scanova.io\",\"publisher\":{\"@id\":\"https://docs.scanova.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.scanova.io/fr/conversion-tracking/troubleshooting#webpage\",\"url\":\"https://docs.scanova.io/fr/conversion-tracking/troubleshooting\",\"name\":\"Dépannage\",\"description\":\"Corrigez les problèmes courants du suivi des conversions : aucun événement, erreurs CORS, 403 de domaine, attribution manquante et événements en double.\",\"dateModified\":\"2026-09-17T15:36:05.587Z\",\"isPartOf\":{\"@id\":\"https://docs.scanova.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.scanova.io/fr/conversion-tracking/troubleshooting#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.scanova.io/fr/conversion-tracking/troubleshooting#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Scanova API Documentation\",\"item\":\"https://docs.scanova.io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dépannage\",\"item\":\"https://docs.scanova.io/fr/conversion-tracking/troubleshooting\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.scanova.io/fr/conversion-tracking/troubleshooting#article\",\"headline\":\"Dépannage\",\"name\":\"Dépannage\",\"description\":\"Corrigez les problèmes courants du suivi des conversions : aucun événement, erreurs CORS, 403 de domaine, attribution manquante et événements en double.\",\"url\":\"https://docs.scanova.io/fr/conversion-tracking/troubleshooting\",\"mainEntityOfPage\":{\"@id\":\"https://docs.scanova.io/fr/conversion-tracking/troubleshooting#webpage\"},\"dateModified\":\"2026-09-17T15:36:05.587Z\",\"publisher\":{\"@id\":\"https://docs.scanova.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.scanova.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Scanova API Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Scanova API Documentation","nav":{"global":{},"languages":[{"language":"en","default":true,"pages":[{"title":"en","href":"/conversion-tracking/troubleshooting"}]},{"language":"de","pages":[{"title":"de","href":"/de/conversion-tracking/troubleshooting"}]},{"language":"es","pages":[{"title":"es","href":"/es/conversion-tracking/troubleshooting"}]},{"language":"fr","versions":[{"version":"v2","default":true,"tag":"Latest","tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/fr/getting-started/what-is-scanova"}]},{"tab":"Référence API","pages":[{"title":"Référence API","href":"/fr/api-reference/getting-started/introduction"}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/fr/mcp/overview"}]},{"tab":"Conversion Tracking","groups":[{"group":"Vue d'ensemble","pages":[{"title":"Qu'est-ce que le suivi des conversions ?","href":"/fr/conversion-tracking/introduction"},{"title":"Le fonctionnement du suivi des conversions","href":"/fr/conversion-tracking/how-it-works"},{"title":"Démarrage rapide — en ligne en 5 étapes","href":"/fr/conversion-tracking/setup-guide"},{"title":"Référence du modèle d'événements","href":"/fr/conversion-tracking/event-model"}]},{"group":"SDK navigateur","pages":[{"title":"Présentation du SDK navigateur","href":"/fr/conversion-tracking/browser/overview"},{"title":"Installer le SDK navigateur","href":"/fr/conversion-tracking/browser/install"},{"title":"Référence de configuration du SDK","href":"/fr/conversion-tracking/browser/sdk-configuration"},{"title":"Événements suivis automatiquement","href":"/fr/conversion-tracking/browser/auto-tracking"},{"title":"Événements personnalisés","href":"/fr/conversion-tracking/browser/custom-events"},{"title":"Configuration SPA et frameworks","href":"/fr/conversion-tracking/browser/spa-frameworks"},{"title":"Vérifier et déboguer le SDK navigateur","href":"/fr/conversion-tracking/browser/verify"}]},{"group":"Côté serveur","pages":[{"title":"Les événements serveur en bref","href":"/fr/conversion-tracking/server/overview"},{"title":"Générer une clé d'API","href":"/fr/conversion-tracking/server/generate-api-key-dashboard"},{"title":"Envoyer des événements serveur","href":"/fr/conversion-tracking/server/send-events"},{"title":"Idempotence et relances","href":"/fr/conversion-tracking/server/idempotency-retries"},{"title":"Vérifier et déboguer les événements serveur","href":"/fr/conversion-tracking/server/verify"}]},{"group":"Référence API","pages":[{"title":"Authentification de l'API","href":"/fr/conversion-tracking/api/authentication"},{"title":"API des événements navigateur — POST /ct","href":"/fr/conversion-tracking/api/browser-events"},{"title":"API des événements serveur — POST /server-events","openapi":"POST /server-events","href":"/fr/conversion-tracking/api/events-collect"},{"title":"API des événements serveur par lot — POST /server-events/batch","openapi":"POST /server-events/batch","href":"/fr/conversion-tracking/api/events-batch"},{"title":"Erreurs et limites de débit","href":"/fr/conversion-tracking/api/errors-rate-limits"},{"title":"Analyse des conversions","openapi":"POST /analytics/ct/","href":"/fr/conversion-tracking/api/ct-analytics"},{"title":"Exporter l'analyse des conversions","openapi":"POST /analytics/ct/export/","href":"/fr/conversion-tracking/api/ct-export"},{"title":"Exporter les événements de conversion bruts","openapi":"POST /analytics/ct/raw/","description":"Exportez les événements de conversion ligne à ligne aux formats CSV, XLS ou XLSX, avec des filtres par QR Code, catégorie, utilisateur ou plage de dates.","href":"/fr/conversion-tracking/api/ct-raw"}]},{"group":"Ressources","pages":[{"title":"Dépannage","href":"/fr/conversion-tracking/troubleshooting"},{"title":"Questions fréquentes","description":"Les réponses aux questions les plus fréquentes sur le suivi des conversions Scanova : installation, attribution, événements, confidentialité et rapports.","href":"/fr/conversion-tracking/faq"},{"title":"Journal des modifications","href":"/fr/conversion-tracking/changelog"}]}]}]},{"version":"v1","tag":"Legacy","pages":[{"title":"v1","href":"/v1"}]}]},{"language":"zh","pages":[{"title":"zh","href":"/conversion-tracking/troubleshooting"}]},{"language":"ar","pages":[{"title":"ar","href":"/ar/conversion-tracking/troubleshooting"}]}]},"basePath":"","title":"Dépannage - Scanova API Documentation","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}