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

amount

Prefills the gift amount, in dollars.

?amount=50

recurring

Sets one-time (false) or recurring (true).

?recurring=true

frequency

Sets the recurring frequency and switches the gift to recurring automatically. Accepts daily, weekly, bimonthly, monthly, quarterly, semiannual, yearly, or 1_and_15.

?frequency=monthly

designation

Preselects a single fund by its fund ID.

?designation=436

designation_code

Preselects a single fund by its designation code instead of ID.

?designation_code=general-fund

designations

For checkouts with multiple designations turned on, splits the gift across funds with per-fund amounts. Format is id_or_code:amount, comma separated. When every fund in the list has an amount, the total overrides amount.

?designations=436:30,general-fund:40

anonymous

Prefills the anonymous giving checkbox. Only works if the checkout allows anonymous gifts.

?anonymous=true

asks

Customizes the suggested one-time amount buttons shown to the donor. Format is `amount

Description`, comma separated. The description is optional.

recurring_asks

Same as asks, for the suggested recurring amount buttons.

?recurring_asks=10,25,50

A few things worth knowing:

  • There is no fund_id parameter. Funds are set through designation (by ID) or designation_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

utm_source

Where the traffic came from (for example, newsletter, facebook).

utm_medium

The marketing medium (for example, email, social, cpc).

utm_campaign

The specific campaign name.

utm_term

Paid search keywords, if applicable.

utm_content

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:

  1. A text custom field on the payment object. This is the field the value lands in.

  2. 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

CF_<id>

CF_436

CF_<id>_<name>

CF_436_child_sponsor_allocation

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