What Are Variables
A variable is an element you mark as dynamic. Instead of a fixed value, its content is supplied at render time — from the Generate dialog, a CSV file, or an API request. A single template then produces personalized images at any scale.
A variable is the whole element
Section titled “A variable is the whole element”Zandovi variables work at the element level, not inside text. When you mark a text element as a variable, its entire text content is replaced by the value you supply. The same applies to image, QR code, and barcode variables — the whole element’s value is swapped.
There is no inline {{...}} interpolation. Typing a mix of static text and a token — like Hello, {{first_name}}! — does not work: the {{first_name}} is not substituted, and the literal characters render as-is. To produce “Hello, Sarah!” you either:
- make the whole text element the variable and pass the full value
Hello, Sarah!, or - split it into two elements — a static
Hello,next to afirst_namevariable.
The {{variable_name}} you see in the app — the element’s header badge, and the text drawn on the canvas when a variable has no default — is just how Zandovi labels a variable element. It is not something you type into the text content.
Which elements support variables
Section titled “Which elements support variables”| Element type | Variable type | What it controls |
|---|---|---|
| Text | Text | The string content |
| Image Variable | Image | The image URL |
| QR Code | QR | The data / URL encoded in the QR |
| Barcode | Barcode | The data encoded in the barcode |
You bind an element to a variable through the Variable tab in the Properties panel, or by toggling Use as variable in the Design tab. See Creating a Variable.
Why variables matter
Section titled “Why variables matter”Without variables, a template is a static image — everyone gets the same output. With variables, a single template produces personalized images at any scale:
- Coupons — unique discount codes per customer.
- Gift cards — recipient name, balance, expiry date.
- Certificates — awardee name, course title, date.
- Event tickets — seat number, attendee name, QR check-in code.
- Loyalty cards — member ID barcode, points balance.
How variables feed into rendering
Section titled “How variables feed into rendering”Variables appear in the Generate dialog, where you can fill them in manually for single renders. For bulk rendering, you supply values in a CSV file. For programmatic rendering, you pass them in the API request body. See Generating & Exporting.