Upsell Links

Create personalized links for each of your recurring donors, allowing them to increase their regular donation with zero friction.

Upsell Links can be created and used by your organization to encourage recurring donors to donate more.

Fundraise Up doesn’t distribute Upsell Links to donors. If you choose to create Upsell Links, your organization is responsible for distributing them to donors correctly.

Donors open these links, and are given the option to increase their donation amount or start covering their transaction costs, depending on which type of link you create and send. These links do not allow donors to decrease or cancel their recurring donation.

You create the personalized links, which can then be added to communications with recurring donors — in email campaigns, for example. You can create these links with a hash function or without (more on this below).

There are two types of Upsell Link you can create:

  • Main donation amount upsell: eg. encourage a donor who donates $25 per month to go up to $40. The optimal amounts that should be suggested to each donor are chosen by Fundraise Up’s AI, which detects factors such as the donor’s location and donation amount, to maximize successful upsells.
  • Cost coverage upsell: encourage a donor who doesn’t cover the costs for their donations to start doing so. Eg. if the donor donates $20 per month, this link would upsell them to cover fees, say, to $22 per month.

Upselling the main donation amount

This is the first type: where the donor is upsold on the main donation amount, for example from a $25 monthly donation to a $40 monthly donation. As mentioned above, our AI will decide which increase amounts each donor is offered. They will also be presented with a checkbox option to cover their transaction costs, as in the original Checkout.

When a donor clicks the link to increase their main donation amount, they’ll see this screen:

If the donor already covers costs for their regular donation, and you send them an Upsell Link to increase their main donation amount, they will also be upsold on the cost coverage. For example, if they were covering the $2 costs for their $20 donation and they upsell to $50, the upsell takes them to $50 plus higher costs — say, $5. So, they’d go from $22 to $55 in this imagined scenario, and not $22 to $52. This is made clear to donors, as in the following example:

Upselling for cost coverage

This is the second type: donors are given the option to start covering the costs associated with their regular donation. If the donor opens the cost-coverage Upsell Link, they’ll see this screen:

If a donor chooses to start covering their costs, they’ll also be given the option to increase their main donation amount, once the cost covering has been confirmed. Likewise, if a donor who already covers their costs is accidentally sent this type of link, they see the following screen:

Hash functions

You can create links with a secure hash function or without.

If using links without a hash function, donors will also be required to confirm their donation increase in an email, sent to them automatically by Fundraise Up. If using links with a hash function, this extra step is not required. This is because the use of the hash, created using the organization’s secret key from Fundraise Up, already pre-confirms definitively that the link was created by the organization and is legitimate.

A hash function is a mathematical function that transforms a given set of data (in this case the secret key, supporter ID and recurring ID) into a bit string of fixed size. Once a hash value has been generated, it is impossible to convert it back into the original data, making the hash fully secure. The type of hash function used for our Upsell Links is SHA256.

Hash functions must be very carefully distributed to ensure no errors are made. If links with a hash function are sent to the wrong donors, they will be able to increase donation amounts for other donors. If you made a mistake, contact the Fundraise Up Support team immediately so that we can reset the secret key and disable all your links that use the hash function.

How to create Upsell Links

Step 1: Gather the information you need

You need the following information to create an Upsell Link:

  • The Recurring ID of the recurring plan you’re planning to offer an increase on, as well as the donor’s Supporter ID. These can be easily exported from the Dashboard.
  • Your organization’s Basic Link and Secret Key. You’ll only need the latter if you want to create links that use a hash function. Find both of these in Settings → Recurring plans under Upsell Links.

Step 2: Create and test the hash for your links (optional)

To create a signature (hash), you need to apply the SHA256 algorithm. For the input data, you need the following parameters:

  • RecurringID
  • SupporterID
  • SecretKey
1Signature = getSignature(RecurringID + SupporterID + SecretKey)

Example in pseudocode

1const crypto = require('crypto')
2
3function getSignature(RecurringID, SupporterID, SecretKey) {
4  return crypto.createHash('sha256')
5               .update(`${RecurringID}${SupporterID}${SecretKey}`)
6               .digest('hex')
7}
8
9function verifySignature(RecurringID, SupporterID, SecretKey, Signature) {
10  return getSignature(RecurringID, SupporterID, SecretKey) === Signature
11}

An example of the creation and verification of a hash using JavaScript

1import hashlib
2    
3def getSignature(RecurringID, SupporterID, SecretKey):
4  return hashlib.sha256(f"{RecurringID}{SupporterID}{SecretKey}".encode()).hexdigest()
5
6def verifySignature(RecurringID, SupporterID, SecretKey, Signature):
7  return getSignature(RecurringID, SupporterID, SecretKey) == Signature

An example of the creation and verification of a hash using Python

Step 3: Assemble the links

Choose which type of link you want to create, and use the following structures:

Non-hash function, main donation upsell

1[BasicLink]
2  ?recurring=[RecurringID]
3  &supporter=[SupporterID]

How to construct a main donation upsell link (without a hash function)

1https://mycharity.donorsupport.co/upgrade?recurring=RXXXXXXX&supporter=SXXXXXXX

An example of a main donation upsell link (without a hash function)

Non-hash function, cost coverage upsell

1[BasicLink]
2  ?mode=covering_costs
3  &recurring=[RecurringID]
4  &supporter=[SupporterID]

How to construct a cost coverage upsell link (without a hash function)

1https://mycharity.donorsupport.co/upgrade?mode=covering_costs&recurring=RXXXXXXX&supporter=SXXXXXXX

An example of a cost coverage upsell link (without a hash function)

Hash function, main donation upsell

1[BasicLink]
2  ?recurring=[RecurringID]
3  &supporter=[SupporterID]
4  &signature=[Signature]

How to construct a main donation upsell link with a hash function

1https://mycharity.donorsupport.co/upgrade?recurring=RXXXXXXX&supporter=HSXXXXXXX&signature=27c05162f113015eee93fb024089bf75933314273fb27724409055f72233dc51

An example of a main donation upsell link with a hash function

Hash function, cost coverage upsell

1[BasicLink]
2  ?mode=covering_costs
3  &recurring=[RecurringID]
4  &supporter=[SupporterID]
5  &signature=[Signature]

How to construct a cost coverage upsell link with a hash function

1https://mycharity.donorsupport.co/upgrade?mode=covering_costs&recurring=RXXXXXXX&supporter=SXXXXXXX&signature=27c05162f113015eee93fb024089bf75933314273fb27724409055f72233dc51

An example of a cost coverage upsell link with a hash function.

Step 4: Distribute the links

Fundraise Up does not distribute these links in emails to donors. We recommend using a 3rd party CRM service, such as Mailchimp, to distribute individual links to your recurring donors. This can also be done via SMS and other direct communication channels.

 

In this article