Let’s look at how we can use ActionKit’s recurring mailings to automate a process for recapturing monthly donors!
We’re going to walk through setting up a page where lapsed donors can sign up again, creating a mailing with a personalized ask, targeting monthly donors who failed to make a successful payment, scheduling the recurring series, and tracking results.
These instructions assume that you are targeting donors in a single currency. If you want to target recurring donors in multiple currencies read the international version.
1. Create a donation page
The first step is to create a page that allows users to sign back up for a monthly donation.
Be sure to leave “Show Other Amount” checked on the “Edit content” step – we’re going to use it to prefill the user’s previous donation amount.
Keep the link to your page handy. Ours is:
Now would be a good time to test your page! We’ll wait. Done? Great! Let’s go set up our the mailing.
2. Write your ask.
Click on Mailings -> Create a New Draft.
Here’s what we wrote, using the donation snippets to customize the text for this particular person.
Select the page you created in Step 1 in the Landing Page select.
The snippets above, which start “donations.” will only return values for recurring donations in the same currency as the Landing Page you select. By default these snippets include a dollar symbol, but we edited them so they’ll show the currency symbol for the landing page selected.
Regardless these snippets only work for one currency per mailing. For example, if your Donation Page is using a Payment Account in EURs, then the snippets will only use recurring donations in EURs. The default currency is USD, but it’s a good idea to specify a currency if you accept foreign currencies by selecting a Landing Page that uses the payment account for the appropriate currency.
If you want to target users giving in different currencies, see the international instructions.
We also added the following parameters to our URL to tell ActionKit to use the amount of the user’s previous recurring commitment in the mailing and as the prefilled amount on the page:
- amount_other – set to the amount you’re asking them to give
- prefill – used by actionkit.js to prefill the amount
OK, let’s move on to targeting?
3. Target users with failed recurring donations
There are several cases we might want to catch where a user’s recurring donation is no longer being processed successfully:
- a user canceled their own donation
- payment processor canceled their donation
- an admin canceled their donation
- a user started but failed to complete signup to give a donation
- payments failed, but the recurring order was not canceled
Here we’ll focus on users who failed to make a payment, and were subsequently canceled by the payment processor. Targeting users canceled by the processor is easy – you can use the built-in report “cards_recently_failed” to find users who have a canceled profile on which they made a successful payment in the last two months.
On the Select Recipients screen, select Add Criteria > Query Report, search for “recently” or “failed”, select the “Donors whose cards recently failed” and click Add Query.
The cards_recently_failed report searches for recurring orders marked “canceled_by_processor” with a successful payment in the last two months – but if that’s not quite the right targeting for you, you can edit this report or create a custom query.
Note: Braintree never cancels recurring orders by default. In addition, they will charge a user for all missed payments if they eventually update their card. We’ve created a custom recurring retry system specifically for Braintree so you can change this if you’d like. Contact Support to learn more.
You could also target users who failed to make a payment, but haven’t actually been canceled yet, using a slightly different query:
SELECT distinct profile.user_id FROM core_orderrecurring profile JOIN core_transaction failed ON ( profile.order_id=failed.order_id AND failed.status = 'failed' AND failed.created_at > now() - interval 30 day) LEFT JOIN core_transaction success ON ( failed.order_id=success.order_id AND failed.id < success.id AND success.status='completed') LEFT JOIN core_orderrecurring newer_profile ON ( profile.user_id=newer_profile.user_id AND newer_profile.created_at > profile.created_at AND newer_profile.status = 'active' ) WHERE profile.status = 'active' AND success.id IS NULL AND newer_profile.id IS NULL
It can be tricky to test and proof recurring mailings because you may not have users who meet the targeting criteria on any given day. Proofs and the preview do not take into account your mailing schedule – they use today’s date (or, if no one would be targeted today, you’ll get an in-browser preview generated with test user data and no e-mailed proof). You can proof your mailing and review the appearance by targeting any user with a recurring profile and sending a proof, but don’t forget to change your targeting back after testing. It’s a good idea to do a final test when there are some users in the right state to confirm everything is working correctly.
4. Schedule the recurring mailing series
You’ll need to decide how often and how many times you want to email users about their failed cards.
We’re going to send this mailing once a week. We’ll create separate mailings for our second and third reminders (for those who don’t give in response to this one) so they can have different content and send on a different schedule. To make sure users who have received this mailing don’t receive it again, we’re going to add an exclusion to our targeting. To do this, we first create our recurring series by selecting the Make recurring option under Send or Schedule on the Proof and Send screen and clicking New Series.
In the pop up enter a name for the series. Each series can only be associated with one mailing. If you need to create another recurring mailing later for a different purpose that sends on the same scheduled you’ll need to make a separate series for it so it’s helpful to have the name describe the mailing purpose.
Then set the schedule. We’re setting the mailing to send Weekly, on Mondays, at 8 AM Eastern time.
Confirm that everything looks right under Send or Schedule and note the recurring series number. We’ll need that again in the next step.
To set this mailing to exclude everyone who has previously received a mailing in the series Click Save and continue editing, scroll to the top of the screen, and click select recipients.
Click Exclude Groups>Query Report, search for “recurring” and select the Recently Received Recurring Mailing report. Enter the recurring_schedule_id for your mailing and a number of days that ensure the user hasn’t received this mailing previously. Since we’re planning separate 2nd reminder and 3rd reminders set up, we really don’t want anyone to receive this particular mailing a second time unless they re-up and stop paying again. This requires two billing cycles, so we don’t want anyone to get this mailing again if they’ve received it in the last 60 days.
Now return to the proof and send screen, click Start recurring mailing, and confirm on the next screen. Our mailing is now scheduled!
Note: Alternatively, you could use this mailing for all of our reminders, if you want to send the same content on the same schedule. You’ll need to think carefully about how the interval of the targeting that looks for failed payments will interact with the frequency of your recurring mailing series. The “Donors whose cards recently failed” query looks back 2 months for a successful payment. If you sent a weekly reminder to these users, you’d email the same users every week until they either signed back up or their last successful payment was more than 2 months ago. You could end up sending one reminder or 4 or more reminders, depending on how quickly your merchant vendor marks the donation as canceled.
5. Tracking Results
The mailing report for recurring mailings includes data for all of the mailings in the series. Under /dash/mailings, click Scheduled, and find your mailing. The subject is linked to the Mailing Report page.
We definitely recommend you track trends here!