Annual subscription failed to renew
From: you@yourcompany.com
Subject: Your annual {{plan_name}} subscription failed to renew
Preheader: Quick fix โ keeps your annual plan and savings.
Hi {{customer_name}},
Your annual {{plan_name}} subscription was due to renew today, and the payment didn't go through ({{decline_reason}}).
Annual customers are our favorite kind, so let's get this fixed quickly. The renewal amount is {{amount}}, and you can update payment here:
๐ {{update_card_url}}
If you'd like to talk about pricing or alternatives, just reply.
Best,
{{company_name}}Variables to replace
- {{customer_name}}
- {{plan_name}}
- {{decline_reason}}
- {{amount}}
- {{update_card_url}}
- {{company_name}}
Why this works
Annual renewals carry larger amounts and need a more measured tone. Acknowledge the customer's value; offer human channel.
Want to see what this looks like on your Stripe?
See which of these templates would actually go out for your real failures โ and how much you'd recover. Free 3-min audit.
Frequently asked questions
Can I use this template commercially?+
Yes โ copy, paste, modify, ship. No attribution required.
What variables should I replace?+
This template uses: {{customer_name}}, {{plan_name}}, {{decline_reason}}, {{amount}}, {{update_card_url}}, {{company_name}}. Replace each with the corresponding customer/payment data from your system.
When should I send this email?+
On retry attempt 1. Combine with smart retry timing (e.g. day 1, 3, 7) for best results.
What recovery rate should I expect from this template?+
Single emails recover modestly (~5-15%). Combined with smart retry timing, save offers, and proper sequencing, full systems lift recovery to 40-65% โ vs ~30% for Stripe Smart Retries alone.
Does Rechurn use these templates?+
Yes โ Rechurn ships with versions of these as defaults, AI-rewrites them per customer/failure context, and runs them through smart retry timing automatically.