Checkout URL Parameters
Last updated: July 27, 2026
You can control what a donor sees, and pass data along with their gift, just by adding query parameters to a checkout link. This article covers every supported parameter: prefilling amount and fund, tracking custom data, and passing UTM source information.
This works for both one-time and recurring gifts.
How to build the link
Add parameters to your checkout URL starting with ? for the first one, then & for each additional one:
https://your-checkout-url?amount=50&recurring=true&frequency=monthly
Gift and form parameters
These parameters prefill the checkout form itself:
Parameter | What it does | Example |
| Prefills the gift amount, in dollars. |
|
| Sets one-time ( |
|
| Sets the recurring frequency and switches the gift to recurring automatically. Accepts |
|
| Preselects a single fund by its fund ID. |
|
| Preselects a single fund by its designation code instead of ID. |
|
| For checkouts with multiple designations turned on, splits the gift across funds with per-fund amounts. Format is |
|
| Prefills the anonymous giving checkbox. Only works if the checkout allows anonymous gifts. |
|
| Customizes the suggested one-time amount buttons shown to the donor. Format is `amount | Description`, comma separated. The description is optional. |
| Same as |
|
A few things worth knowing:
There is no
fund_idparameter. Funds are set throughdesignation(by ID) ordesignation_code(by code).Parameters only prefill what the checkout already allows. If a setting like anonymous giving or multiple designations is turned off, the parameter is ignored.
The donor can still change any prefilled value before completing their gift, unless the checkout is configured to lock it.
UTM tracking parameters
Standard UTM parameters are captured automatically from the checkout link and stored with the resulting gift, so you can trace a donation back to the campaign or channel that drove it:
Parameter | What it tracks |
| Where the traffic came from (for example, |
| The marketing medium (for example, |
| The specific campaign name. |
| Paid search keywords, if applicable. |
| Differentiates similar content or links within the same ad or email. |
Example:
https://your-checkout-url?utm_source=newsletter&utm_medium=email&utm_campaign=spring-appeal
No setup is required for UTM parameters. They're captured on every checkout visit.
Passing custom data with a custom field
You can also carry a piece of data (like a sponsorship ID, a child and amount breakdown, or any reference value) from a checkout link straight onto the resulting payment. The value is stored on the payment without ever showing to the donor as a form question, so you can use it to reconcile the gift in your CRM.
When to use this
Use this when an upstream system (your website, a CRM, a sponsorship page, or an email link) already knows something about the gift that you want stored on the payment, but you do not want to ask the donor for it on the checkout form.
A common example is child sponsorship: you send a donor to checkout with a child and amount breakdown packed into the link, the value lands on the payment, and your CRM maps it to the right children and designations.
What you need first
Two things have to be set up before a value will be captured:
A text custom field on the payment object. This is the field the value lands in.
The transaction tracking URL setting turned on for your organization. If this is off, nothing from the URL is captured.
How to build the link
Append the custom field to your checkout URL as a query parameter, using the field's key:
https://your-checkout-url?CF_<id>=<value>
The field key can be written two ways, and both work identically:
Format | Example |
|
|
|
|
Example
For a text custom field with key CF_436_child_sponsor_allocation, a link that carries three children and their amounts looks like this:
https://your-checkout-url?CF_436_child_sponsor_allocation=child1-30,child2-40,child3-25
You can pack a whole string into that one field. Commas, spaces, and other symbols are all stored correctly, so you are free to choose whatever delimiter your CRM expects.
Good to know
A few things to keep in mind as you set this up:
The value lands on the payment and the recurring plan only, not on individual designation or allocation records. If you need to split the value across designations, do that mapping in your CRM.
No backfill. This applies to new checkouts going forward, not to past payments.
If a link ever gets rewritten by an email tool or CRM link builder, you can encode commas as
%2C. It is not required, since the value is decoded on the way in.
Reconciling in your CRM
Because the value arrives as a single text string on the payment, your CRM is where you parse it back out. For example, a child and amount string can be read on the Salesforce side and matched to the correct child records and designations. Choose a delimiter in the link that your CRM can split on cleanly.
Combining parameters
All of the parameters above can be combined on a single link:
https://your-checkout-url?amount=50&recurring=true&frequency=monthly&designation=436&utm_source=newsletter&utm_campaign=spring-appeal&CF_436_child_sponsor_allocation=child1-30,child2-20