
Good news first: survey programming errors are rarely original. The same mistakes turn up study after study, on every platform. That makes them predictable, and anything predictable can be checked the same way every time.
The ones that slip past a rushed QA round have one thing in common. They don’t break the survey. The link opens, the questions load, the test complete goes through. A rushed round catches what’s visibly broken. It misses what’s missing, what sits on a branch nobody clicked, and what changed since the last version.
Why Survey Programming Errors Survive a Rushed QA Round
We’ve talked about this many times, but here it is again: a rushed QA round usually means one person clicking through a survey against the questionnaire, with a launch date already sitting in the calendar. That person is usually good at the job. The weak point is the method.
Three things work against them.
- Omissions are hard to see. You can check what’s on the screen. But noticing what isn’t there is much harder. In Raymond Panko’s spreadsheet inspection experiments, people reviewing alone found about 60% of the errors on average. In one study they caught 83% of mechanical errors, but only 43% of omissions. Script review runs on the same human eye. A missing “Other, please specify” leaves no trace on the page.
- Attention runs out early. Research on the vigilance decrement shows that people get worse at spotting rare errors as a task goes on. The drop usually lands within the first 20 to 35 minutes, and half of it comes in the first 15. But clicking through a 60-question survey with three screener paths takes longer than that.
- Test data has limits. Dummy responses help, but they follow the logic as written. The Qualtrics test response guide notes that custom validation is not applied to test responses, and some newer question types aren’t supported. Clean test data proves the script runs. Whether it matches the questionnaire is a separate question.
So we built our own QA around a rule. The check shouldn’t depend on how much time is left. Every survey script gets the same review, on a calm Tuesday morning or at 11pm before a Friday launch.
Six Script Mistakes a Rushed Review Tends to Miss
None of this means your team is careless. It means they’re on their fourth survey this week. Here are the six survey programming errors we see most, and why each one gets through.
| Mistake | What It Looks Like | Why a Rushed Round Misses It |
|---|---|---|
| 1. Missing content | An answer option, an “Other, specify,” or a whole question left out of the build | Nothing on screen signals an absence |
| 2. Wrong question type or properties | “None of these” isn’t exclusive, or “Don’t know” gets shuffled into a randomized list | The question displays fine until someone tests the edge case |
| 3. Text from an old version | Wording from questionnaire v4 in a survey built for v6 | Reviewers read for sense, not a word-by-word match |
| 4. Routing on a rarely used branch | A condition skips one question too far on a path 5% of respondents take | Testers follow the main path first, and time runs out |
| 5. Quota logic | A quota counts people before a later termination, so cells fill with incompletes | The setup screen looks right, and the error shows up in field |
| 6. Tracker carry-over | Wave 7, copied from Wave 6, carries a change nobody logged | Nobody compares two waves line by line under a deadline |
Three of these six survey programming errors never show up in a click-through at all. Missing content, old text, and tracker carry-over only appear when you compare the script against a source. Routing and quota errors only appear when you walk the paths most people skip.
Trackers make this harder with every wave. We wrote about how that adds up in Survey QA Has a Scaling Problem.
What a Consistent Script Check Looks Like
A consistent check doesn’t rely on who has time this afternoon. It finds survey programming errors because it follows the same steps every time:
- Start from the approved questionnaire, not from the programmer’s notes or an email thread.
- Check the survey code against it, one area at a time: questions and question type, order, text, properties, logic, quotas, and syntax.
- Walk every branch, including the ones few respondents will ever take.
- On trackers, compare the new wave to the last wave and to the questionnaire.
- Save any check you had to invent, so the next study starts with it.
That’s the protocol QAReady runs. You activate it, and it reads the survey code against the source questionnaire across those seven areas. It runs the same steps on every pass, whether it’s the first build or the fifth revision. Your team can add custom checks and save them for reuse.
On trackers and copy-over studies, QAReady compares wave to wave and copy to copy. It flags anything that changed before the new wave reaches field. That gives the project manager one list of changes to verify, instead of a change log to reconstruct.
QAReady does the reading. Your team decides the fix. It works inside the CodexMR platform or standalone, by feeding it the questionnaire and survey code or through an API connection. Across the platform, that same standard is what keeps delivery errors near zero.
What a Script Check Can’t Tell You
A script can match the questionnaire perfectly and still ask the wrong thing. If the questionnaire routes managers out of a question meant for them, a good script will faithfully do the same. That’s design QA, a different check that happens before scripting starts.
Still, a flagged mismatch isn’t always a mistake. Sometimes the programmer and the researcher agreed on a change by email, and the questionnaire never caught up. The check finds the difference. A person still has to know why it’s there.
That’s the part worth keeping human. The rest can run the same way every time, no matter how late it is.
Where to Go Next
On October 28, we’re taking this question live: which survey QA checks should run the same way every time, and which decisions should stay with a person? Join our free 50-minute webinar, “The 80/20 of Survey QA: What to Automate, and What Stays Human.”
Save your seat here.




