Add voice responses to your Alchemer surveys in 2 simple steps — the same steps if your account is still called SurveyGizmo. Works with any Alchemer plan that can add JavaScript Actions.
AvailableKeep your survey in Alchemer. Voice Capture transcribes spoken open-ended answers, writes the text into the original answer field, and keeps a project record with question, session and input-method details. Start with the demo, then test one question in your own survey.
Create a Voice Capture projectSurveyGizmo was renamed Alchemer in October 2020. It is the same platform and the same account — only the name changed — so this is the guide you want, and nothing in the steps below differs for an older account.
The setup needs two things: the survey’s custom HEAD, and the ability to add a JavaScript Action to a question. If you are checking whether your account can do this, those are the two settings to look for, and the prerequisites below say exactly where they live. Other platforms are listed on the integrations page.
Start with an existing open-ended text or essay question. The question ID in the JavaScript Action tells Voice Capture which question to attach to. Closed-ended questions such as rating scales, radio buttons and checkboxes stay in Alchemer as usual.
Voice Capture is an add-on to that existing question, not a new Alchemer question type. The widget provides voice input and a text area while keeping Alchemer’s original answer field in the form. This preserves the place where the survey stores the answer.
A useful first test is the open end after a rating: keep the rating question, add Voice Capture to the explanation question, then submit a response and verify both columns in Alchemer. Use the setup steps below and repeat the check for every question you enable.
Go to Style > HTML/CSS Editor > Custom HEAD and paste this script tag. This only needs to be done once per survey.
<script src="https://api.voicecapture.ai/voice.js" defer></script>Add an Action > JavaScript on the question page and paste this code. Change the QID variable to your Alchemer question ID number and replace proj_XXXXXXXX with your project key from the dashboard.
(function() {
var QID = '24'; // Change to your Alchemer question ID number
if (document.getElementById('genius-voice-q' + QID)) return;
var box = document.querySelector('[id*="-' + QID + '-box"]');
if (!box) { console.warn('[GeniusVoice] No Alchemer box found for question ' + QID); return; }
var c = document.createElement('div');
c.id = 'genius-voice-q' + QID;
c.className = 'genius-voice-capture';
c.setAttribute('data-project', 'proj_XXXXXXXX');
c.setAttribute('data-question', QID);
c.setAttribute('data-lang', 'es');
var sid = '[survey("session id")]';
if (sid.indexOf('[') === -1) c.setAttribute('data-session', sid);
var opts = box.querySelector('.sg-question-options');
if (opts) box.insertBefore(c, opts);
else box.appendChild(c);
if (window.GeniusVoice) GeniusVoice.init(c);
})();Open the survey as a respondent, record a short answer and wait for the transcript. Review the text, then submit the survey. Open that response in Alchemer and confirm the text is in the intended question and in the Alchemer export. Repeat with a typed answer. Seeing a transcript in Voice Capture alone does not verify the Alchemer write-back.
In Voice Capture, confirm the test answer belongs to the right project, question and session. The Alchemer session merge code must resolve to a real value. Check those identifiers in a Voice Capture export before using them to join data. Repeat the test for each question you enable, including on the devices your respondents will use.
[survey("session id")]Alchemer's built-in merge code that uniquely identifies each respondent session.
The widget appears inside the Alchemer question with a text area and a voice button. It keeps typing available alongside recording. The original Alchemer answer field is hidden visually, but stays in the form so the text can be submitted with the rest of the survey.
When a respondent stops recording, the audio is sent for transcription and the returned text appears in the widget. They can review and edit that text before continuing. An additional recording appends text to the existing answer. There is no audio playback or saved audio library in this flow.
Microphone access requires the browser’s permission. If access is denied or recording is unavailable, respondents can use the widget’s text area. Before launching, test both voice and typing on the browsers and devices you expect in fieldwork.
The recording is sent for automatic transcription when the respondent stops. Voice Capture does not retain the audio file. It stores the resulting text and response metadata, and writes the text into the original Alchemer answer field for submission and the normal Alchemer export.
The Voice Capture record includes the project, question ID and respondent session from Alchemer’s [survey("session id")] merge code, plus the input method. These details let you distinguish spoken from typed answers in Voice Capture and check which question and session each answer belongs to. Verify the session value with a submitted test before joining separate exports.
You can read transcripts in the dashboard and export to CSV, or to Excel on a paid credit pack. Transcripts are not editable in the dashboard. Project-specific transcription instructions can supply vocabulary and context for the transcription service; review the resulting text before analysis.
The snippet could not find the question box. It looks for the Alchemer element whose id contains your question number, so if the QID variable does not match the real question ID it logs a [GeniusVoice] warning to the browser console and stops. Open the preview with the console visible — the warning names the ID it looked for.
Almost always a wrong or truncated project key. Copy it again from the dashboard; it is the data-project value in the snippet. A key that is close but not exact fails silently, because the widget has no way to tell a typo from a project it is not allowed to write to.
The session id merge code did not resolve. Alchemer only fills merge codes inside a running response, so a snippet exercised outside a live or preview survey leaves the value unresolved — and rather than store the literal merge code as a session, the widget skips the attribute entirely.
Each credit pack caps recording length: 90 seconds on the Free Trial, 180 on Essential, 300 on Professional. If respondents are regularly hitting the ceiling, the question is probably doing the work of two — splitting it usually produces better material than a longer limit would.
A longer, screenshot-free walkthrough of the same setup, plus prompt-writing advice and the questions researchers ask most often before their first voice study.
How to add voice responses to your Alchemer surveysOur AI assistant can walk you through the setup step by step.
Set up Voice Capture in under 5 minutes. No credit card. No commitment.
Get Started Free