# Configurer reCAPTCHA sur vos formulaires

## Pourquoi c'est important

Les formulaires publics attirent des robots qui soumettent de fausses inscriptions ou des inscriptions indésirables. Ces fausses adresses nuisent à la qualité de votre liste, à votre délivrabilité et à vos rapports. Ajouter une protection **reCAPTCHA v3** garde votre liste propre en filtrant discrètement les soumissions automatisées, sans obliger vos vrais abonnés à résoudre une énigme.

reCAPTCHA sur vos formulaires utilise **vos propres clés Google reCAPTCHA**, vous les créerez donc d'abord dans Google, puis vous les collerez dans les paramètres de votre formulaire.

## Avant de commencer

- Vous avez besoin d'un compte Google.
- Le formulaire utilise **reCAPTCHA v3** (et non v2). Assurez-vous de créer un site **v3** dans Google, sinon les clés ne fonctionneront pas.
- Ayez le domaine de votre site web à portée de main (le domaine où le formulaire sera intégré).

<Callout type="caution" title="reCAPTCHA exige que le formulaire soit sur votre propre domaine">
reCAPTCHA ne valide que si le formulaire s'exécute sur un domaine que vous avez **enregistré dans Google**. Ajoutez-le à un formulaire que vous **intégrez sur votre propre site web** (Static HTML Code ou Dynamic Embed Snippet), et enregistrez ce domaine dans la console Google. Le **Self-Hosted Link** est servi sur le domaine de la plateforme, pas le vôtre : vos clés reCAPTCHA ne peuvent donc pas valider dessus. Utilisez le Self-Hosted Link pour tester ou partager rapidement, et intégrez le formulaire sur votre site pour une inscription protégée par reCAPTCHA.
</Callout>

## Créer vos clés reCAPTCHA dans Google

<Stepper>

1. Accédez à la console d'administration Google reCAPTCHA et enregistrez un nouveau site.

2. Choisissez **reCAPTCHA v3** comme type.

3. Ajoutez le ou les domaines où votre formulaire apparaîtra.

4. Validez. Google vous fournit deux clés : une **clé de site** et une **clé secrète**. Gardez cette page ouverte, vous copierez les deux à l'étape suivante.

</Stepper>

## Ajouter vos clés au formulaire

<Stepper>

1. Dans le menu de gauche, accédez à **Acquisition d'audience ▸ Formulaires** et ouvrez votre formulaire.

2. Dans le panneau des paramètres du formulaire, développez **Recaptcha (recommandé)**.

3. Collez votre **clé de site** dans le champ **Site Key** et votre **clé secrète** dans le champ **Secret**.

4. **Publiez** le formulaire. reCAPTCHA reste **inactif** tant que le formulaire n'est pas publié avec des clés valides.

</Stepper>

## Erreur « Recaptcha error » lors de la soumission d'un formulaire

Le problème reCAPTCHA le plus fréquent est une soumission rejetée avec une réponse comme celle-ci :

```json
{"detail":[{"msg":"Recaptcha error","type":"bad_request","code":2064}]}
```

Cela signifie que la soumission a atteint le serveur, mais que sa vérification reCAPTCHA a échoué : le contact n'est **pas** ajouté à votre liste. Voici les causes fréquentes et comment corriger chacune.

**La soumission ne contenait pas de jeton reCAPTCHA valide**

C'est la cause habituelle. Seul un vrai chargement de page du formulaire publié génère un jeton reCAPTCHA. Vous obtenez l'erreur si vous :

- ouvrez la **Submission URL** (ou l'endpoint `form_submission` brut) directement dans un navigateur pour la « tester », ou
- envoyez une requête à cet endpoint depuis une intégration personnalisée sans avoir d'abord généré un jeton reCAPTCHA v3.

Solution : soumettez plutôt via le **formulaire publié** (le **Self-Hosted Link**, le **Dynamic Embed Snippet** ou le **Static HTML Code** sur votre domaine enregistré). Pour une intégration personnalisée, générez un jeton reCAPTCHA v3 sur la page et envoyez-le avec la soumission.

**Le domaine n'est pas enregistré dans Google**

Si la page qui héberge le formulaire ne figure pas sur votre site reCAPTCHA v3, Google n'émettra pas de jeton qui passe la vérification.

Solution : dans la console Google reCAPTCHA, ajoutez le domaine exact (et tout sous-domaine) où le formulaire s'exécute. Si vous avez déplacé le formulaire vers un nouveau domaine, ajoutez-le aussi. Notez que le **Self-Hosted Link** s'exécute sur le domaine de la plateforme, pas le vôtre : vos clés n'y correspondront jamais ; intégrez plutôt le formulaire sur votre propre site.

**Le script reCAPTCHA ne s'est pas chargé**

Les bloqueurs de publicités, les extensions de confidentialité, une Content-Security-Policy stricte ou une simple connexion hors ligne peuvent bloquer le script de Google, de sorte qu'aucun jeton n'est généré.

Solution : testez dans un navigateur propre avec les extensions désactivées, et autorisez le script Google reCAPTCHA dans la Content-Security-Policy de votre site.

**Le jeton a expiré ou a été réutilisé**

Les jetons reCAPTCHA v3 sont à usage unique et de courte durée. Une page en cache, une soumission très lente ou un double envoi peuvent transmettre un jeton périmé.

Solution : rechargez le formulaire et soumettez-le à nouveau immédiatement.

**Les clés sont incorrectes ou ne correspondent pas**

Des clés v2 sur un formulaire v3, la **Site Key** et le **Secret** inversés, ou des clés copiées depuis un autre site reCAPTCHA échoueront toutes à la vérification.

Solution : utilisez des clés **v3**, recopiez-les depuis la console Google (un caractère manquant ou en trop les casse), et vérifiez que chaque clé est dans le bon champ.

## Autres points à vérifier

**reCAPTCHA affiche toujours « inactif »**

- Assurez-vous d'avoir cliqué sur **Publier** après avoir saisi les clés. Les modifications ne prennent effet qu'une fois le formulaire publié.
- Vérifiez que les champs **Site Key** et **Secret** sont bien remplis.

**Le formulaire fonctionne en aperçu mais pas sur votre site web**

- Dans la console Google reCAPTCHA, vérifiez que le **domaine** où le formulaire est intégré figure bien dans la liste de ce site.

**Des robots passent encore au travers**

- reCAPTCHA v3 attribue un score au trafic plutôt que de le bloquer purement et simplement. Associez-le au **double opt-in** sur votre formulaire pour une protection renforcée.

Si la soumission échoue toujours après toutes ces vérifications, contactez notre équipe d'assistance avec le message d'erreur exact et le domaine où le formulaire s'exécute.

## Articles connexes

- [Créer un formulaire](/fr/docs/audience-building/working-with-forms) - Construire et publier le formulaire
- [Configurer les emails d'opt-in](/fr/docs/audience-building/configuring-opt-in-emails) - Ajouter la confirmation en double opt-in
- [Créer et gérer une liste de contacts](/fr/docs/audience/managing-contact-lists) - Où vont les soumissions
