Kyle Seyler
February 05, 2026

{first_name} is technically personalization, but how much does it actually make people want to take action? Names of people or businesses can signal that your product knows something about you. And, over time, it may help to build familiarity. But seeing your name in an email isn't going to get you to activate on a product or inspire deeper usage. The real gains come from sending based on what users do, at the time it matters to them. You don't need machine learning for this. You need event tracking... and a touch of logic.
The honest truth is that some companies use first_name to personalize and call it a day because that's all the data they can get their hands on. When a user signs up, they usually input something like their name, company, and email address—and you're not going to personalize with "Welcome to Courier, chaz420@yahoo.com". When someone sees "Hi Sarah" instead of "Hi there," something does happen though. It's brief, but users make a little mental note: this company is personable.
That's not nothing. Over dozens of emails, it adds up. The product feels like it pays attention. This builds trust, slowly.
The research backs this up, sort of. Studies show mixed results. Some find a small bump in opens. Others find no difference. The pattern: names help with how your brand feels, but they don't make people act. There is, however, a gradient of personalization tactics I think will help.
See how this works for transactional notifications →
Each tier takes more work but gives more back.
| Tier | What it is | Example | Work | Gain |
|---|---|---|---|---|
| 1. Names and data | Insert what you know | "Hi Sarah" | Low | Familiarity only |
| 2. Different blocks | Show different content based on who they are | Free users see upgrade prompts | Medium | Some |
| 3. Based on actions | Send based on what they did | Cart reminder | Medium | High |
| 4. Right timing | Send when it matters to them | After they finish something | Medium-High | High |
| 5. Predict what's next | Guess what they'll need | "Teams like yours usually do X next" | High | Highest |
Most teams are stuck at tier one. A few make it to tier two. The teams actually seeing results? They've reached tier three or beyond.
Same template, different pieces depending on who's getting it.
Say you're sending a weekly update:
You're not just dropping in their name. You're giving them content that actually fits. Free users don't need enterprise support links. Enterprise users don't need upgrade prompts. Seems obvious, but most teams don't do this.
Copied!
if user.plan == "free":show upgrade_blockelif user.plan == "enterprise":show support_blockelse:show tip_block
The tradeoff: you need to define groups and write variants. Most teams can handle 3-5 before it becomes a maintenance headache. Don't create 47 variants. You'll hate yourself.
The gain is real but limited. You're still sending to everyone at the same time regardless of what they're doing.
See how Design Studio handles this →
This is where things get interesting.
Instead of sending based on who someone is, you send based on what they did:
The message shows up when they're already thinking about something. Not when your cron job runs.
Think about the difference:
Without this: Everyone on the free plan gets an upgrade email on Tuesday.
With this: Users who looked at pricing three times this week get an upgrade email within an hour of their third visit.
The second one reaches someone actively considering an upgrade. The first one reaches everyone, most of whom couldn't care less.
What you need to track:
The triggers that actually work:
Abandoned actions. They started something and stopped. Cart, form, onboarding step. Intent was already there.
Milestones. They hit a mark. 10th order, 100th file, 1 year with you. People notice round numbers.
Gone quiet. They stopped showing up. Tricky to get right. "We miss you!" sounds desperate. "Your report from last month just got new data" gives them a reason to come back.
Common mistake: Triggering on everything. If users get a notification every time they breathe, they'll start ignoring all of them. Be selective.
See how Journeys makes this easy →
Not when it's convenient for your batch job. When it actually matters to them.
Instead of: "Here's your weekly digest" (sent Monday at 9am to everyone) Try: "Your report is ready" (sent when their data actually finishes)
Instead of: "Check out this feature" (blasted on Tuesday) Try: "You just used X—here's how to get more out of it" (sent right after they do the thing)
Timing beats copy. A mediocre message at the right moment outperforms a brilliant message at the wrong one.
The best time to suggest the next step is right after someone finishes the current step. They're in context. They're wondering what's next. That's your window.
Timing patterns that work:
This requires your systems to respond fast. If you're running batch jobs once a day, you can't send "your export is ready" when the export actually finishes.
Watch out for: Optimization that clusters everyone into the same "best" window. If your algorithm decides 10am is optimal for everyone, you're now competing with every other notification that made the same call.
See how Journeys handles timing →
This is the fancy one. Using patterns to figure out what's useful before they ask.
"Teams like yours usually connect their CRM around this point. Here's how."
"Based on your project type, you'll probably need webhooks soon. Here's a guide."
You're not reacting to what they did. You're helping with what comes next. That's genuinely useful.
What you need:
The honest truth: Most teams don't need this. It takes a lot of data. Unless you have thousands of users with clear behavioral patterns, tiers 3-4 will give you more for less effort.
When tier 5 makes sense:
If you're at tier 1 and want better results, skip straight to tier 3.
Here's why: tier 2 makes your current messages slightly better for each segment. Tier 3 lets you send completely different messages at completely different times based on what people actually do. The second approach usually gives 3-5x better results.
| Where you are | What to do next | Why |
|---|---|---|
| Tier 1 only | Add 2-3 action-based triggers | Timing beats segmentation |
| Tiers 1-2 | Add action-based triggers | Same reason |
| Tiers 1-3 | Add contextual timing | Stack the advantage |
| Tiers 1-4 | Decide if tier 5 is worth it | Depends on your scale |
Before working on fancier personalization, ask this about every message:
Is this useful for what this person is trying to do right now?
If not, better personalization won't save it. A perfectly personalized message about something irrelevant is still irrelevant.
The best strategies combine:
In that order. A relevant message sent at the right time beats a hyper-personalized message sent at the wrong time.
If you're starting fresh:
If you're improving what you have:
What to track:
Names matter. They build familiarity over time. Keep using them.
But if you want better results, names aren't where the gains are. The gains come from sending based on what users do and when it matters to them.
You don't need machine learning to reach tier 3. You need to track what users do, build some logic about when to send what, and be willing to send fewer, better-timed messages.
The teams that get this right don't send more messages. They send more relevant ones.
This post is part of The Ping, a series about building awesome notifications for your product.

