A Guide From Domandata
Bot and Fraud Detection for Online Surveys
Written by Domandata, which makes a survey platform. We name our product where it fits and say where another tool fits better. Claims about other tools link to their own documentation, checked ; confirm anything decisive with the vendor or your institution.
Fraud in online surveys is no longer occasional. Pew Research Center found that bogus respondents made up several percent of opt-in samples and, crucially, that most of them passed a standard attention check. More recent work shows that an autonomous AI agent can complete surveys while passing attention checks and common bot tests.
No single check solves this. What works is a set of layers, each catching what the others miss, plus a documented, preregistered way of deciding what to exclude. This guide walks through the layers and the tools that help at each one.
The layers of defense
- 1
Who gets in: the recruitment source
Participant pools that verify identity and monitor behavior across studies stop many bad actors before your survey sees them. Aggregated panels vary more, so pair them with pre-survey screening.
- 2
Technical signals
Bot scores such as Google reCAPTCHA v3 (0.0 to 1.0, with 0.5 as Google's suggested starting threshold), device and browser duplicate detection, private-browsing detection, and VPN or proxy checks. Record these as data instead of silently blocking, so you can audit decisions later.
- 3
Checks built into the instrument
Attention and instructed-response items, impossible answer combinations, minimum reading time on key pages, and honeypot questions that people cannot see but scripts may answer. Pew found most bogus respondents passed a simple attention trap, so never rely on one check.
- 4
Open-ended answers
AI-written text is the newest threat. Track paste events and tab switching, set reasonable length limits, and read a sample of open ends yourself. Detection scores are likelihoods, not verdicts.
- 5
Review and documentation
Preregister exclusion criteria, review flagged responses against them, keep the raw data, and export a cleaning log. Reviewers increasingly ask how fraud was handled, and an auditable log answers them.
- 6
When to pay for a probability sample
If a few percent of fabricated responses could change your estimate, as with prevalence of rare behaviors, an address-recruited probability panel is the most robust option.
Tools at each layer
Vetting before the survey
Prolific verifies identity and offers optional in-study authenticity checks for bots and AI-written answers. CloudResearch vets Connect participants with its Sentry screening at sign-up. Research Defender scores respondents from any panel before they enter.
Checks inside the survey platform
Qualtrics records a reCAPTCHA bot score and duplicate flags where the license includes Fraud Detection. Domandata records bot scores, duplicate tokens, opt-in VPN and proxy detection, honeypot questions (in beta), paste tracking, and author-defined rules, then routes flags into a review queue with an exportable cleaning log.
When fraud risk is unacceptable
Address-based recruitment makes large-scale fabrication far harder than in opt-in pools, at a much higher cost.
Fraud-resistance checklist
- Exclusion criteria are written into the preregistration
- Bot score and duplicate signals are recorded as data fields
- At least two independent attention or consistency checks
- Minimum time expectations on pages that require reading
- Paste tracking on open-ended questions that matter
- A sample of open-ended answers read by a person
- Flags reviewed, not auto-deleted, with raw data kept
- A cleaning log exported with the analysis files
Frequently Asked Questions
References
- Kennedy et al. (2020), Assessing the Risks to Online Polls From Bogus Respondents, Pew Research Center
- Westwood (2025), The potential existential threat of large language models to online survey research, PNAS
- Veselovsky, Horta Ribeiro, and West (2023), Crowd Workers Widely Use Large Language Models for Text Production Tasks
- Google reCAPTCHA v3 documentation
- Prolific: What are authenticity checks?