The end of the year is typically a critical time for fundraising, and many organizations experience a significant boost in donations during this period. This is an excellent opportunity for organizations to reach out to supporters and encourage contributions to meet end-of-year goals.
Hoping to increase donations? You can do that with the help of a couple of Liquid's math output filters. By calculating a suggested donation based on either the recipient’s last donation or average gift amount, you can create tailored email appeals that encourage increased giving while recognizing past contributions.
Overview
NationBuilder’s email tool supports Liquid, a templating language that enables you to personalize messages by using conditional logic and variables. This guide covers two methods for generating a suggested donation amount:
Option 1: Calculating an increased amount based on the recipient’s last donation.
Option 2: Calculating an increased amount based on the recipient’s average gift.
Once calculated, you can pass the suggested amount to the donation page, pre-filling the “other” donation amount field.
Create a new email blast and get started!
Option 1: Create a personalized suggested donation based on last donation
In this example, we’ll use liquid to dynamically display a suggested donation of 25% more than the previous donation amount. To calculate an increased suggested donation amount based on a recipient’s last donation:
Add the following code before your email content:
{% assign suggested_donation = recipient.last_donation.amount_in_cents | divided_by: 100.0 | times: 1.25 %}
{% assign dollars = suggested_donation | floor %}
{% assign cents = suggested_donation | minus: dollars | times: 100 | round: 0 %}
{% if cents < 10 %}
{% assign cents = "0" | append: cents %}
{% endif %}
2. Because of the code we added before the email content, to display the suggested donation amount (in this case, 25% more than the previous donation), just paste ${{ dollars }}.{{ cents }}
3. To ensure the recipient is led to your donation page with the suggested donation amount selected, append ?amount={{dollars }}.{{ cents }}
to the end of your donation page URL.
For example: https://nationslug.nationbuilder.com/donate?amount={{dollars }}.{{ cents }}
Option 2: Create a personalized suggested donation based on average donation amount
In this example, we’ll use Liquid to dynamically display a suggested donation of 25% more than the average donation amount. To calculate an increased suggested donation amount based on a recipient’s average donation:
Add the following code before your email content:
{% assign total_donations = 0 %}
{% assign donation_count = 0 %}
{% for donation in recipient.donations %}
{% assign total_donations = total_donations | plus: donation.amount_in_cents %}
{% assign donation_count = donation_count | plus: 1 %}
{% endfor %}
{% if donation_count > 0 %}
{% assign average_donation = total_donations | divided_by: donation_count | divided_by: 100.0 %}
{% assign suggested_donation = average_donation | times: 1.25 %}
{% assign suggested_donation = suggested_donation | round: 2 %}
{% assign suggested_donation_string = suggested_donation | split: "." %}
{% assign dollars = suggested_donation_string[0] %}
{% assign cents = suggested_donation_string[1] | append: "0" | slice: 0, 2 %}
2. Because of the code we added before the email content, to display the suggested donation amount (in this case, 25% more than the average donation amount), just paste ${{ dollars }}.{{ cents }}
3. To ensure the recipient is led to your donation page with the suggested donation amount selected, append ?amount={{dollars }}.{{ cents }}
to the end of your donation page URL.
For example: https://nationslug.nationbuilder.com/donate?amount={{dollars }}.{{ cents }}
We are suggesting a donation 25% more than the previous donation amount or average donation amount. To customize the amount increased, adjust the times: 1.25
amount.
If you’d like to reference the donors previous donation amount, you can use the Smart field Last donation amount
. To access Smart fields in the email editor, click Add > Smart field > select Donations from the dropdown menu > Last donation amount:
To learn more about using Smart fields in email, check out our documentation here.
When making fundraising asks, we recommend segmenting your audience so that your message is specific and meaningful to the recipient. However, if you want to send the same message to both donors and supporters who have never donated before, and customize the messaging for each subgroup, you can do so using additional Liquid.
Add the liquid
{% if recipient.is_donor? %}
to the top of the{% assign suggested_donation
liquidEnter the message for donors
Add
{% else %}
Enter the message for supporters who have never donated
Add
{% endif %}
to the end of the message
Content inspiration
Option 1: Email template for political campaigns - Increase last donation by 25%
Subject: Your support has made a difference—will you help again?
Hi {{recipient.first_name_or_friend}}
,
We’ve asked you to stand with [Candidate’s Name] during a crucial time for our campaign, and your support made an incredible impact. Thanks to committed supporters like you, we were able to fund critical outreach efforts in [specific location or initiative] and bring our message to thousands of voters.
But now, we’re up against another hurdle—our opponents just launched an aggressive ad campaign, and we need to respond immediately to keep our momentum. With just [# weeks] until Election Day, every dollar counts.
--- Message for donors ---
{% if recipient.is_donor? %}
{% assign suggested_donation = recipient.last_donation.amount_in_cents | divided_by: 100.0 | times: 1.25 %}
{% assign dollars = suggested_donation | floor %}
{% assign cents = suggested_donation | minus: dollars | times: 100 | round: 0 %}
{% if cents < 10 %}
{% assign cents = "0" | append: cents %}
{% endif %}
Here’s how your donation will help:
Support field organizers working to mobilize voters across [state/district]
Run ads to counter misleading attacks from our opponents
Ensure [Candidate’s Name] can keep fighting for issues like [top campaign issue]
Increasing your previous contribution by 25% will go even further to keep us competitive at this critical time. Our goal is to raise $[Goal Amount] by midnight tomorrow, and your donation of ${{ dollars }}.{{ cents }}
can make all the difference.
Can we count on you to step up again—this time with a little extra push?
{% else %}
--- End message for donors ---
--- Message for non-donors ---
Here’s how your donation will help:
Support field organizers working to mobilize voters across [state/district]
Run ads to counter misleading attacks from our opponents
Ensure [Candidate’s Name] can keep fighting for issues like [top campaign issue]
Our goal is to raise $[Goal Amount] by midnight tomorrow, and your donation of just $10 can make all the difference.
Can we count on you to accomplish this goal?
{% endif %}
--- End message for non-donors ---
Thank you for everything you’ve done so far. This campaign is a movement, and your commitment makes all the difference.
Together, we can achieve a brighter future.
Warm regards,
[Your Name]
[Your Position]
[Campaign Name]
[Contact Information]
P.S.We’ve come so far together, but we’re not done yet. Please consider donating here—every bit helps us fight back and win!
Downloadable email templates
Click the links below to download the email template that best fits your organization. Copy and paste the content into the body of your email blast, and customize the email content to your preference. Be sure to edit the links in the template so that they go to your donation page!
Conclusion
By using these techniques, you can tailor end-of-year appeals that recognize your supporters' past contributions while inspiring them to increase their impact. With personalized suggested amounts based on each recipient’s giving history, your organization can deepen engagement and maximize donation potential. As you refine these appeals, remember to test different strategies to see what resonates best with your audience.
Now, you’re all set to launch effective, personalized campaigns that drive meaningful support!