How to Design Personalized Lifecycle Emails

Author
Charlie Hopkins-BrinicombeCharlie Hopkins-Brinicombe

Lifecycle emails — progress recaps, streak reminders, achievement celebrations, reactivation nudges — are one of the most effective retention channels available to consumer apps. They extend the product experience into the inbox at exactly the moment a user might be drifting away. Across Trophy's platform, customers who send automated lifecycle emails see an average 16% boost in retention compared to those who don't.

But most lifecycle emails fail because building them properly is an infrastructure problem. Showing a user their achievement progress, their streak calendar, or their activity trends means pulling real-time behavioural data, rendering it into email-safe formats, handling timezones, and keeping content fresh over months of repeat sends. Most teams either spend weeks of engineering time building this custom, or settle for generic emails that users learn to ignore.

Trophy's email builder solves this with three capabilities that work together: Smart Blocks for data-driven visual components, dynamic variables for personalised copy, and text variations for keeping recurring emails fresh. Here's how each works and how to combine them into lifecycle emails that drive real retention.

Why lifecycle emails matter (and why most fail)

Lifecycle emails sit between transactional emails (password resets, receipts) and marketing emails (product announcements, promotions). They're triggered by what a user has or hasn't done in your product:

  • A user hits a milestone → achievement celebration email
  • A user's streak is about to expire → reminder email
  • A user hasn't opened the app in two weeks → reactivation email
  • End of the week/month → progress recap email

The value is obvious: these are the highest-intent moments to re-engage a user. But the execution is where teams get stuck. A progress recap email needs to pull each user's actual activity data. An achievement email needs to show the correct badge. A streak reminder needs to know the user's streak length and timezone. Building the data pipeline, image generation, and email templating to support all of this typically takes 4-8 weeks of engineering time — and then ongoing maintenance as you add new metrics and achievements.

Trophy eliminates this by connecting the behavioural data it already tracks (metrics, achievements, streaks) directly to a no-code email builder. Your engineers integrate once to send events, and then your product or marketing team designs and iterates on emails without further dev involvement.

Trophy customers ship their first lifecycle email in an average of 2 hours, compared to 2+ weeks for teams building custom data platforms, or integrating other email automation tools into their existing data stack. The speed gain comes from the fact that Trophy is a customer data platform and email automation platform in one, designing specifically for consumer product teams that want to increase user retention and engagement.

Smart Blocks: data-driven email components with no images

The biggest limitation of standard email platforms is that anything visual — charts, progress bars, calendars — requires server-side image generation. You render a personalised chart as a PNG for each user, embed it in the email HTML, and hope it displays. This creates two problems: image-heavy emails get flagged as spam by inbox providers like Gmail, and many email clients block images by default, requiring users to click "display images" before seeing your content.

Image trust issues with inbox providers
Image trust problems with inbox providers

Trophy's Smart Blocks render as native HTML — the same table-based markup that inbox providers trust for transactional emails, without using images. No images to generate, no deliverability penalties, no blocked content. You drop a block into the editor and it renders personalised data for each recipient automatically at send time.

Achievement Progress Chart

Displays a visual chart of a user's progress toward achievements configured against a specific metric. You select the metric in the editor (e.g., "flashcards viewed" for a study platform) and the block renders:

  • Unlocked achievements highlighted with their badge and name
  • The next target showing how close the user is to reaching it
  • Future achievements greyed out with question marks, creating a clear progression path

If you have five achievement tiers at 10, 50, 100, 250, and 1,000 flashcards, a user who has viewed 120 would see three achievements highlighted and two ahead. A user at 40 sees a completely different chart. One template, automatically personalised for every recipient.

Best used in: Weekly or monthly progress report emails. Pair it with a line like "Here's how your studying is going this month" and every user gets a motivating snapshot of where they stand.

Achievement unlocked email using Trophy's native HTML blocks
Achievement unlocked email using Trophy's native HTML blocks

Achievements Unlocked

Dynamically displays any achievement a user has recently unlocked — the badge image, achievement name, and completion status. Designed for a single template that handles every achievement across your entire platform.

Without this, scaling achievement notifications is painful. If you have 50 achievements across different user behaviours, you'd need 50 separate email templates each with the correct badge and copy. With this block, you create one template. When any user unlocks any achievement, the block renders the correct badge automatically. If the user hasn't unlocked anything new, the block doesn't appear — no empty states, no stale information.

Best used in: Achievement celebration emails sent immediately after an unlock, or as a section within a weekly digest.

