reCAPTCHA Enterprise in Google Cloud
A friendly, complete guide to telling real people from robots and fraudsters on your website and app. Learn how risk scores work, how to wire up the checks safely, how to choose thresholds, and how to avoid blocking your honest customers.
Picture a busy shop with a strict doorman. Most visitors are honest customers who should walk in without any fuss. A few are pickpockets, and some are groups sent to empty the shelves or test stolen cards at the till. A good doorman does not stop everyone and ask for proof of identity, because that would annoy the honest majority. Instead, he quietly watches how each person behaves, gives each one a quick mental score, waves most people through, asks a few for extra proof, and turns away the clearly dangerous ones.
reCAPTCHA Enterprise is that doorman for your website and mobile app. It watches the signals around each action, such as a login, a sign-up, or a payment, and gives you a risk score. Your application then decides whether to allow, challenge, or block. In this guide you will learn what bots and fraud look like, how reCAPTCHA Enterprise works, how to connect it step by step, how to choose thresholds, how to keep everything secure and respectful of privacy, and how to avoid common mistakes.
reCAPTCHA has changed over the years: older free versions, newer Enterprise features, and a move of key management into Google Cloud projects. Feature names, free allowances, limits, and prices change from time to time. This guide explains the ideas that stay stable. Before you plan a real system or a budget, confirm the current details in the official Google Cloud documentation.
1What Is reCAPTCHA Enterprise?
Start with the big picture before we meet the details.
The simple definition
reCAPTCHA Enterprise is a managed fraud and abuse detection service from Google Cloud. You add a small piece of code to your web page or mobile app. Each time an important action happens, that code collects signals and produces a token, which is a short-lived sealed note. Your server sends the token to Google, and Google answers with a risk score between zero and one, plus reasons. A score near one means the visitor looks like a genuine person. A score near zero means it looks like a bot or an abuser.
Think of an airport security officer who glances at each traveller and notes small clues: how they walk, what they carry, whether their story fits. The officer does not stop everyone, only those whose clues look odd. reCAPTCHA Enterprise reads the digital clues and hands you a score, so you decide who needs a second look.
Why it exists
Automated programs, called bots, can attack a website very quickly. They can guess passwords, create thousands of fake accounts, scrape prices, buy out limited stock, or test stolen credit cards. Traditional puzzles such as “type the squiggly letters” annoy real users and are now often solved by machines. Modern detection looks at behaviour and context, and keeps the experience smooth for real people.
Where it is used
Teams protect login pages, registration forms, password resets, checkout and payment pages, comment and contact forms, voucher and loyalty systems, ticketing and booking flows, and any interface that bad actors could abuse.
2Bots and Fraud Basics
To defend your site, first learn the common attacks.
| Attack | What happens | What it costs you |
|---|---|---|
| Credential stuffing | Bots try large lists of stolen usernames and passwords from other breaches | Hijacked accounts, support load, and lost trust |
| Account takeover | An attacker gains control of a real customer’s account | Stolen funds, points, or data |
| Fake account creation | Bots register thousands of accounts for spam or promotion abuse | Wasted resources, abused offers, spoiled data |
| Card testing, or carding | Criminals try many stolen card numbers with small payments to see which work | Chargebacks, fees, and damaged payment ratings |
| Scraping | Bots copy prices, content, or listings at scale | Lost competitive edge and extra server load |
| Inventory hoarding and scalping | Bots grab limited items or tickets faster than people | Angry customers and lost sales |
| Spam and fake reviews | Automated posting of junk or false opinions | Poor quality and reduced trust |
What is a bot, really?
A bot is a program that acts like a user, but much faster and in huge numbers. Simple bots call a web address directly with no browser. Smarter bots drive a real browser and imitate clicks and typing. The cleverest mix automation with real human help, such as paid workers who solve puzzles. Detection must therefore look at many signals together and not rely on any single test.
A single fake banknote can be spotted by checking the watermark, but a skilled forger copies the watermark. A careful cashier checks the paper feel, the thread, the ink, and the print together. Detection of bots uses many small clues in the same way.
Why puzzles alone are not enough
Distorted-letter puzzles and picture puzzles slow down real people and can be defeated by modern machine learning or human click farms. They also hurt accessibility. The modern approach is to score risk in the background and only ask for extra proof when the risk is unclear or high.
3Core Concepts You Must Know
Six simple ideas explain most of what you will see in the console and the documentation.
Site key
A public identifier for your site or app. It is placed in your web page, and it is safe to be seen by anyone.
Token
A short-lived, single-use note created in the user’s browser or app after an action. It is sent to your server for checking.
Assessment
The request your server makes to Google, sending the token to get back a verdict about that action.
Risk score
A number from zero to one. Higher means more likely to be a real person. Lower means more likely to be a bot.
Reason codes
Labels that explain why a score is low, such as automation, unexpected environment, or too much traffic.
Annotation
Feedback you send back later, saying whether an assessed action turned out legitimate or fraudulent, which helps the system learn your site.
Actions
Each time you ask for a token, you give it an action name, such as “login”, “signup”, or “checkout”. The name travels inside the token. Your server later checks that the action in the token matches the action it expected. This stops a token created for a harmless page from being reused on a sensitive one. Use clear, consistent names, and one for each important step.
The token’s life
- Short life. A token is valid only for a couple of minutes.
- Single use. Once your server has checked it, it cannot be reused.
- Created per action. Make a fresh token at the moment of the action, not once when the page loads.
- Checked on the server. Never trust the browser alone, because attackers control their own browsers.
A token that the browser creates is only a request for a check. It proves nothing until your server sends it to Google and reads the verdict. Skipping the server check, and trusting a token because it exists, is the single most common and most serious mistake.
4Architecture and How It Works
Follow one protected action from the user’s click to your decision.
flowchart LR
A["User action in browser or app"] --> B["reCAPTCHA script or mobile SDK"]
B --> C["Collects signals and requests a token"]
C --> D["Google reCAPTCHA Enterprise service"]
D --> E["Token returned to the page"]
E --> F["Your web server receives the form and token"]
F --> G["Create assessment request"]
G --> D
D --> H["Verdict with score, reasons, and action name"]
H --> I["Your decision logic"]
I --> J["Allow, challenge, or block"]
I --> K["Annotate the outcome later"]
K --> D
sequenceDiagram
participant U as User Browser
participant R as reCAPTCHA Service
participant S as Your Server
U->>U: User presses the login button
U->>R: Execute with site key and action login
R-->>U: Token
U->>S: Send credentials and token
S->>R: Create assessment with token and site key
R-->>S: Valid token, action match, score, reasons
alt Score is high
S-->>U: Continue with normal login
else Score is middling
S-->>U: Ask for extra proof such as a second factor
else Score is low
S-->>U: Block or slow the request
end
S->>R: Later annotate the result as legitimate or fraudulent
What the signals are
The service looks at many things together: how the page was reached, characteristics of the browser and device, patterns in how pointers and keys are used, the network the request comes from, how many similar requests appeared recently, and patterns it has learned from the whole internet. It also learns from your own feedback. No single signal decides. The score is a blended judgement.
What the verdict contains
| Part | What it tells you | What you should do with it |
|---|---|---|
| Token validity | Whether the token is genuine, unexpired, and unused | Reject any action with an invalid token |
| Hostname or app name | Which site or app created the token | Confirm it matches your own domains |
| Action name | Which action the token was made for | Confirm it matches the action you expected |
| Risk score | How likely the action is genuine | Compare with your thresholds for that action |
| Reasons | Hints about why the score is low | Log them and use them for tuning and investigation |
| Extra assessments | Optional account, password, and payment checks, if enabled | Use them for deeper protection of high-risk steps |
The token is like a sealed ticket stub handed out at the door. The doorman never trusts the stub by itself. He phones the box office to check it is real, not yet used, and for this very show. Only then does he look at the note the box office adds: “this guest seems fine” or “keep an eye on this one”.
5Key Types: Choosing the Right One
A site key can work in several ways. Choose the one that fits each place.
flowchart TD
A["What are you protecting"] --> B{"Web page or mobile app"}
B -->|"Mobile app"| C["Mobile key for Android or iOS SDK"]
B -->|"Web page"| D{"Can your server make assessments"}
D -->|"No backend or very simple site"| E["Express key with limited features"]
D -->|"Yes"| F{"Prefer invisible checks or a visible box"}
F -->|"Invisible score based"| G["Score based key"]
F -->|"Visible challenge"| H["Checkbox key"]
A --> I{"Protected by a web application firewall"}
I -->|"Yes"| J["WAF key with Cloud Armor or a supported partner"]
| Key type | How it feels to users | Best for |
|---|---|---|
| Score-based key | Invisible. No interruption for the user. | Most login, sign-up, and checkout protection where you want full control of decisions |
| Checkbox key | A visible “I am not a robot” box, sometimes with a challenge | Places where a visible check is acceptable or expected, or as a step-up challenge |
| Express key | Invisible, with simple set-up | Small sites that want protection with little coding, with fewer features |
| WAF key | Works at the edge of your network through the firewall | Protecting pages with no code changes, using supported firewalls or CDNs |
| Mobile key | Invisible inside the app | Protecting Android and iOS apps through the software development kit |
Domain and app settings
Each key is limited to the website domains or app identifiers you list. A token made on any other domain is rejected, which stops others from borrowing your key. Keep these lists exact and tidy, and add every real domain, including test environments, using separate keys for production and testing.
It is fine and common for a site to use a score-based key for most actions and a checkbox key only as a fallback challenge for borderline cases. Using separate keys also gives you cleaner charts in the console for each use.
6Setting It Up Step by Step
A clear order of work prevents most beginner mistakes.
Prepare the project
Choose or create a Google Cloud project, enable the reCAPTCHA Enterprise service, and make sure billing is set up as required.
Create a key
Choose the key type, list your domains or app identifiers, and give the key a clear name such as “shop-login-web”.
Add the front-end code
Load the reCAPTCHA script with your site key, and call it at the moment of each protected action, with a clear action name, to get a token.
Send the token to your server
Include the token with the form or request, using a field your server reads.
Create the assessment on the server
Your server calls the service with the token, the site key, and the expected action, using a secure identity such as a service account.
Apply decision rules
Check validity, hostname, and action. Then compare the score with your thresholds and choose allow, challenge, or block.
Annotate and tune
Report outcomes back, review score charts in the console, and adjust thresholds over time.
Start in a safe mode
Do not switch on blocking on day one. First observe. Create assessments for every protected action, log the scores and reasons, but allow everything. After a week or two of real traffic, study the score distribution. Genuine traffic usually clusters at high scores. Bots and abusers form a separate cluster at low scores. Choose thresholds from these real pictures, then start with gentle actions such as adding a challenge, before moving to blocking.
A new doorman first watches the crowd for a few days without turning anyone away, so he learns what normal visitors look like. Only then does he start asking questions of the odd ones. Starting strict on the first day would turn away regular customers by mistake.
Where to place the checks
- Login. Protects against password guessing and stuffing.
- Sign-up. Protects against fake accounts and promotion abuse.
- Password reset and email change. Common steps in account takeover.
- Checkout and payment. Protects against card testing and stolen cards.
- Search and price pages. Where scrapers work, often better handled with rate limits plus scores.
- Forms and comments. Reduces spam.
7Choosing Thresholds and Responses
The score is advice. Your rules turn it into action. Careful rules protect both security and sales.
flowchart TD
A["Assessment received"] --> B{"Token valid, host and action match"}
B -->|"No"| C["Reject the request"]
B -->|"Yes"| D{"Score level"}
D -->|"High such as 0.7 and above"| E["Allow normally"]
D -->|"Middle such as 0.3 to 0.7"| F["Step up: second factor, checkbox, or email check"]
D -->|"Low such as below 0.3"| G{"How risky is the action"}
G -->|"Very risky such as payment"| H["Block and log"]
G -->|"Less risky"| I["Slow down, queue for review, or show a harmless delay"]
E --> J["Annotate outcome later"]
F --> J
H --> J
I --> J
The cost of mistakes
Every threshold balances two errors. A false positive blocks a real customer, which costs sales and goodwill. A false negative lets a bad actor through, which costs fraud losses. The right balance differs by action. For a newsletter sign-up, a few bots do little harm, so be gentle. For a payment page, a stolen card does great harm, so be stricter and add extra checks.
| Action | Risk of a missed bot | Risk of blocking a person | Typical posture |
|---|---|---|---|
| Newsletter sign-up | Low | Moderate, since it loses a lead | Gentle threshold |
| Contact form | Low to medium | Moderate | Moderate, with a challenge for borderline scores |
| Login | High | High, because locked-out users are upset | Step up with a second factor rather than a hard block |
| Account creation | Medium to high | Medium | Challenge and add email or phone verification |
| Payment | Very high | High, as lost sale | Strict, with additional checks and human review for gray cases |
Responses beyond block
- Step-up verification. Ask for a one-time code, a checkbox, or an email confirmation.
- Slow down. Add delays that hurt bots at scale but barely affect a single person.
- Silent handling. Accept the request but hide the result from the attacker, or place the action in a review queue.
- Limit what is allowed. Allow browsing but not purchase, or allow sign-up but block promotions.
- Flag for review. Let a human look at a few borderline cases.
Never treat a missing token or a failed assessment call as success. Attackers will simply skip the token. Decide ahead of time what your system does if the service cannot be reached: usually fail safely for high-risk actions, and fail open with extra logging for low-risk ones, so that an outage does not shut down your whole business.
8Annotation: Teaching the System About Your Site
The more you tell the service about outcomes, the better it protects you.
The first score is a general judgement. To become really good for your own site, the service needs feedback. After an assessment, when you later learn what really happened, you send an annotation. For example, “this signup turned out to be genuine”, “this order was later charged back as fraud”, or “this login used a correct password”. With enough annotations, the service builds a site-specific view and tunes scores to your traffic, sometimes improving accuracy noticeably.
flowchart LR
A["Action happens"] --> B["Assessment and score"]
B --> C["Your decision"]
C --> D["Real outcome becomes known later"]
D --> E["Annotate as legitimate or fraudulent"]
E --> F["Site specific model improves"]
F --> B
What you can annotate
- Legitimate or fraudulent. The main label for the action.
- Reasons for the label. Examples include chargebacks, a confirmed customer, a correct password, a failed verification, or an incorrect password.
- Account and identity hints. A stable, hashed account identifier lets the service connect actions to the same account over time, without exposing personal details.
Habits that make annotation work
- Store the assessment identifier. Keep it with the order or account record so you can annotate later.
- Annotate promptly and consistently. Build it into the process for chargebacks, support tickets, and verification results.
- Include the good cases too. Confirming legitimate actions matters just as much as flagging fraud.
- Hash identifiers. Never send raw emails or phone numbers when a hashed form is accepted, unless your privacy review says otherwise.
- Track coverage. The console shows how many assessments are annotated. Aim to raise that percentage over time.
Imagine training a new guard. At first he uses general rules. Each time you tell him “that person was a regular, and this one was a thief”, he learns the habits of your own street. After a few months he knows your neighbourhood better than any outside expert.
9Beyond Scores: Account and Payment Protection
Besides general bot detection, the Enterprise service offers deeper features for specific problems. Availability and names can change, so check the current list.
Account defender
Builds a profile of each account’s normal behaviour over time and warns when activity looks suspicious, such as a login from an unusual environment or a sudden change in pattern.
Password leak detection
Checks, in a privacy-preserving way, whether a username and password pair appears in known breach collections, without sending the real password in plain form.
Fraud prevention
Uses extra transaction details to flag card testing, stolen card use, and other payment fraud, and provides a risk signal for each transaction.
Multi-factor options
Support for adding a second step, such as a code sent to a phone or email, when risk is high. Check the current status of these features.
WAF and bot management
Integration with a firewall such as Cloud Armor so tokens and scores are checked at the network edge before traffic reaches your servers.
App protection
SDKs that provide tokens in Android and iOS apps, so attacks aimed at mobile interfaces are covered.
Layers of defence
Edge protections
A web application firewall and rate limits stop obvious floods and known bad sources early.
reCAPTCHA Enterprise scoring
Distinguishes people from automation on each protected action.
Account and password checks
Watches account behaviour and flags leaked or reused passwords.
Step-up verification
Extra proof, such as a one-time code, for risky moments.
Business rules and review
Limits on amounts, velocity checks, and human review of unusual cases.
No single layer stops everything. Good defence stacks layers so that what slips past one is caught by the next. Bots are also adaptive. When you improve defences, attackers change tactics, so treat protection as an ongoing process.
10Advantages, Disadvantages, and Trade-offs
An honest view of what you gain and what you give up.
Advantages
- Mostly invisible to real users, so there is less friction than puzzles.
- Uses signals and learning from a very large network of sites.
- Gives scores and reasons, so you control decisions per action.
- Learns your site’s patterns through annotations.
- Covers web, mobile, and firewall use.
- Managed service: no detection system for you to build or host.
Disadvantages
- Not perfect. Some bots will pass, and some real users will score low.
- Requires front-end and server changes, and careful tuning.
- Adds a call and a small delay to protected actions.
- Collects signals about users, which raises privacy and disclosure duties.
- Costs grow with traffic above any free allowance.
- Depends on an external service, so you need a plan for outages.
The big trade-offs
Friction versus safety. More challenges stop more abuse and also annoy more people. Aim to challenge only the uncertain few.
Invisible versus visible checks. Invisible scoring gives the best experience and flexibility. Visible checkboxes give a clear moment of proof and a fallback for borderline cases.
Edge protection versus application logic. Protection at the firewall needs fewer code changes, but application-level checks know more about the action and can apply finer rules.
Privacy versus accuracy. More signals mean better detection, but also more data collection. Balance with transparency and legal advice.
Cost versus coverage. Protecting every page costs more than protecting only the critical actions. Start with the highest-risk steps.
11Security Practices
A security tool must itself be used securely, or attackers will simply go around it.
Server-side checks are mandatory
- Always verify tokens on the server. Reject requests without a token or with an invalid one.
- Check the action and the hostname. A token for one action or site must not pass for another.
- Use each token once. Do not accept the same token twice.
- Check promptly. Tokens expire in minutes.
- Do not rely on the browser to tell you the score. Only the server’s own call to the service can be trusted.
Protect your credentials
The site key is public by design. The credentials that your server uses to create assessments are not. Use a service account or the platform’s built-in identity, with only the reCAPTCHA role it needs, and avoid long-lived keys in code or configuration files. If you must use an API key, restrict it to the reCAPTCHA service and to your server’s addresses, and store it in a secret manager.
The site key is like the street number of your shop, which everyone can see. The credentials used by your server are like the telephone line to the box office. Only your own staff may use that line, and the number should never be pinned to the front door.
Control access
- Use IAM roles carefully. Separate people who manage keys, people who only view reports, and programs that create assessments.
- Separate environments. Use different keys and projects for testing and production, and never use a test key to protect real traffic.
- Restrict domains. Keep the allowed-domain list exact.
- Audit. Turn on audit logs so key changes and setting updates are recorded.
- Plan for key replacement. If a key is abused, create a new one and move traffic across without long downtime.
Privacy and fairness
The service collects information about the browser, device, and behaviour to judge risk. You must tell users how this is used, follow the service terms, and meet laws in your region. Include proper wording in your privacy notice and any required consent mechanism. Also provide a path for honest users who are wrongly challenged or blocked, with clear help, accessible alternatives, and quick support. Some users rely on screen readers, special devices, or privacy tools, and may score lower. Test your flows with them and avoid hard blocks without an alternative.
Do not reveal the exact score or the reason to the user in an error message. Detailed feedback teaches attackers how to adjust. Show a neutral message, such as “We could not verify this request. Please try again or contact support”.
12Monitoring, Logging, and Metrics
Watching the scores tells you about both your attackers and your own health.
Key dashboards
Charts of assessment counts and score distributions for each key and each action, over time.
Cloud Monitoring
Usage, error rates, and latency of assessment calls, with alerting.
Your own application logs
Record the assessment identifier, score, reasons, action, and your decision for each protected request.
Cloud Audit Logs
Records of who created, changed, or deleted keys and settings.
What to watch
- Score distribution by action. A healthy site shows most real traffic at high scores. A sudden growth in the low-score group suggests an attack.
- Volume spikes. A sharp jump in assessments for login or checkout may signal credential stuffing or carding.
- Challenge and block rates. If they rise sharply without an attack, your threshold or a site change may be harming real users.
- Reason codes. A growing share of one reason, such as automation, points to the attack type.
- Missing or invalid tokens. A rise suggests attackers bypassing the front end, or a bug in a new release.
- Annotation coverage. Higher coverage means better future accuracy.
- Latency and errors of assessment calls. Make sure the protection is not slowing checkouts.
- Business outcomes. Chargebacks, fake account counts, and support tickets for lockouts show the real impact.
Build an alert for the combination of a rising low-score share and a rising volume on a sensitive action. That pattern is the classic fingerprint of an automated attack, and early warning lets you tighten rules, add challenges, or contact your security team while the attack is still small.
13Performance and Cost Planning
Protection should be fast for users and sensible for your budget.
Performance points
- Load the script efficiently. Load it where it is needed, and make sure it does not block your page from showing.
- Request tokens at the moment of action. Fresh tokens are more accurate, and prevent expiry problems.
- Keep the server call lean. The assessment call adds a short delay. Make it once per action and handle failures gracefully.
- Set timeouts. Do not let a slow call freeze a checkout. Choose a clear fallback.
- Warm up on busy pages. For single-page apps, make sure tokens are created for each new action, not reused.
What you pay for
The service has historically been billed by the number of assessments, often with a free monthly allowance and a price per thousand beyond it. Extra features, such as account protection and payment fraud checks, may be priced separately. Prices and allowances change, so check the current pricing page.
| Cost area | What it depends on | How to reduce it |
|---|---|---|
| Assessments | Number of tokens you ask Google to assess | Assess only protected actions, not every page view |
| Extra features | Account defender, payment checks, and similar add-ons | Enable them on high-risk flows only |
| Bot traffic itself | Attackers can inflate your assessment count | Block obvious floods at the edge before they reach assessments |
| Engineering time | Integration, tuning, and annotation work | Start with one or two critical flows and expand |
| Support effort | Handling users who are wrongly challenged | Provide clear alternatives and measure false positives |
Protection often pays for itself. Compare the monthly cost with the losses it can prevent, such as chargebacks, support hours spent on hijacked accounts, and wasted promotion budgets. Even a modest reduction in fraud usually outweighs the service charges for a busy shop.
14Design Patterns and Anti-patterns
Helpful habits and harmful habits seen again and again in real projects.
Helpful patterns
Observe, then enforce
Run in monitoring mode first, study real score charts, then add gentle challenges, and only later add blocks.
Different thresholds per action
Use stricter rules on payment and account recovery than on newsletters and search, matching the harm of each mistake.
Graded responses
Allow high scores, step up the middle ones, and block or slow the lowest, so real users rarely meet a wall.
Feedback pipeline
Connect chargeback systems, support tools, and verification results to automatic annotations.
Edge plus application
Combine firewall rate limits and bot rules at the edge with application-level scoring on sensitive steps.
Anti-patterns to avoid
What it looks like
The page shows the reCAPTCHA widget and the server accepts the form whenever a token field is present, without ever calling the assessment service.
Why it hurts
An attacker sends any text in the token field. There is no protection at all, only a false sense of safety.
Better approach
Always create an assessment on the server, and check validity, action, hostname, and score before continuing.
What it looks like
A team sets one global threshold, such as blocking everything below a fixed score, and never looks at charts or annotations again.
Why it hurts
Traffic and attacks change. The threshold soon blocks real users or lets abuse through, and nobody notices.
Better approach
Set thresholds per action, review distributions regularly, and adjust using real outcomes.
More things to steer clear of
- Creating the token once at page load. It will expire or be reused. Make it at the moment of action.
- Showing exact scores or reasons to users. It helps attackers tune their bots.
- Using the same key everywhere. You lose clean statistics and mix testing with production.
- Ignoring accessibility. Hard blocks without alternatives harm real people.
- Never annotating. You miss the biggest accuracy gains.
- Forgetting the outage plan. Decide how the application behaves if assessments fail.
- Relying on reCAPTCHA alone. Combine it with rate limits, strong passwords, and second factors.
15Best Practices and Common Mistakes
A checklist of habits that experienced security teams rely on.
Habits that work
- List and rank your risky actions before you start.
- Use clear action names and check them on the server.
- Verify every token on the server, once, quickly.
- Start in observation mode and tune from real data.
- Use graded responses with step-up verification.
- Annotate outcomes and track coverage.
- Use separate keys for each environment and major use.
- Restrict domains and credentials.
- Combine layers: edge rules, scoring, account checks, and business rules.
- Test with real devices and assistive tools.
- Document your privacy use and keep notices up to date.
- Review dashboards weekly and after every campaign or release.
Mistakes beginners often make
| Mistake | What goes wrong | Fix |
|---|---|---|
| Not verifying on the server | Zero protection | Create assessments on the server for every protected action |
| Domain not on the key’s allowed list | Valid users get invalid tokens | Add all real domains, and use separate test keys |
| Reusing or delaying tokens | Tokens expire or fail as duplicates | Create a fresh token per action and verify at once |
| Action name mismatch | Genuine requests are rejected | Use the same name in front end and server checks |
| Threshold too strict at launch | Real customers blocked | Observe first and move gradually |
| Service account lacks the right role | Assessment calls fail with permission errors | Grant the minimal reCAPTCHA role to the server identity |
| No fallback plan for outages | Checkout or login breaks | Define fail-safe and fail-open behaviour per action |
| Exposing scores in messages | Attackers learn how to evade | Show neutral messages and log the details privately |
16Real-World Usage Examples
Common ways teams use reCAPTCHA Enterprise. These are typical scenarios, not claims about any particular company.
Stopping credential stuffing on login
A retailer sees a flood of failed logins from thousands of addresses. After adding scoring to the login action, low-score attempts are slowed and asked for a second factor. Account takeovers drop, and genuine customers hardly notice any change.
Blocking card testing at checkout
An online store suffers many tiny test payments. Payment-page checks and fraud signals flag the pattern, bots are blocked at the payment step, and chargeback numbers fall within weeks.
Protecting promotions
A telecom company offers a free trial for new accounts. Fake sign-ups used to claim thousands of offers. Scoring on sign-up, with email verification for borderline scores, cuts abuse sharply.
Ticket sales and scalping
A ticketing site uses scoring on the queue entry and purchase steps, and combines it with limits per account. Bots that once grabbed most seats are slowed enough that real fans get tickets.
Mobile app protection
A food delivery app protects its sign-up and voucher flows through the mobile SDK. Abuse from emulators and scripted devices becomes visible and manageable.
Edge protection without code changes
A media site with limited developer time uses firewall integration to challenge suspicious traffic on its login and comment pages, and adds application-level checks to its most critical flows over time.
Cleaner data for the business
A marketplace notices that fake listings and scraped prices distort its analytics. After adding scoring and rate limits, its reports reflect real customers, and decisions improve.
17Choosing the Right Protection
reCAPTCHA Enterprise is one tool among several. Here is how it compares.
| Tool | Best for | Remember |
|---|---|---|
| reCAPTCHA Enterprise | Scoring individual actions to tell people from bots and fraud | Needs server-side checks and tuning |
| Cloud Armor | Network and application firewall, rate limits, and edge bot rules | Works well together with reCAPTCHA tokens |
| Rate limiting | Stopping floods from one source or account | Does not tell people from bots by itself |
| Multi-factor authentication | Protecting accounts even when passwords leak | Adds friction, best used when risk is high |
| Identity Platform or identity providers | Managing sign-in for apps | Pair with bot detection on login and sign-up |
| Third-party bot management | Specialised bot defence products | Compare features, cost, and data handling |
| Simple honeypot and hidden fields | Catching crude bots cheaply | Easy for smarter bots to bypass |
A simple rule of thumb: use rate limits and a firewall to stop floods, use reCAPTCHA Enterprise to judge each important action, use multi-factor authentication to protect accounts, and use human review and business rules for the gray cases. Together, they form layers that are much stronger than any one tool.
18Frequently Asked Questions
19Summary and Key Takeaways
What to remember
- reCAPTCHA Enterprise scores the risk of each action. The browser or app creates a short-lived token, your server sends it for assessment, and the service returns a score from zero to one with reasons.
- Always verify on the server. Check that the token is valid, unused, from your own domain, and for the expected action. A token that is never assessed gives no protection.
- Choose the right key for the job. Score-based keys for invisible protection, checkbox keys for visible or step-up challenges, mobile keys for apps, express keys for simple sites, and firewall keys for edge protection.
- Tune thresholds with real data. Observe first, set different rules per action, respond in grades such as allow, step up, and block, and weigh false positives against fraud losses.
- Teach the system. Annotate real outcomes, such as legitimate actions and chargebacks, so scores become tuned to your own traffic.
- Defend in layers and protect credentials. Combine firewall and rate limits, scoring, account and password checks, step-up verification, and business rules. Keep service credentials secret and restrict who can change keys.
- Respect users and plan for change. Be open about data use, provide accessible alternatives and support, monitor score charts and costs, prepare an outage plan, and check the documentation regularly because features and prices change.