You can pre-fill certain values on your donation forms, event registrations, and widgets by adding a few details to the URL.
Personal Information
To pre-fill personal information on donation forms and event registrations, add /v/ to the URL, followed by a comma-separated list of field references and the value for each.
For example, to pre-fill the first and last name:
Before:
https://secure.qgiv.com/for/myformkey/After:
https://secure.qgiv.com/for/myformkey/v/first_name=John,last_name=Smith
You can use these field references:
first_name
last_name
address1
address2
city
state
zip
company
phone
email
Important: You can't use the company reference for event registrations.
Donation Amounts
If you use the Custom Amounts system on your donation form, or if you enabled one-time donations for your event registration, you can pre-select a giving amount by adding /amount/ to the URL, followed by the amount.
For example, to pre-select a $50.00 donation: https://secure.qgiv.com/for/myformkey/amount/50.00
If you've enabled the Other amount option, you can pre-fill it by adding /amount/other/ followed by the amount.
For example, to pre-fill the other amount with $55.55: https://secure.qgiv.com/for/myformkey/amount/other/55.55
Restrictions
You can pre-select restrictions and sub-restrictions by adding /restriction/[name] to the URL. This works only with active restrictions.
Tip: To get this URL, go to the Restrictions section of your control panel and click Copy URL next to the restriction.
Events
If you have more than one active event, you can pre-select an event by adding /event/ and the event ID to the donation form URL.
For example: https://secure.qgiv.com/for/myformkey/event/12345
Frequency
To pre-select a recurring frequency, add /frequency/[frequency_letter] to the URL.
The frequency letter can be any one of these:
w for Weekly
b for Every Other Week
m for Monthly
q for Quarterly
s for Semiannually
a for Annually
For example, to pre-select a monthly donation frequency: https://secure.qgiv.com/for/myformkey/frequency/m
You can combine these options. For example, to pre-select a giving amount and pre-fill the first and last name: https://secure.qgiv.com/for/myformkey/amount/50.00/v/first_name=John,last_name=Smith
Custom Fields
You can pre-fill custom fields on your donation forms by adding the customfields parameter to the form URL. This lets you fill in details you already know about a donor, such as a campaign source or a response you've collected before, so the donor has fewer steps to complete.
How It Works
The form matches each custom field by the Reporting Label for that custom field, with spaces replaced by underscores. To find or set a custom field's Reporting Label, read Donation Forms Custom Fields.
A donor can change any pre-filled value before they submit the form, and the form keeps the value the donor enters.
Make sure the fields in your URL are correct, and test your URL before your campaign. If your URL includes a field value that doesn’t exist, the field isn’t prefilled for your donors. If this happens, donors can still enter a value for that field.
Important: If you rename a Reporting Label, you must update your links.
Example: One Custom Field in a URL
Add one customfields[Reporting_Label]=value parameter for each field. To pre-fill more than one field, separate the parameters with an ampersand.
For a year-round donation form:
https://secure.qgiv.com/for/myformkey?customfields[Donation_Reason]=Tribute
For a peer-to-peer donation form:
https://secure.qgiv.com/event/myalias/donate?customfields[Donation_Reason]=Tribute
Example: Multiple Custom Fields in a URL
To pre-fill several custom fields of different types, connect the parameters with an ampersand: https://secure.qgiv.com/for/myformkey?customfields[Checkbox_Field]=yes&customfields[Joined_Mailing_List]=yes&customfields[Shirt_Size]=Medium
Supported Custom Field Types
The following table lists each custom field type, an example value, and how the form uses it.
Custom field type | Example value | What the form does |
Checkbox | yes | Selects the checkbox when the value is exactly yes. Any other value leaves it cleared. |
Date | 01/15/2026 | Uses MM/DD/YYYY format |
Dropdown | Option A | Matches an option by its label. If nothing matches, the field keeps its default. |
Email Address | Sets the email address | |
Hidden Field | tracking123 | Sets the hidden value, replacing the field's default. The donor never sees it.
Hidden fields can help you with reporting. |
Multiple Selection | Option A|Option B | Selects every matching option. Separate options with a pipe character. |
Number | 42 | Sets the numeric value |
Paragraph Text | long, detailed text | Sets the text value. Commas inside the value are kept. |
Phone Number | 5555555555 | Sets the phone value and shows it formatted, such as (555) 555-5555 |
Radio Button | Option B | Matches an option by its label. If nothing matches, the field keeps its default. |
Short Text | hello world | Sets the text value |
Website | Sets the website value |
Characters That Need Encoding
Some characters have a special meaning in a URL, so you must replace them with an encoded value for the form to read them correctly. If you build links with a URL builder tool, it usually encodes these for you. You only need to encode them yourself when you write a URL by hand.
The following table lists the characters to encode.
Character | Encoded value |
space | %20 |
& | %26 |
+ | %2B |
# | %23 |
% | %25 |
Widgets
All of these options also work with the widget system. To customize the URL beyond what the widgets interface offers, add the parameters to the URL in the data-embed attribute of your widget embed code.
For example:
<div class="qgiv-embed-container" data-qgiv-embed="true" data-embed-id="160" data-embed="https://secure.qgiv.com/for/yourformkey/embed/123/v/first_name=John,last_name=Smith" data-width="564"></div>
<script>(function(w, d, s, id){var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) return;js = d.createElement(s); js.id = id;js.src = "https://secure.qgiv.com/resources/core/js/embed.js";fjs.parentNode.insertBefore(js, fjs);})(window, document, 'script', 'qgiv-embedjs');</script>
Use Cases
Here are a few ways to use this feature:
Work with your existing login system so donation forms pre-fill with a donor's data after they sign in to your own account system.
Send an email with a call-to-action button that asks for a specific giving amount, and use the amount option to pre-select it. If your email tool uses tags for the donor's name, use the personal information options to fill those in too.
If you use your form for more than one event, add registration links to your site for specific events using a direct link to the event.
