A survey participant list is how you invite a known group of people to your survey, track who has responded, and stop anyone else getting in. Each participant gets an access code — a unique string they need to open the survey. Older LimeSurvey versions, and some older documentation, call these "tokens".
Creating a participant list switches the survey to closed access. From that point only someone holding an unused access code can take part.
Open Settings in the left icon rail, then Survey menu → Participants. On an empty survey the screen offers a single Add participants button; using it creates the list and switches the survey to closed access.
Switching a survey to closed access this way is reversible, but treat the list itself as precious: it holds the access codes your participants are using.
The Summary panel at the top counts six things:
| Counter | What it counts |
|---|---|
| Total | Every entry in the list |
| Having an invitation sent | Entries an invitation has gone out to |
| Missing an access code | Entries with no code yet — these cannot enter the survey |
| Opted out | Participants who asked to be removed |
| Screened out | Participants excluded for not matching your criteria |
| Completed | Participants who finished the survey |
Below it, All participants lists the entries themselves, with these columns: ID, First name, Last name, Email address, Email status, Access code, Language, Invitation sent?, Reminder sent?, Reminder count, Completed?, Uses left, Valid from, Valid until, and Action.
The toolbar changes depending on whether the list has entries. While it is empty you see only Add… and Manage attributes. Once there is at least one participant, the full set appears: Add…, Manage attributes, Export, Invite & remind, Generate access codes, View in CPDB, and Delete participant list. If a button you are looking for is missing, that is why.
The Add… menu holds four routes:
The Add survey participant form holds: ID (Auto), Completed?, First name, Last name, Access code, Language, Email, Email status, Invitation sent?, Reminder sent?, Uses left, and Valid from / Until. Save with Save or Save and close.
You can leave Access code blank and fill it in later with Generate access codes — the form says so itself.
Two of these behave in ways worth knowing:
OK makes invitations and reminders skip that entry. Nothing sets this for you unless bounce processing is running — you change it by hand.Dummy participants are for handing out codes by some means other than email — printed slips at the end of a class, for instance. The form asks for:
| Field | Notes |
|---|---|
| Number of participants | How many to create. Defaults to 100 — change it before saving. |
| Access code length | Defaults to 15 characters |
| First name / Last name / Email address | Optional; applied to every entry in the batch |
| Language | The survey language these participants open in |
| Uses left | Defaults to 1 |
| Valid from / Until | Format YYYY-MM-DD hh:mm |
Save with Save and close. Because dummy entries carry no email address, they cannot be invited or reminded by email — that is the point of them.
The first line of the file must be the field names, and it must include firstname, lastname and email. The fields can be in any order.
Optional columns are emailstatus, token, language, validfrom, validuntil, usesleft and attribute_1, attribute_2 and so on. To see the exact column names your list expects, export the existing list and look at the header row.
The import screen offers: Character set of the file (Automatic by default), Separator used (Automatic, Comma or Semicolon), Filter blank email addresses, Allow invalid email addresses, Display attribute warnings and Filter duplicate records. Then click Upload.
When duplicate filtering is on you choose what counts as a duplicate from: first name, last name, email address, email status, language code and completed. The access code field is always checked for duplicates regardless of that choice.
The most common import failure is the separator. Depending on your regional settings, Excel saves CSV files using semicolons rather than commas. LimeSurvey usually detects this, but if an import misbehaves, open the file in a plain text editor, confirm which separator is actually in there, and replace semicolons with commas if needed.
Manage attributes opens Manage attribute fields, where you add custom fields to store your own data against each participant — a case number, a department, a cohort.
The screen has one tab per survey language, so descriptions and captions are translated per language rather than shared.
The three core attributes — firstname, lastname, email — are always present and marked Core attribute. Each field, core or custom, exposes:
| Column | What it does |
|---|---|
| Attribute field | The internal name, used when exporting or writing conditions |
| Field description | A friendlier label shown in the admin screens |
| Show during registration? | Whether the field appears on the public registration form |
| Mandatory during registration? | Whether registration fails without it |
| Encrypted? | Stores the value encrypted at rest |
| Field caption | Longer explanatory text |
| Field type | How the value is captured, e.g. Text box |
| CPDB mapping | Links the field to its counterpart in the central participant database |
| Example data | Sample values from existing entries |
To create fields, set Number of attribute fields to add under Add/delete survey participant attributes and click Add fields. Remember to Save after editing the table above.
Click any column heading to sort by it; click again to reverse. Below the headings is a row of filter boxes — type into the box under a column to filter on it.
Filters accept operators: >, <, >=, <= and =. For the yes/no columns — Invitation sent?, Reminder sent?, Completed? — filter with =N for no and <>N for anything else.
The Action menu on each row offers: view response details, preview the survey as that participant, launch the survey with them, send that person an invitation or a reminder, edit the entry, delete it, and view them in the central participant database. Options that do not apply — no email address, survey not active, participant not in the CPDB — appear greyed out.
To act on several entries, tick their checkboxes and use Selected participant(s)… at the bottom of the table. It offers Batch-edit participants, Delete, Send email invitations, Send email reminder, and Add participants to central database. A Select all / Deselect all bar appears once anything is ticked.
The Invite & remind menu contains:
The send screen carries two switches — Bypass participants with failing email addresses and Bypass date control before sending email — and a tab per survey language holding the From, Subject and Message for that language. You can edit the wording here as well as under Edit email templates. Send with Send invitations.
If the survey is not yet activated the screen warns you that participants will not be able to fill it out. The invitation will still send, so activate first.
To re-send an invitation to one person — say you fixed a typo in their address — set their Invitation sent? field back to off, then send invitations again. Only that entry will be mailed.
Reminders reach only participants whose Completed? field is off.
LimeSurvey adds a survey ID and participant ID to the headers of each invitation. When a message bounces, those headers come back with the delivery notification, and bounce processing marks the failing address in your list so later sends skip it. Configure it under Bounce settings, then run Start bounce processing.
Participants who complete the survey get a confirmation email by default. Turn it off in the survey's general settings if you would rather they did not.
Generate access codes issues a code to every entry that does not already have one — the entries counted under Missing an access code. Entries that already hold a code are left alone.
Export opens Survey participant export options and produces a CSV. The filters are:
| Option | Choices |
|---|---|
| Survey status | All participants · Completed · Not completed · Not started · Started but not yet completed |
| Invitation status | All · Invited · Not invited |
| Reminder status | All · Reminder(s) sent · No reminder(s) sent |
| Filter by language | All, or one of the survey's languages |
| Filter by email address | Exports only entries whose address contains the string you type |
| Delete exported participants | On removes the exported entries from the list |
| Quote equations | On quotes any value starting with = |
Then click Download CSV file.
Two of these deserve care. Delete exported participants is not recoverable — the screen warns you, and it means it. Quote equations should stay on: it neutralises values beginning with =, which spreadsheet software would otherwise run as formulas.
The central participant database holds people across surveys rather than inside one, so the same person can be reused without being re-entered. View in CPDB is the link from this survey's list to those shared records. The reverse direction — pushing entries up into the CPDB — is Add participants to central database in the Selected participant(s)… menu, and each row's Action menu has View this participant in the central participants database, which is only active for participants that are actually in it.
Delete participant list sits at the right-hand end of the toolbar, styled red, and asks for confirmation before it runs.
Export the list before you delete it. Deleting removes every entry and every access code with it — anyone holding one of those codes loses access. If you only want to clear out some people, select them and use Delete in the Selected participant(s)… menu instead.
You can keep the control a participant list gives you and still open the survey to people you have not listed. Turn on public registration in the survey's participant settings: visitors arriving without an access code are offered a registration form, and anyone whose email address is not already in the list is added and emailed their own code. Codes issued this way all begin with R.
A CAPTCHA can be switched on for the registration, save and load forms to keep automated sign-ups out.
No. Anonymity is a separate setting.
If the survey is not anonymous, the participant list can be used to trace which answers came from which person. If the survey is anonymous, no link is stored between an entry in the participant list and its responses — you can still see that someone completed the survey, but not what they answered.
For a stronger separation, create dummy participants, export the codes, and match them to your own list outside LimeSurvey. You then distribute the codes yourself and no personal data enters the system at all.