watchOS 27 Notifications: What Changed and How to Adapt Your Product Sends
Apple's watchOS 27, announced at WWDC 2026, presents Apple Watch notifications based on relevance instead of arrival time and expands contextual Smart Stack widgets. Because watch notifications mirror iPhone push, your push strategy is your watch strategy. This guide covers what product and B2B notification teams should change: setting APNs interruption levels honestly, writing glanceable payloads, routing by urgency across push, email, SMS, and in-app inbox, using widgets for status content, and handling the split audience after watchOS 27 drops Series 8, Ultra 1, and SE 2.
By Kyle Seyler
June 09, 2026

Your Notification Center, Your Competitive Edge
The in-app inbox is the most valuable notification surface you own. Every other channel has a gatekeeper: push, email, and SMS all run through someone else's filters. The inbox is the one surface where you set the rules. Courier Inbox ships as a drop-in component backed by a hosted API that stores messages, syncs read state across devices in real time, and integrates with your other channels. SDKs for React, Web Components, React Native, Flutter, iOS, and Android. Install it with an AI coding agent or a few lines of code. Theme it, customize the renderers, or go fully headless.
By Kyle Seyler
April 22, 2026

5 Best Platforms for Product Messages in 2026
Product messages are a requirement for every SaaS product, but most teams outgrow their initial setup fast. You start with one email provider, add push, then SMS, and suddenly you're maintaining multiple integrations with no shared routing, no preference management, and every copy change requires a deploy. This guide compares five platforms that solve different versions of this problem: Courier for cross-channel messaging with AI tooling, Resend for developer-friendly transactional email, Customer.io for marketing-adjacent journeys, Supabase for built-in auth emails, and Novu for open-source self-hosted infrastructure.
By Kyle Seyler
April 15, 2026
© 2026 Courier. All rights reserved.