templates Transactional Email Templates
Transactional copy should be calm, action-oriented, and impossible to mistake for a phishing email. The packs below cover the six transactional sends every product needs.
last updated 2026-05-07 6 templates
implementation note
Replace variables before sending, keep one primary action per email, and connect each template to a specific trigger rather than a generic drip schedule.
01 Order receipt
Sent on successful charge. subject
Receipt for your {{ProductName}} order
preview
#{{order_id}} · {{total}}
body
Hi {{first_name}},
Thanks for your order with {{ProductName}}.
Order #{{order_id}}
Total: {{total}}
Paid: {{date}}
{{itemized_list}}
View in account: {{billing_portal_url}}
Need a hand: {{support_email}}
{{Company name}} variables
{{first_name}}{{ProductName}}{{order_id}}{{total}}{{date}}{{itemized_list}}{{billing_portal_url}}{{support_email}}{{Company name}}
mistakes to avoid
- ›Burying the total in marketing copy.
- ›Skipping the itemized breakdown.
- ›No link to the billing portal.
02 Password reset
Sent on user-initiated password reset. subject
Reset your {{ProductName}} password
preview
Link expires in 60 minutes.
body
Hi {{first_name}},
You (or someone with your email) asked to reset the password on your {{ProductName}} account.
Reset link: {{reset_url}}
This link expires in 60 minutes and can only be used once. If you did not request a reset, you can safely ignore this email; your password has not changed.
{{Company name}} variables
{{first_name}}{{ProductName}}{{reset_url}}{{Company name}}
mistakes to avoid
- ›Links that do not expire.
- ›Reusable links (replay attacks).
- ›Marketing copy in a security email.
03 Magic link login
Sent on user-initiated magic link request. subject
Your sign-in link for {{ProductName}}
preview
Expires in 10 minutes.
body
Hi {{first_name}},
Click to sign in: {{magic_link_url}}
Link expires in 10 minutes. If you did not ask to sign in, ignore this email.
{{Company name}} variables
{{first_name}}{{ProductName}}{{magic_link_url}}{{Company name}}
mistakes to avoid
- ›Links that work after multiple clicks (one-time-use is the norm).
- ›Long expiration windows.
04 Email verification
Sent immediately on signup. subject
Confirm your email for {{ProductName}}
preview
One click to finish setup.
body
Hi {{first_name}},
Confirm your email to finish setting up {{ProductName}}: {{verification_url}}
Link expires in 24 hours.
{{Company name}} variables
{{first_name}}{{ProductName}}{{verification_url}}{{Company name}}
mistakes to avoid
- ›Treating verification as optional.
- ›Verification flows that drop the user on a dead-end page.
05 Payment failure
Sent on declined renewal charge. subject
Card charge failed
preview
Action required.
body
Hi {{first_name}},
A charge for your {{ProductName}} subscription was attempted on {{attempt_date}} and the card was declined.
Reason from the gateway: {{decline_reason}}
If billing is not updated by {{access_end_date}}, your account will be paused.
Update billing: {{billing_portal_url}}
{{Company name}} variables
{{first_name}}{{card_last4}}{{ProductName}}{{attempt_date}}{{decline_reason}}{{access_end_date}}{{billing_portal_url}}{{Company name}}
mistakes to avoid
- ›Marketing tone.
- ›Apologies that imply your fault.
- ›Hidden access-end date.
06 Trial expiration
Sent at T-3 days from trial end. subject
Your {{ProductName}} trial ends in 3 days
preview
Convert, extend, or cancel.
body
Hi {{first_name}},
Your {{ProductName}} trial ends on {{end_date}}.
During your trial you {{trial_summary}}. If that has been useful, you can convert any time: {{upgrade_url}}
Not the right fit yet? You can extend the trial by 7 days: {{extend_url}}, or cancel from your account: {{billing_portal_url}}.
{{Company name}} variables
{{first_name}}{{ProductName}}{{end_date}}{{trial_summary}}{{upgrade_url}}{{extend_url}}{{billing_portal_url}}{{Company name}}
mistakes to avoid
- ›Surprise expirations.
- ›Fake countdown urgency.
- ›Hiding the cancellation flow.