Skip to content

Commit 26d9ea0

Browse files
Turnstile Analytics: Challenge Outcomes
1 parent 29d3a9f commit 26d9ea0

File tree

9 files changed

+115
-68
lines changed

9 files changed

+115
-68
lines changed
120 KB
Loading
82.8 KB
Loading
79.4 KB
Loading
131 KB
Loading

src/content/docs/turnstile/turnstile-analytics.mdx

Lines changed: 0 additions & 68 deletions
This file was deleted.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
title: Challenge outcome
3+
pcx_content_type: Concept
4+
sidebar:
5+
order: 2
6+
head: []
7+
---
8+
9+
import { Render } from "~/components"
10+
11+
When a visitor encounters Turnstile, it assesses whether they are human or bot-like based on various signals. These outcomes help you evaluate how effectively Turnstile is protecting your application.
12+
13+
## Metrics
14+
15+
A "solved" Turnstile challenge does not automatically confirm the visitor is human. You must call the siteverify API to validate the token and proceed only if the response returns `success:true`.
16+
17+
![Challenge outcomes](~/assets/images/turnstile/challenge-outcomes.png)
18+
19+
- **Challenges issued**: The total number of challenges presented to visitors within a specific timeframe.
20+
- **Challenges solved**: The number of challenges successfully completed by visitors in that period.
21+
- **Challenges unsolved**: Challenges that were abandoned or failed in that period.
22+
- **Likely human**: Total number of challenges solved or the total number of challenges issued.
23+
- **Likely bot**: Total number of challenges unsolved or the total number challenges issued.
24+
25+
By analyzing these metrics, you can identify trends such as high failure rates in specific regions, device types, or traffic sources, which may indicate bot activity or misconfigurations.
26+
27+
### Call siteverify
28+
29+
<Render file="siteverify" />
30+
31+
## Solve rates
32+
33+
Turnstile's solve rate is a critical metric that helps gauge how many legitimate visitors are passing a challenge. Solve rates can be broken down into the total number of challenges solved and whether they are interactive, non-interactive, or pre-clearance solves.
34+
35+
If you are using [managed mode](/turnstile/concepts/widget/#widget-types), you can monitor how many of your visitors were prompted interactivity to check the box on the widget (interactive solves) and how many were verified without any disruptions to their experience (non-interactive solves).
36+
37+
![Solve rates](~/assets/images/turnstile/solve-rates.png)
38+
39+
### Metrics
40+
41+
- **Non-interactive solves**: Challenges solved without requiring the visitor to click a checkbox.
42+
- **Interactive solves**: Challenges solved that required visitor interaction to be solved.
43+
- [**Pre-clearance solves**](/turnstile/concepts/pre-clearance-support/): Challenges solved that issued the `cf-clearance` cookie along with the Turnstile token.
44+
45+
A low solve rate might indicate increased bot activity attempting to bypass Turnstile or anomalous traffic patterns that require further investigation.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
title: Turnstile Analytics
3+
pcx_content_type: how-to
4+
sidebar:
5+
order: 6
6+
head: []
7+
description: Use Turnstile Analytics to view the number of challenges issued,
8+
the challenge solve rate, and the metrics of issued challenges.
9+
10+
---
11+
12+
import { Render, DirectoryListing } from "~/components"
13+
14+
Turnstile Analytics provides you with a view of the top widget statistics across different metadata dimensions to understand where your traffic is coming from, which environments have the highest challenge activity, and whether certain sources are disproportionately failing or bypassing challenges, allowing you to fine-tune your security settings, apply more granular mitigations, and proactively respond to evolving threats.
15+
16+
## Available statistics
17+
18+
- **Top Hostnames**: If the Turnstile widget is placed across multiple hostnames, this will display the highest traffic hostnames where challenges are being issued.
19+
- **Top Browsers**: A breakdown of browsers that are most commonly encountering Turnstile challenges, helping customers spot trends in visitor traffic.
20+
- **Top Countries**: View the top originating countries for visitors completing challenges, which can help identify regional traffic anomalies.
21+
- **Top User Agents**: Identify which user agents are generating the most Turnstile challenge requests.
22+
- [**Top ASNs**](https://cloudflare.com/learning/ddos/glossary/ip-spoofing): Displays the highest volume of challenges issued from specific Autonomous System Numbers (ASNs), helping customers detect potential bot activity.
23+
- **Top Operating Systems**: Shows which operating systems are most common among visitors passing or failing challenges.
24+
- [**Top Source IPs**](https://cloudflare.com/learning/network-layer/what-is-an-autonomous-system): Identify the highest-volume IP addresses issuing Turnstile challenges, which can be useful in identifying attack sources or repeated challenge failures.
25+
26+
## View widget metrics
27+
28+
1. Log in to the [Cloudflare dashboard](https://dash.cloudflare.com/) and select your account.
29+
2. Go to **Turnstile** and then navigate to your widget to see an overview of its analytics.
30+
31+
The metrics show changes in the solve rate, widget traffic, and top actions for your widget.
32+
33+
![Turnstile Analytics overview](~/assets/images/turnstile/top-actions.png)
34+
35+
Refer to the pages below for more information about Turnstile Analytics:
36+
37+
<DirectoryListing />
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: Token validation
3+
pcx_content_type: concept
4+
sidebar:
5+
order: 3
6+
head: []
7+
---
8+
9+
import { Render } from "~/components"
10+
11+
After a visitor successfully completes a Turnstile challenge, a token is generated and validated via the siteverify API. Token validation data provides crucial insights into your security posture.
12+
13+
![Token validation](~/assets/images/turnstile/token-validation.png)
14+
15+
## Metrics
16+
17+
- **Siteverify requests**: The total number of requests made to the siteverify API in the given timeframe.
18+
- **Valid tokens**: The number of siteverify requests with `success:true` responses.
19+
- **Invalid tokens**: The number of siteverify requests with `success:false` responses.
20+
21+
### Call siteverify
22+
23+
<Render file="siteverify" />
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
{}
3+
4+
---
5+
6+
It is important to [call siteverify API](/turnstile/get-started/server-side-validation/). Without calling siteverify API to validate the tokens, your website or application is not protected: Skipping token validation means you cannot confirm the visitor's legitimacy.
7+
8+
- Tokens can only be redeemed once. Even valid tokens will return `success:false` if they are reused, preventing token theft and replay attacks.
9+
- Tokens expire after five minutes. Validation must occur within this window to be effective.
10+
- Tokens can be invalid. Bots might complete challenges, but Cloudflare can detect bot-like signals and mark the token as invalid.

0 commit comments

Comments
 (0)