Progress Chart

A general-purpose chart showing a user's activity over recent periods for any metric. Unlike the Achievement Progress Chart (which shows milestone progress), this shows historical trends — flashcards viewed this week vs last week, or workouts completed across the last three months.

You select the metric in the editor and the block renders a period comparison chart personalised to each recipient. Combined with dynamic variables (covered below), you can pair the visual chart with copy like "Your study activity is up 35% this week" for a data-rich progress email built in minutes.

Best used in: Weekly or monthly recap emails — the "Your week in review" format.

Weekly progress chart using Trophy's native HTML blocks
Weekly progress chart using Trophy's native HTML blocks

Streak Block

A calendar-style visualisation showing the recipient's current streak: which days they were active (highlighted in your brand colour), which days they missed, and where they are in the current month. The current day gets a distinct marker to show how far through the month the user has progressed.

A user on a 5-day streak sees five highlighted days in sequence, plus the rest of the month ahead — creating a visual pull to keep the highlighted block growing. It adjusts automatically for the recipient's timezone, uses your brand colours from the Trophy branding page, and requires no date calculations or configuration on your side.

Best used in: Streak reminder emails, weekly recaps, or any engagement email where showing consistency patterns reinforces the habit.

Watch a walkthrough of all four Smart Blocks:

Dynamic Variables: personalised copy powered by real user data

