Thanks to Jason Resnick of NurtureKit for doing an expert review of this guide.
Let's say you run a portfolio of five Shopify apps or nine Trello power-ups. You'd love to leverage email marketing for your SaaS business, but your brain is on fire. Five separate email lists is obviously overkill.
What's the best way to organize your email marketing? How do you cross-sell between multiple SaaS products, run multiple onboarding campaigns, and not upset, confuse, or lose your customers?
This guide will show you the way.
You will learn:
- Why you need to keep everything in one big email list
- What email campaigns you need
- How to use one big "evergreen newsletter" campaign to cross-sell your products
- Why it's important to identify your flagship product
- How to orchestrate your campaigns
- How to mitigate the overlaps
- How to implement your email automation with customer data and segments
- Customer case study: Blue Cat Reports
As a prerequisite, we recommend you to read this guide on SaaS email marketing strategy.
Need individual advice? We invite you to book a free strategy call, so that we can unpack your problems and figure out the next steps. No strings attached.
Part 1. The strategy
Marketing, lifecycle and transactional email
First, let's recap what classic email setup looks like for a single SaaS product. "SaaS email marketing" is a combination of three email types you'll be sending to your audience, as they move from marketing leads to trials to customers.
Every SaaS company needs to send three types of emails:
- Marketing email — sent to marketing leads. Includes lead magnets, lead nurture campaigns, sales campaigns, and newsletters.
- Lifecycle email — sent to users after they sign up for your product. Includes user onboarding, upgrade-to-paid, and customer loyalty campaigns.
- Transactional email — service emails like password recovery, product notifications, or billing invoices. Most likely, your engineering team has already picked a transactional email provider and implemented it in the early days.
In this article, we'll focus on marketing and lifecycle email for your portfolio of apps.
Keep marketing and lifecycle email within one big list
For a single SaaS product, you have two choices:
- Run your marketing and lifecycle email in a single tool;
- Or have them as separate lists in different platforms.
Usually one list is better, but sometimes it's okay to keep them separate, especially if you have a huge marketing list.
However, if you have a portfolio of apps, the benefits of one big list become more important. Your key goal is to cross-promote apps in your portfolio. And for that, you need to know what apps they're already using. It's much easier to manage the data in one list, inside a single tool.
What email campaigns do you need?
With multiple products, you need to implement the basics first. Given the number of apps in your portfolio, that already will be a big volume of work.
You will be using three fundamental campaign types:
- User onboarding campaigns — one for each product
- Lead magnet (lead onboarding) campaigns — one for each lead magnet
- One big "evergreen newsletter" campaign — served to everybody, promoting your best content and continuously selling your portfolio of apps
Customer data will help you promote the right things to the right people. To be more specific, you will know what apps every customer is already using, and avoid sending irrelevant sales pitches to them.
In addition to customer data, you'll be using lead data. Here's what Jason Resnick says:
"For leads, you can leverage where they opt-in from, and which lead magnets they download. Surveying can also help to promote the right things to the right people."
Let's talk about these campaigns in detail.
User onboarding campaigns for each product
Each product needs its own onboarding campaign. We recommend keeping them roughly the same length (e.g. under 14 days), so that it's easier for you to orchestrate product onboarding with other content.
Example trigger: user joined segment Sparkle Editor: Trials (more on segmentation below)
Here's how a classic user onboarding campaign works.
It's linear, and we check on the user how they're doing — similar to what a customer success manager would do manually. This campaign is behavior-based, but we use behavior data to skip irrelevant emails, not trigger them.
Has the user started with Feature A? If not, send them a message offering advice or help. If they have, skip on that message and move forward to Feature B.
You'll have dedicated properties that will help you see if they're using that Feature A. For example, editor_projects = 0 would be an indicator that the user hasn't started using projects in Sparkle Editor yet.
More on this below in the Customer Data section. You can also read this guide for more information on user onboarding.
How about Trial Expiring emails?
Typically, we'd recommend having a separate campaign tied to trial_expires_at property — because that property can change if the user extends the trial.
However, with three products you'd need three Trial Expiring campaigns. That's overkill. So you can hard-bake trial expiring emails into each of the onboarding campaigns.
Lead magnet (lead onboarding) campaigns
If you're collecting leads through forms on your marketing website, you will need a corresponding campaign to deliver each lead magnet.
This campaign must only include emails related to the actual lead magnet. Jason Resnick shares why:
"To keep email marketing flows simple, yet flexible, have a lead magnet campaign deliver the asset and any follow up with emails specific to the lead magnet. Then flow into a Welcome campaign with more about the industry and your products.
This way it keeps the campaigns lean and modular. If you need to change up the emails about your products, you only have one place you need to change it instead of 10."
Example trigger: user submitted form Free Templates
Evergreen newsletter campaign
Typically, an evergreen newsletter is a very long sequence with your best educational content, spaced out e.g. 7 days apart. It allows you to get off the content hamster wheel, and only send out broadcasts when you have actual "news" — for new events or product announcements.
With a portfolio of products, your evergreen newsletter will also include promotions for your apps. That's how you will cross-promote other products.
Example trigger: user first seen in Userlist + 14 days delay on the first email
Here's what emails such campaign can include — sending every 7 days:
- General content (industry articles, case studies, etc)
- General content
- General content
- Tell them about Sparkle Editor (only send it to those who aren't using it, i.e. editor_used = false, otherwise skip to the next email)
- General content
- General content
- General content
- Tell them about Sparkle Publisher (only send it to users with publisher_used = false)
- General content
- General content
- General content
- Tell them about Sparkle Messenger (only send it to users with messenger_used = false)
- And so on.
"Jab, Jab, Jab, Right Hook," as Gary V. says in his book. Alternate your "give" and "ask" emails.
As you publish new evergreen content, you'd also add it at the end of the campaign, to be delivered to subscribers in the queue. You can have as much as 1-2 years worth of emails. This is your massive, cornerstone campaign.
To further customize this campaign, Jason Resnick recommends to use behavior data:
"If you know what product the lead is interested in (from the lead magnet or survey), you can tailor the content dynamically.
Or through tracking the clicks to specific content or promotions, you will know if the lead is interested in the product but for some reason, not buying. That gives you an opportunity to reach out either manually or through other automations."
Double down on your flagship product
Oftentimes, you'd have a portfolio of 5 apps, but one clearly brings in the most revenue. This is your flagship product.
For the sake of simplicity, we said above that all you need is one user onboarding campaign per product.
Your flagship app deserves more than that. With that product, you can tap into the entire spectrum of lifecycle opportunities, and include other campaigns.
Here's what else you can do with lifecycle email:
- Greet new paying customers
- Promote annual billing
- Promote upsells to higher plans
- Reactivate "dormant" users
- Initiate customer success conversations with most successful (or underperforming) accounts
- Collect feedback, reviews, and case studies
- Share referral links, promocodes, and swag
- Recover failed payments (can be also classified as transactional, though)
- Send cancellation surveys
You don't have to do it all with all of your products — because it's too much effort — but it's worth doing for your flagship app.
See our guide on SaaS email marketing strategy for more details on lifecycle email campaigns.
Part 2. Orchestrating your email campaigns
Orchestrating the first few weeks of user experience
Let's imagine someone joins your email list. How did they end up there? What do you need to send them first?
- If they signed up for a lead magnet on your website — then you'll send them a campaign delivering that lead magnet.
- If they started a free trial for one of your apps — then you'll send them an onboarding campaign for that app.
That initial phase (lead onboarding or trial onboarding) lasts e.g. 7 days, and then you can start sending the evergreen newsletter. That's why we recommend keeping all of these campaigns roughly the same length.
Then they roll into your evergreen newsletter, and the system goes into equilibrium.
What if multiple email campaigns overlap?
Will your campaigns overlap? Yes, they will.
One user can sign up for another app of yours, or even multiple apps at the same time. It can happen right away, or in a few weeks, or in a few months.
Here's how you can keep your face:
- Keep your user onboarding campaigns different for each product, so that the user doesn't get the déjà vu effect. Campaign structure can be the same, just be a bit more creative with the content.
- Include the product name prefix in the subject line of each email.
- Throttle your email sending by days of week. E.g. you reserve Tuesdays for all company announcements and broadcasts, Fridays for the evergreen newsletter, and the rest of the days can be used for product emails.
- Don't send announcements and newsletters to the entire list. Instead, use a dedicated segment (Qualified for Updates) which excludes people who are currently being onboarded for any of the products.
Ask users what emails they want to receive
Smart unsubscribe — also called layered unsubscribe or subscription options — is another way to orchestrate your campaigns.
But this time, the user decides what they want to receive. They might want to keep receiving your newsletter, but skip on individual product updates — it's much better than losing them altogether.
Part 3. Implementation
How to organize your customer data
You have a list of people, and one person can be a customer of multiple apps. You need to structure their customer data so that we can understand what apps they're using, and how.
Let's imagine you run three apps within a single company, Sparkle:
- Sparkle Editor
- Sparkle Publisher
- Sparkle Messenger
You'll need the following boolean properties to indicate whether they're customers:
If editor_used = true, it means that this person has used Sparkle Editor. You can also keep it as true even after they cancel, to avoid promotions down the road.
For each product you'll also need additional properties for billing information and success metrics. Let's see how these properties will look for Sparkle Editor:
- editor_used (true/false)
- editor_signed_up_at (signup date)
- editor_billing_status (trialing, active, past_due, cancelled)
- editor_billing_plan (basic, professional, etc)
- A few success metris to see their progress, like editor_projects and editor_photos — you'll need them for user onboarding and other behavior-based campaigns.
Each of the apps will have a similar set of properties. See how property names start with the app name — this way you can quickly find all data relevant to one tool.
Jason Resnick says:
"That product data will then help you personalize CTAs within your emails. And personalized CTAs always perform better."
How to organize your segments
Good segmentation is the only way for marketing leads and customers to co-exist in one list. If you have multiple products, that's even more important.
For example, you need these segments for the Sparkle portfolio, given that all products have trials:
- Sparkle Editor: Trials (editor_billing_status = trialing)
- Sparkle Editor: Paying Customers (editor_billing_status = active or past_due)
- Sparkle Publisher: Trials
- Sparkle Publisher: Paying Customers
- Sparkle Messenger: Trials
- Sparkle Messenger: Paying Customers
If Sparkle Editor is your flagship product, then you can set up more segments to fuel other lifecycle campaigns, beyond user onboarding. For example:
- Sparkle Editor: Advanced Customers — send them information on advanced features
- Sparkle Editor: Failed Payments (editor_billing_status = past_due) — send them a failed payment recovery campaign
There won't be a "Leads" segment, because each customer is a potential lead for another product. Your entire list is your leads.
And one more segment we recommend:
- Qualified for Updates — a segment that excludes users who're currently being onboarded to one of the products.
How to set up your campaigns
For the apps at Sparkle, you'll need these campaigns:
- Lead Magnet: Templates
- Lead Magnet: Worksheets
- Sparkle Editor: Onboarding
- Sparkle Publisher: Onboarding
- Sparkle Messenger: Onboarding
- Evergreen Newsletter
If Sparkle Editor is your flagship product, you can add more campaigns beyond user onboarding. For example:
Sparkle Editor: New Paying Customer
- Sparkle Editor: Upgrade to Annual
- Sparkle Editor: Customer Loyalty
How to implement your email marketing setup
Email automation can accomplish amazing things based on customer data. But it requires advanced technical integration.
You'll need to:
- Figure out what customer data you need.
- Implement the data integration, i.e. start sending data from your product back-end to your email tool.
- Set up your segments.
- And only then set up actual campaigns.
Fun fact: it's impossible to do it in this order.
By the time you start setting up your segments and campaigns, you may discover that you forgot an important property. And that means going back to your engineering team and begging them for more work.
What's the solution to this chicken-and-egg problem?
Before anything, plan your segments. They "connect" your customer data and email campaigns. Segments provide clarity on:
- What campaigns to send to each segment (targeting its "conversion goal" for this particular stage)
- What customer data you need for the integration
- How to set up campaigns — "user joins segment X" is the most popular campaign trigger
As Jason Resnick says:
"While it's the unsexy part of this whole process, it really makes all the other pieces come together so much easier."
Use our free worksheets to plan your segments and campaigns.
If you're running your products in multiple languages, check out this article on implementing localization.
Customer case study: Blue Cat Reports
Our beloved Userlist customer Robin Warren runs Blue Cat Reports, specializing in Trello power-ups. Their portfolio includes 10+ products:
- Blue Cat Reports
- Burndown Charts
- Time In List
- Trello Annual Report
- Trello Swimlanes
- Agile Tools
- Kanban WIP
- Blue Cat Forms
- Import to Trello
Their flagship product is Blue Cat Reports, so they have multiple campaigns related to that product. Other products have their own welcome sequences.
When we got together for a strategy call in early 2022, Robin had already grasped and implemented the concept of a single evergreen newsletter that would cross-promote their products.
Here's a snapshot of their main "evergreen newsletter" campaign:
Email marketing for multiple products looks like a brain teaser, but it's a powerful tool for cross-sells and upsells. Don't let it intimidate you.
If you need help with your own product portfolio, book a free strategy call to untangle your situation. No strings attached.
— Regards, Jane.