Prefill Forms lets you generate personalized surveys from a spreadsheet. Each row becomes a unique survey with custom text, linked data, and its own identifier. This works for both printed paper surveys and web survey links.
Adding placeholders to your survey
Use double curly braces {{column_name}} anywhere in your survey text. When you generate copies, each placeholder is replaced with the value from the matching spreadsheet column.

Example question:
[height=2cm]Thank you for visiting {{location_name}} on {{visit_date}}. We value your feedback![/height]Spreadsheet:
| ID | location_name | visit_date |
|---|---|---|
| 123 | XYZ Restaurant | 2025-01-01 |
| 124 | ABC Venue | 2025-02-01 |
Result: Two surveys, one reading "Thank you for visiting XYZ Restaurant on 2025-01-01..." and the other "Thank you for visiting ABC Venue on 2025-02-01..."
You must wrap all dynamic text in height tags to prevent layout shifts that could affect recognition accuracy. Use [height=3cm]...[/height] around any text containing placeholders. Add [width=10cm] as well for complex layouts. Use centimeters (cm) or inches (in) for measurements.
Linking prefill data to responses

To include spreadsheet data alongside your survey responses for filtering and export, add a "Prefill Data" question for each column you want to track. The question name must match the spreadsheet column header exactly.
When surveys are scanned, the system reads the unique identifier QR code to match each response with its prefill data automatically.
Generating prefilled surveys
- Go to the Prefill Forms page and upload your spreadsheet (CSV or Excel)
- Select the rows you want to print
- Click "Print" and choose your survey template
Unique Page Marking must be enabled for prefill to work. For multi-page surveys this is automatic. For single-page surveys, enable "Uniquely mark single-page surveys" in survey settings.
Web survey links
The same feature works for web surveys. Enable web surveys in your survey settings, then select rows from your dataset and click "Generate links to web survey". Each link contains the prefilled data from that row.
Copies and file organization
By default, each spreadsheet row produces one survey. To generate multiple copies:
- Fixed count: Set a number in the "Copies" field to print the same amount for every row
- Variable count: Add a "Copies" column to your spreadsheet so each row specifies its own quantity
Use "Copies per file" to split large jobs into smaller PDFs, and "Group in folders" to organize output by a data field like location.
Custom identifiers
Each copy gets an auto-generated identifier. If you already have unique IDs in your database, include an "Identifier" column in your spreadsheet and select it in the print dialog. Each value must be unique, otherwise processing will fail.
Data retention when clearing
The "Clear data" function in survey settings deletes all responses but retains your prefill dataset. You can re-upload previously printed pages or start a new collection cycle without losing your prefill setup.