Smart Blocks handle the visual components. Dynamic variables handle the text — letting you insert real-time user data into paragraphs, headings, buttons, and subject lines using Mustache-style {{...}} syntax. When you type {{ in the editor, you get a list of every available variable from your Trophy account.

User variables

{{user.name}} inserts the recipient's name — standard. But Trophy also exposes every custom user attribute as a variable. If you store plan type, signup source, or preferred language, you can reference it in your emails.

Metric variables

This is where Trophy goes beyond standard email platforms. Every metric you track generates a set of variables:

{{metric.current_total}} — the user's all-time count. "You've viewed 350 flashcards so far."

{{metric.change_this_period}} and {{metric.change_this_period_percent}} — how much the metric changed in the current period. "Your flashcard activity is up 50% this week."

{{metric.percentile_all_time}} — where the user ranks relative to everyone else. "You're in the top 10% of all learners." This is powerful for social proof and motivation without needing a full leaderboard.

{{metric.percentile_this_period}} — same comparison scoped to the current period, useful for time-boxed competitions.

Trophy also supports Highest and Lowest dynamic aliases that automatically select the metric where the recipient has the best or worst performance. This means you can build one email template that highlights whatever each user is doing best — without hardcoding a specific metric.

Streak variables

{{streak.length}} — the current streak length. "You're on a 10-day streak."

{{streak.active}} — a boolean for whether the user is currently on a streak, most useful inside conditional blocks.

Conditional blocks

The most powerful feature: show or hide entire email sections based on variable values. One template, multiple paths:

If {{streak.active}} is true:

"Congrats — you're on a {{streak.length}}-day streak! Keep it going."

Otherwise:

"Start a streak this week — log in daily to build momentum."

At send time, each recipient sees only the version matching their data. You can stack conditions for sophisticated personalisation — different content for different streak length ranges, metric thresholds, or achievement states.

The editor includes a live preview panel where you toggle variable values to see exactly how the email renders in every scenario before sending.

Prefixes, suffixes, and fallbacks

Singular and plural suffixes handle grammar automatically — "1 lesson" vs "5 lessons" without needing a conditional block.

Graceful fallback means if a variable can't resolve for a user (no data for that metric), Trophy hides the variable and any attached prefix/suffix. No broken emails with blank spaces or dangling punctuation.

Watch a walkthrough of variables and conditional blocks:

Text Variations: keeping recurring emails fresh

There's a subtle problem with lifecycle emails that most teams discover too late. Your weekly progress email works brilliantly for the first month. By month three, users have seen the same subject line and the same opening paragraph dozens of times. Open rates decay. The email that once drove re-engagement becomes background noise — or worse, it trains users to disengage with all of your emails across the board, not just lifecycle ones.

This was one of the most common pieces of feedback we heard from Trophy customers: the emails worked initially, but over time, sending the same copy to the same users caused the engagement lift to fade. The fix isn't writing one perfect email — it's making sure no two sends feel identical.

How variations work

Any text block in Trophy's email editor — paragraphs, headings (H1, H2, H3), and subject lines — supports unlimited variations. You write your default text, click "Add Variation," and write an alternate version. Add as many as you want. At send time, Trophy picks one at random for each recipient.

For an achievement notification paragraph, you might write:

  • Default: "You've unlocked a new badge"
  • Variation 1: "Congrats on your new badge"
  • Variation 2: "Your new badge is ready"

Each time a user unlocks an achievement, they see a randomly selected version. Over dozens of achievement emails across months, the notifications keep feeling fresh rather than mechanical. This matters because if achievement emails start looking boring, users disengage from the achievement system itself — defeating the entire purpose of having achievements in the first place.

Subject line variations

Variations are particularly powerful in subject lines because that's what users see first in their inbox. A subject line that felt compelling the first time — "You unlocked a new badge" — becomes invisible by the fifth time it arrives. Adding subject line variations like "Your new badge is ready" or "New achievement unlocked — check it out" gives each send a different first impression.

A bit of randomness in the subject line makes it feel like there's someone behind the scenes thinking about what to send, rather than an automated system firing the same template on repeat.

Combining variations with variables

Variations and dynamic variables work together. Each variation can include different variables, creating entirely different angles on the same email:

  • Variation 1: "You've unlocked a new badge"
  • Variation 2: "You're on a {{streak.length}}-day streak — and just earned a badge"
  • Variation 3: "Big week — you're in the top {{metric.percentile_this_period}}% and just unlocked {{achievement.name}}"

The randomisation applies per block, so different sections of the same email can independently vary. Your heading might use one variation while the paragraph below uses a different one, creating a combinatorial number of possible email versions from a single template.

Trophy customers using text variations see 25% less open rate decay over 90 days compared to static templates.

Watch a walkthrough of text variations in the email builder:

Putting it all together: example lifecycle email flows

Here's how Smart Blocks, variables, and variations combine into real email flows:

Weekly progress report

Subject (with variations):

  • "Your week in review — {{highest_metric.change_this_period_percent}} in {{highest_metric.name}}"
  • "Here's what you accomplished this week"
  • "Weekly recap: you're in the top {{metric.percentile_this_period}}%"

Body: Progress Chart block showing the week's activity, an Achievement Progress Chart if the user is close to the next milestone, percentile variable for social proof, and a conditional streak section that either celebrates an active streak or encourages starting one.

Streak reminder

Subject (with variations):

  • "Don't lose your {{streak.length}}-day streak"
  • "You've got until midnight — keep your streak alive"
  • "{{streak.length}} days strong — one more to keep it going"

Body: Streak Block showing the calendar, conditional copy that adjusts urgency based on streak length (a 5-day streak gets a gentle nudge; a 50-day streak gets a more emphatic reminder). The 20% streak save rate we see across Trophy's platform comes largely from well-timed emails like this.

Achievement celebration

Subject: "You just unlocked {{achievement.name}}"

Body: Achievements Unlocked block showing the badge, a paragraph congratulating the user with their metric total ("You've completed 100 flashcards!"), and a teaser for the next achievement ahead using the Achievement Progress Chart.

Reactivation

Subject (with variations):

  • "You were in the top {{metric.percentile_all_time}}% — come back and keep going"
  • "We miss you — here's what you've built so far"
  • "Your progress is waiting for you"

Body: Progress Chart showing historical activity (reminding the user what they accomplished), percentile variable creating a pull to return, and a clear CTA back into the app.

How it works under the hood

Your engineers integrate once. Add Trophy's SDK to track user events — one line of code per event type. This feeds the metrics, achievements, and streaks data that powers everything.

You configure gamification in the dashboard. Set up metrics, define achievement thresholds, configure streak rules. No code required.

You design emails in the block editor. Drop in Smart Blocks, add variables, set up conditional logic, write text variations, and preview the email across different user scenarios. Assign the template to an email type and set the send schedule.

Trophy handles delivery. Each email is rendered individually per recipient using their real data, sent from your custom domain, and optimised for their local timezone to maximise open rates.

For full technical documentation on the email builder, Smart Blocks, variables, conditional blocks, and variations, see the Trophy email docs.

Start building

Trophy's email builder is available on all plans with unlimited email sends. Create a free account to start — free up to 100 monthly active users, no credit card required.

Trophy gamification platform

Author
Charlie Hopkins-BrinicombeCharlie Hopkins-Brinicombe

Get the latest on gamification

Product updates, best practices, and insights on retention and engagement — delivered straight to your inbox.

How to Design Personalized Lifecycle Emails - Trophy