How to create Upgrade Links
Create links that let supporters increase donations or cover transaction costs.
You can create Upgrade Links through the Dashboard, CRM mapping, bulk exports, or manual construction. Each method works for all three link types: recurring amount upgrade, cost coverage upgrade, and One-Time Upgrade Link.
Before you choose a method, decide which type you're creating:
- Recurring plan links (recurring amount upgrade or cost coverage upgrade): For supporters with an active recurring plan who you want to increase their donation or start covering costs.
- One-Time Upgrade Link: For one-time supporters you want to invite to start a recurring plan.
Then choose a method based on your workflow:
- Dashboard: Create links one at a time for specific recurring plans.
- CRM mapping: Automatically sync links to your CRM for all recurring plans.
- Exports: Download links in bulk for email campaigns.
- Manual construction: Build links for custom integrations or create links without hash functions.
Create links from the Dashboard
The Dashboard lets you generate an Upgrade Link for any active recurring plan or eligible one-time donation. This works well when you need a link for a specific supporter.
These links include a hash function, which means supporters can confirm their upgrade immediately without email verification. However, this also means the links must go to the correct supporter. If you send a link to the wrong person, they can modify someone else's recurring donation.
If you accidentally send a link to the wrong supporter, reset your Secret key immediately in Settings > Recurring plans. Learn more about hash functions and security.
Recurring plan links
To create an Upgrade Link for a recurring plan:
- Go to the Recurring tab.
- Select a recurring plan.
- Click Offer plan upgrade.
- A window opens with two links:
- Recurring amount upgrade link: Lets supporters increase their donation amount.
- Cost coverage upgrade link: Lets supporters start covering transaction costs (only appears if fees aren't currently covered).
- Click Copy next to the link you want to use.
One-Time Upgrade Link
To create a One-Time Upgrade Link:
- Open a one-time donation detail page in Dashboard. To find one-time donations, go to Donations and set Frequency filter to One-time.
- Click Offer recurring upgrade.
- A window opens with the link for this donation. Click Copy to copy the link.
If the Offer recurring upgrade button is inactive and can't be clicked, the donation doesn't meet the eligibility criteria.
If an automatic Upgrade Link for this donation was already sent in a receipt email, a notice appears. You can still copy and use the link — it leads to the same result as the receipt email link, but only one recurring plan will be created per donation.
The donation detail page shows the link's current status — Active if unused, or Redeemed if the supporter started a recurring plan.
Only Organization Administrators can see the Offer recurring upgrade button on the donation detail page.
Map links to your CRM
If you use one of Fundraise Up's native CRM integrations, you can automatically send Upgrade Links to your CRM for all recurring plans. This saves time when you manage supporter communications through your CRM.
These links include a hash function, which means supporters can confirm their upgrade immediately without email verification. However, this also means the links must go to the correct supporter. If you send a link to the wrong person, they can modify someone else's recurring donation.
If you accidentally send a link to the wrong supporter, reset your Secret key immediately in Settings > Recurring plans. Learn more about hash functions and security.
Recurring plan links
To map recurring plan Upgrade Links:
- Go to Integrations and select your CRM.
- Go to the Mapping rules tab and click Add rule.
- In the Fundraise Up column, select recurring from the dropdown.
- Select the link type:
- recurring amount upgrade link: For donation amount increases.
- recurring cost coverage upgrade link: For cost coverage.
- In the right column, choose where to send the data in your CRM.
- Click Save changes.
Links sync to your CRM automatically. Fundraise Up only generates links for active recurring plans. If a plan isn't active, the fields export as empty.
Map the link to the donation or recurring plan record in your CRM, not to the supporter's contact record. This matters when supporters have multiple active recurring donations. After mapping to the donation record, use your CRM's functionality to associate the link with the supporter's contact record.
One-Time Upgrade Link
To map One-Time Upgrade Links to your CRM:
- Go to Integrations and select your CRM.
- Go to the Mapping rules tab and click Add rule.
- In the Fundraise Up column, select donation from the dropdown.
- Select One-time Upgrade Link.
- In the right column, choose where to send the data in your CRM.
- Click Save changes.
Links sync automatically for all eligible one-time donations. For ineligible donations, the field syncs as empty.
Map the link to the donation record in your CRM, not to the supporter's contact record. This matters when a supporter has multiple one-time donations.
Export links in bulk
Export Upgrade Links for multiple supporters in a single file. This works well for bulk email campaigns or when you want to review links before sending them.
These links include a hash function, which means supporters can confirm their upgrade immediately without email verification. However, this also means the links must go to the correct supporter. If you send a link to the wrong person, they can modify someone else's recurring donation.
If you accidentally send a link to the wrong supporter, reset your Secret key immediately in Settings > Recurring plans. Learn more about hash functions and security.
Recurring plan links
To export recurring plan Upgrade Links:
- Go to the Exports.
- Сlick New export file.
- Select Create new export file (not Use existing templates).
- For export type, select New recurring plans.
- In the General settings tab, configure filters as needed. For example, you might want only monthly supporters or only supporters from a specific campaign. Learn more →
- Go to the File columns tab.
- Click Clear all to start with an empty template.
- Add the Upgrade Link fields:
- Search for Recurring Amount Upgrade Link and click it (or drag it to the left column).
- Search for Recurring Cost Coverage Upgrade Link and click it (or drag it to the left column).
- Add Recurring ID field to identify which link belongs to which plan. This helps when supporters have multiple recurring donations.
- Add any other fields you need to identify supporters and their plans. You can find all available fields in the Fundraise Up Export Data Dictionary. Common choices include:
- Supporter Email
- Supporter First Name and Supporter Last Name
- Campaign Name
- Recurring Amount and Recurring Frequency
- Click Download file, select the date range for recurring plans you want to include and click Download.
One-Time Upgrade Link
To export One-Time Upgrade Links in bulk:
- Go to Exports.
- Click New export and select Create new export file.
- For export type, select Successful donations.
- In the General settings tab, configure filters as needed.
- Go to the File columns tab.
- Make sure the One-time to Recurring Upgrade Link field is added.
- Make sure Donation ID is added — this identifies which link belongs to which donation.
- Check that any other fields you need to identify supporters are included, such as Supporter Email, Supporter First Name, and Supporter Last Name.
- Click Download file, select a date range, and click Download.
For ineligible donations, the One-time to Recurring Upgrade Link field exports empty.
Construct links manually
Manual construction works for custom integrations with your own systems or when you need links without hash functions. You'll need technical knowledge and specific IDs from your account.
Requirements
To construct Upgrade Links manually, gather:
- Basic link: Your organization's upgrade URL. Find it in Settings > Recurring plans > Upgrade Links. Only Organization Administrators can access this page.
- Secret key (for hash functions only): On the same page as your Basic link.
- IDs: Export these in bulk from Dashboard.
- For recurring plan links: Recurring ID and Supporter ID.
- For One-Time Upgrade Links: Donation ID and Supporter ID.
Create links without hash functions
Links without hash functions require supporters to confirm through email before processing upgrades.
For amount increases:
1[BasicLink]?recurring=[RecurringID]&supporter=[SupporterID]Example:
For cost coverage:
1[BasicLink]?mode=covering_costs&recurring=[RecurringID]&supporter=[SupporterID]Example:
For one-time upgrades:
1[BasicLink]?donation=[DonationID]&supporter=[SupporterID]Example:
Create multiple links at once
To create links for many supporters:
- Open the Upgrade Links template.
- Copy the template to a new spreadsheet.
- Choose the tab for your link type: amount upgrades, cost coverage, or one-time upgrades.
- Replace the example Basic link with your organization's link.
- Paste the IDs from your Dashboard export — Recurring ID and Supporter ID for recurring plan links, or Donation ID and Supporter ID for one-time upgrades. Make sure each ID aligns with its Supporter ID.
- Add supporter emails, names, or other information you need (optional).
- The first two links in Finalized link generate automatically. Extend the formula down to create all links.
Create links with hash functions
Links with hash functions let supporters confirm upgrades immediately without email verification.
Create the signature using SHA256. The inputs depend on the link type:
- For recurring plan links:
RecurringID + SupporterID + SecretKey - For One-Time Upgrade Links:
DonationID + SupporterID + SecretKey
In the code below, ID refers to either RecurringID or DonationID depending on which type of link you're creating.
JavaScript:
1const crypto = require('crypto')
2
3function getSignature(ID, SupporterID, SecretKey) {
4 return crypto.createHash('sha256')
5 .update(`${ID}${SupporterID}${SecretKey}`)
6 .digest('hex')
7}
8
9function verifySignature(ID, SupporterID, SecretKey, Signature) {
10 return getSignature(ID, SupporterID, SecretKey) === Signature
11}Python:
1import hashlib
2
3def getSignature(ID, SupporterID, SecretKey):
4 return hashlib.sha256(f"{ID}{SupporterID}{SecretKey}".encode()).hexdigest()
5
6def verifySignature(ID, SupporterID, SecretKey, Signature):
7 return getSignature(ID, SupporterID, SecretKey) == SignatureFor amount increases:
1[BasicLink]?recurring=[RecurringID]&supporter=[SupporterID]&signature=[Signature]Example:
For cost coverage:
1[BasicLink]?mode=covering_costs&recurring=[RecurringID]&supporter=[SupporterID]&signature=[Signature]Example:
For one-time upgrades:
1[BasicLink]?donation=[DonationID]&supporter=[SupporterID]&signature=[Signature]Example:
For Bloomerang, see Automating Upgrade Links in Bloomerang email campaigns.
Generate links using the API
Fundraise Up provides a dedicated endpoint for generating One-Time Upgrade Links programmatically: POST /v1/upgrade_links/donations/{id}. Links are permanent and signature-authenticated — no login required.
Your API key must have the Upgrade Links — Write permission. You can add this permission when creating a new key or to an existing one in Settings > API keys.
You can also retrieve the link for an eligible donation through GET /v1/donations/{id}?include=upgrade_link. The response includes a one_time_to_recurring_upgrade_link field. The field is null for ineligible donations.
For recurring plan Upgrade Links, use the Dashboard, CRM mapping, or exports instead.
See the API reference for full endpoint details.