Dynamic QR URLs
What it is
A dynamic QR URL contains replacement variables in the destination URL field. When thanks.io generates each mailer, it substitutes the variables with that recipient's real data - so each QR code points to a unique URL for that person.
Example
URL in the Message Template:
https://yoursite.com/welcome?name=~FIRST_NAME~&agent=~YOUR_FULL_NAME~
For a recipient named "Sarah", the QR code points to:
https://yoursite.com/welcome?name=Sarah&agent=Jane%20Smith
How to set it up
- Open a Message Template.
- In the QR Code URL field, type your base URL and insert replacement variables using
~VARIABLE~syntax. - Save the template.
- Preview with a test recipient to confirm the URL resolves correctly.
Common variable uses in QR URLs
| Variable | Example use |
|---|---|
~FIRST_NAME~ | Pre-fill a form with the recipient's name |
~ADDRESS~ | Pass address to a personalized landing page |
~CUSTOM1~ | Carry a CRM ID, coupon code, or lead source parameter |
~YOUR_COMPANY~ | Identify the sending agent or business |
See Replacement Variables for the full list.
Tips & best practices
- Test dynamic URLs with multiple recipients before a campaign launch - a missing
~CUSTOM1~renders as an empty string in the URL, which may break your destination page. - Use
~CUSTOM1~–~CUSTOM10~to carry CRM IDs or coupon codes from your data source into the QR URL. - Keep dynamic URLs simple. The more variables you include, the more edge cases to test.
Limits & gotchas
- Variables in the URL are substituted in plain text - do not pass sensitive identifiers (SSNs, tokens) as URL parameters.
- The URL must be publicly accessible; private or localhost URLs will not work.