Prefill a donation form with a donor's details

Add parameters to your form's URL to fill in name, email, address or amount before the donor starts typing.

Donation formsForm v6

If you already know who you are sending a donation link to, you can fill in their details for them. Add parameters to the end of your form's URL and the form arrives with those fields completed.

This is what makes a renewal email or a major-donor appeal feel personal: the donor clicks through and only has to confirm an amount.

The short version

https://pages.donately.com/yourorg/form/frm_xxxx?donately-first-name=Jane&donately-last-name=Doe&donately-email=jane@example.com

Everything after the ? is a list of name=value pairs joined by &.

Donor fields you can prefill

Use these exactly as written. The parameter name is the form field's id, which is why they all start with donately-.

Parameter Fills in
donately-first-name First name
donately-last-name Last name
donately-email Email address
donately-phone-number Phone number
donately-street-address Street address
donately-street-address-2 Address line 2
donately-city City
donately-state State or province
donately-zip-code ZIP or postal code
donately-country Country
donately-comment Comment or message
donately-onbehalf On behalf of / tribute name
donately-anonymous Anonymous checkbox, true or false
donately-donor-pays-fees Donor pays fees checkbox, true or false

A full address example:

?donately-first-name=Jane&donately-last-name=Doe&donately-email=jane@example.com&donately-street-address=100%20Main%20St&donately-city=Chicago&donately-state=IL&donately-zip-code=60601&donately-country=US

A field only fills if the form actually shows it. If your form has address fields turned off, the address parameters are ignored.

Form settings you can set

These change how the form behaves rather than filling a field in, and they use short names without the donately- prefix.

Parameter Sets Example
amount The donation amount, in dollars amount=55
presets The preset amount buttons presets=25,50,100,250
currency Currency, as a 3-letter code currency=usd
campaign-id Attribute the gift to a campaign campaign-id=cmp_7ce279325f9e
fundraiser-id Attribute the gift to a fundraiser fundraiser-id=fun_xxxx
recurring-frequency Preselect a recurring option recurring-frequency=1.month

So a monthly renewal link for a specific campaign, with the donor filled in:

?amount=25&recurring-frequency=1.month&campaign-id=cmp_xxxx&donately-email=jane@example.com

Encoding values

Anything with a space or a punctuation mark needs URL-encoding. Spaces become %20, and an & inside a value becomes %26. 100 Main St becomes 100%20Main%20St.

If you are building these links in a spreadsheet or a mail-merge, encode the merge field rather than pasting raw text, or a donor named "O'Brien" will break the link.

What prefilling does not do

It does not lock anything. Every prefilled value is still an ordinary form field the donor can edit. If you need an amount the donor cannot change, set it in the form builder and lock it instead.

Do not put anything sensitive in a link. A URL is not private. It lands in browser history, gets passed along in referrer headers, sits in your email service's click logs, and is recorded on the donation itself: any parameter Donately does not recognise is stored as a tracking code on the resulting gift. Prefilling a name and email that you already hold is reasonable. Anything you would not want logged does not belong in a URL.

When it does not work

Forms embedded as an iframe. The parameters have to reach the form, and the iframe embed does not carry them across. Use the Simple script or Advanced script embed if you need prefilling on your own site, or link straight to the hosted form. See put your donation form on your website for which embed you are using.

Pages served over plain HTTP. The form falls back to iframe rendering, with the same result as above.

Version 7 forms. Prefilling from the URL is not available on v7 forms. If your form is on v7 and you need this, contact support and we will tell you where the change stands.

Doing it in code instead

The Advanced script embed takes the form-settings options above directly in JavaScript, which is tidier than a query string when you are generating pages programmatically. Note that it covers the settings in the second table only: donor name and address are not available as script options, so the URL is the route for those.

Last updated

Still stuck?

We use cookies to understand how the help centre is used, and to see which articles lead people to Donately. Nothing is set unless you agree.