Anwendungsbereich: Dieser Leitfaden bezieht sich ausschließlich auf Ihre eigenen oder ausdrücklich autorisierten Anwendungen – auf QA-, Staging- und Produktionsumgebungen, die Sie selbst betreiben. Es geht darum, die reCAPTCHA-v3-Integration Ihrer App zu diagnostizieren und zu verbessern, nicht darum, fremde Websites oder die Bot-Erkennung Dritter zu beeinflussen.
Ein hoher reCAPTCHA-v3-Score lässt sich nicht direkt einstellen – Google vergibt ihn, nicht Sie. Steuern können Sie alles, was davor passiert: wie sauber die Integration in Ihrer App eingebunden ist, wie konsistent die Sitzungen echter Nutzer verlaufen und wie eindeutig jede Aktion benannt ist. Genau diese Faktoren entscheiden darüber, ob legitime Nutzer verlässlich über 0,7 landen oder unnötig in zusätzliche Hürden geraten. Dieser Leitfaden zeigt die UX- und Architekturmuster, die in Ihrer eigenen Anwendung den Unterschied machen.
Was der v3-Score tatsächlich misst
reCAPTCHA v3 liefert für jede Anfrage einen Wert zwischen 0,0 und 1,0. Ein Wert nahe 1,0 steht für klare Signale legitimer Nutzung, ein Wert nahe 0,0 für verdächtiges Verhalten. Anders als v2 zeigt v3 weder eine Checkbox noch ein Bild-Raster: Es läuft unsichtbar im Hintergrund und bewertet den Kontext einer ganzen Sitzung.
Wichtig ist, dass der Score keine fertige Ja/Nein-Entscheidung ist. Ihre Anwendung bekommt den Rohwert und legt selbst fest, ab welcher Schwelle sie eine Aktion durchwinkt, zusätzlich absichert oder blockiert. Genau hier liegt der größte Hebel – und die häufigste Fehlkonfiguration.
Warum echte Nutzer trotzdem niedrige Scores bekommen
Niedrige Scores sind selten ein Google-Problem. Meist liegt die Ursache in der eigenen Integration:
- Für alle Funktionen wird ein einziger, generischer
action-Name verwendet, sodass sich Login, Registrierung und Checkout nicht mehr auseinanderhalten lassen. - Die Schwelle ist pauschal auf einen sehr hohen Wert gesetzt, sodass auch normale Nutzer abgewiesen werden.
- Sitzungen werden zu früh beendet, und wiederkehrende Nutzer erscheinen bei jedem Besuch als „neu".
- Der Token wird im Frontend zwischengespeichert und verspätet eingelöst – dabei ist ein v3-Token nur rund 120 Sekunden gültig.
Wer diese vier Muster ausräumt, gewinnt bei echten Nutzern in der Regel mehr als durch jede clientseitige Feinjustierung.
UX-Muster, die legitime Scores stützen
Die Signale, die v3 als „menschlich" wertet, entstehen aus einer ruhigen, vorhersehbaren Nutzerführung:
- Klare, geführte Formulare: Gut beschriftete Felder, sinnvolle Validierung und keine versteckten oder doppelten Submit-Pfade.
- Konsistente Locale-Signale: Setzen Sie das
lang-Attribut sauber pro Sprache, statt es je nach Seite wechseln zu lassen. - Realistische Interaktionsdauer: Verzichten Sie auf sofortige Auto-Submits direkt nach dem Laden – geben Sie der Seite Zeit, sich normal zu verhalten.
- Stabile Sitzungen: Lassen Sie wiederkehrende Nutzer angemeldet bleiben, statt sie unnötig erneut durch den Login zu schicken.
- Frische Tokens: Führen Sie
grecaptcha.executeerst unmittelbar vor dem Absenden aus, damit der Token nicht abläuft.
Eindeutige Action-Namen pro Funktion
v3 erlaubt pro Aufruf einen action-Namen, der je Funktion eindeutig sein sollte. Das ist nicht nur Kosmetik: Nur mit sauberen Action-Namen können Sie Score-Verteilungen pro Vorgang auswerten und Schwellen gezielt setzen.
grecaptcha.ready(() => {
grecaptcha.execute('YOUR_SITE_KEY', { action: 'checkout' })
.then((token) => {
document.querySelector('[name="g-recaptcha-response"]').value = token;
});
});
Vergeben Sie sprechende Namen wie login, signup oder checkout – ein Name pro Funktion, konsistent über die gesamte App.
Serverseitige Bewertung von Token, Score und Action
Verlassen Sie sich nie allein auf den Client. Auf Ihrem eigenen Server prüfen Sie Token, Score und Action gemeinsam und gleichen die Action gegen die erwartete ab:
import requests
THRESHOLDS = {'login': 0.5, 'signup': 0.6, 'checkout': 0.7}
def evaluate(token: str, expected_action: str, secret: str) -> bool:
payload = requests.post(
'https://www.google.com/recaptcha/api/siteverify',
data={'secret': secret, 'response': token},
timeout=10,
).json()
if not payload.get('success'):
return False
if payload.get('action') != expected_action:
return False
return payload.get('score', 0.0) >= THRESHOLDS[expected_action]
Stimmt die zurückgegebene Action nicht mit der erwarteten überein, sollte die Anfrage scheitern – unabhängig vom Score. Das schützt vor wiederverwendeten Tokens aus einem anderen Kontext.
Score-Schwellen sinnvoll pro Aktion setzen
Eine feste Schwelle für die ganze App ist fast immer zu grob. Ein Login darf strenger sein als eine harmlose Suchanfrage, und ein Checkout wiederum strenger als ein Login. Beginnen Sie pro Aktion im Bereich 0,5–0,7 und justieren Sie auf Basis Ihrer eigenen Telemetrie nach:
| Aktion | Startschwelle | Verhalten unter der Schwelle |
|---|---|---|
login |
0,5 | Zweiter Faktor oder v2-Checkbox als Fallback |
signup |
0,6 | E-Mail-Bestätigung erzwingen |
checkout |
0,7 | Manuelle Prüfung oder zusätzliche Verifikation |
Behandeln Sie einen niedrigen Score nicht als endgültiges „Nein", sondern als Signal, eine zusätzliche, für echte Nutzer zumutbare Hürde einzublenden.
DSGVO und Score-Daten im DACH-Kontext
reCAPTCHA v3 verarbeitet unter anderem IP-Adressen und Interaktionsdaten Ihrer Besucher. Im DACH-Raum gelten IP-Adressen als personenbezogene Daten, weshalb der Einsatz einer datenschutzrechtlichen Grundlage bedarf. Prüfen Sie, ob Ihre Datenschutzerklärung den Einsatz von reCAPTCHA transparent macht, und dokumentieren Sie Ihre Rechtsgrundlage. Für stärker regulierte Oberflächen kann eine datensparsamere Alternative sinnvoll sein – das ist eine Frage Ihrer eigenen Sorgfaltspflicht, keine Aussage über die Compliance eines Drittanbieters.
Reproduzierbare QA mit CaptchaAI
Damit Ihre Tests gegen die eigene App verlässlich reproduzierbar bleiben, übernimmt CaptchaAI in autorisierten Staging-Umgebungen die Lösung. Ihre Test-Suite fordert einen Token an und prüft anschließend, ob Backend und Schwellenlogik genau so reagieren, wie es die Konfiguration vorsieht. So testen Sie die Kette aus Token-Prüfung, Action-Abgleich und Schwellenentscheidung, ohne jeden Durchlauf manuell durchklicken zu müssen.
Wichtig für die Erwartungshaltung: Den Score vergibt weiterhin Google. Von CaptchaAI zurückgegebene v3-Tokens tragen typischerweise einen Score um 0,3 – ideal, um genau den Zweig Ihrer Logik zu prüfen, der bei niedrigen Werten greift. Die Abrechnung erfolgt Thread-basiert (ab 15 $/Monat im BASIC-Tarif mit 5 Threads, unbegrenzte Lösungen pro Thread), sodass parallele QA-Läufe planbar bleiben.
Häufige Ursachen für niedrige Scores – und Gegenmaßnahmen
| Ursache in der eigenen App | Maßnahme |
|---|---|
| Action-Name nicht oder generisch gesetzt | Pro Funktion eindeutige Action vergeben |
| Score-Schwelle pauschal sehr hoch | Pro Aktion differenzieren (0,5–0,7 als Start) |
| Unklare oder doppelte Submit-Pfade | UX bereinigen, einen klaren Absende-Pfad definieren |
| Sitzung wird häufig beendet | Sitzungspersistenz für eingeloggte Nutzer |
| Token abgelaufen | execute erst kurz vor dem Absenden aufrufen |
Häufige Fragen (FAQ)
Kann ich den v3-Score direkt beeinflussen?
Nein. Den Score vergibt Google auf Basis von Kontext- und Verhaltenssignalen. Sie beeinflussen ihn nur indirekt – über eine saubere Integration, konsistente Sitzungen und eindeutige Action-Namen in Ihrer eigenen App.
Warum haben eingeloggte Nutzer oft höhere Scores?
Weil wiederkehrende, angemeldete Nutzer für Google konsistentere Signale liefern. Wenn Ihre App Sitzungen unnötig beendet, wirken selbst treue Nutzer wie Erstbesucher – und der Score fällt entsprechend niedriger aus.
Welche Schwelle sollte ich pro Aktion setzen?
Starten Sie zwischen 0,5 und 0,7, gestaffelt nach Risiko: unkritische Aktionen niedriger, Checkout höher. Verbindliche Werte liefert erst Ihre eigene Telemetrie, deshalb sollten Sie die Score-Verteilung pro Action einige Wochen beobachten.
Beeinflusst CaptchaAI den von Google vergebenen Score?
Nein. CaptchaAI liefert in autorisierten QA-Szenarien einen gültigen v3-Token (Score typischerweise um 0,3). Der Wert selbst stammt von Google. Nutzen Sie das gezielt, um den Niedrig-Score-Zweig Ihrer Schwellenlogik zu testen.
Was passiert, wenn ein Token abläuft?
Dann schlägt die serverseitige Prüfung fehl. Ein v3-Token ist nur rund 120 Sekunden gültig – rufen Sie grecaptcha.execute deshalb erst unmittelbar vor dem Absenden auf und speichern Sie den Token nicht zwischen.
Verwandte Leitfäden
- CaptchaAI in wenigen Minuten einrichten
- Wie reCAPTCHA legitime Nutzer von Automatisierung unterscheidet
- Welche Faktoren in den reCAPTCHA-Score einfließen
- Warum v3 niedrige Scores zurückgibt
Härten Sie die v3-Integration Ihrer App – reproduzierbar testen mit CaptchaAI.