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