Pre-fill Donation Forms with Personalised URLs and Merge Fields
You can streamline the donation process by pre-filling non-personal values (like donation amount, frequency, or campaign tracking parameters) using URL query parameters.
For privacy and security, personal information (e.g., name, email) should not be included in URLs. If you need a personalised experience - such as greeting a supporter by name or pre-filling their contact details - use Authenticated Links (Magic Links). This allows Raisely to pull details from a secure session rather than an insecure URL.
What you can (and canβt) include in URLs
| β OK to include in URLs | β Avoid in URLs (PII) |
| Donation amount and frequency | Email address |
| Campaign tracking parameters (UTMs) | First name / Last name |
| Non-personal internal codes (e.g., Segment IDs) | Personal information such as Phone number or Address |
| Custom hidden fields (non-identifiable) | Any data that identifies a specific person |
Step 1: Set up your donation form for pre-filling
Before you can pass values via a link, your form needs to be configured to "listen" for those values.
- Navigate to Settings > Donation Form.
- Under the Amounts tab, configure your donation frequency (e.g., Monthly only).
- Disable Intelligent donation amounts if you wish to use specific custom buttons.
- Add or edit donation amounts as needed and click Save Changes.
Step 2: Configure non-personal fields
For non-personal fields (like a custom "Campaign Source" or "Amount"), you can set default values using query parameters.
- Find the field you wish to pre-fill (e.g., a hidden field for tracking).
- Edit the field and add a default value using the format:
{{query.fieldId}} - Example: To capture a specific tracking code, use
{{query.trackCode}}. - Click Save.
Step 3: Use authenticated links for personalisation
3a: Pre-fill non-personal values
You can pre-fill fields like amount and frequency by appending query parameters to your campaign URL.
Example Format: https://your-campaign.com/?amount=20&frequency=monthly&utm_source=newsletter
3b: Use Authenticated Links for Personalisation
If you need to greet supporters by name or automatically fill in their contact information, do not manually add &email= to your link. Instead, use the supporter's access token.
- How it works: A Magic Link contains a Secure Access Token. When clicked, it creates an authenticated session for the donor.
- Requirement: This only works if the recipient is an existing contact in your Raisely CRM. Since the token links directly to an existing profile, Raisely can "recognise" the donor and load their details automatically.
For example:
{{campaign.url}}?access_token={{user.accessToken}}
When a supporter clicks the above authenticated link from a Raisely message:
- A secure session is created.
- Raisely automatically identifies the supporter.
- Personal fields (Name, Email, etc.) are populated from their secure record, not the URL.
Step 4: Add the link to your message
- Create a new Message in Raisely.
- Insert a button or hyperlink.
- Paste the link built in Step 3 into the URL field for the button or hyperlink.
- When a donor clicks the link, their form is prepared automatically and securely.
Troubleshooting & FAQ
What happens if an authenticated link expires?
For security, these tokens typically expire after 48 hours. If a supporter clicks an expired link, they will be prompted to request a new Magic Link via email to resume their secure session.
Can I still use PII in URLs with third-party email services (Mailchimp, HubSpot, etc.)?
Technically, yes. If you manually append ?email={{email}} using your provider's merge tags, the form will still pre-fill that data. However, we strongly recommend against this. Passing PII in URLs is an insecure practice that exposes donor data to third-party tracking scripts and browser logs. We recommend using Raisely Messages to take full advantage of secure tokens.
Why won't the link pre-fill for new supporters?
Because Magic Links rely on a Secure Access Token tied to a specific record, they only work for people already in your CRM. For new or unknown supporters, use a standard URL with non-personal parameters (like amount or utm_source).
Can I still use merge fields for amounts?
Yes. You can safely use merge fields for non-identifying data as such:
{{campaign.url}}/?amount={{user.private.suggested_amount}}
Final Result
Existing donors get a frictionless, secure experience where their details are waiting for them, while your campaign remains compliant with the highest data privacy standards.