Hey Product Hunt 👋 Get 30% off your first 3 months if you sign up using this link

How to Trigger a Behavior-based Email Campaign: 6 Good & Bad Ways

Learn how to confidently set up email campaigns based on user behavior data like events and properties.

Jane Portman
Jane Portman
How to trigger a behavior-based email campaign

A campaign trigger is the starting point of your email campaign. In the language of SaaS marketing, campaign triggers sound like:

  • "User starts a trial"
  • "User converts to a paying customer"
  • "User completes their 20th project"
  • "User doesn't log into the app for 30 days"

Unfortunately, email marketing platforms can't trigger campaigns based on plain English description. You need to provide them customer behavior data via a real-time integration, and then set up triggers based on that data.

The most confusing part: there are multiple correct ways to trigger the same campaign. This drives SaaS marketers, already confused, into a decision-making paralysis.

Let's fix that.

In this guide, we'll walk you through different ways of triggering a SaaS email marketing campaign.

We recommend reading our SaaS email marketing guide first to learn how exactly SaaS email marketing works based on customer data.

What is an email campaign trigger?

A campaign trigger is a condition/situation/event that activates your email automation campaign. Once the trigger happens, the user joins the campaign and starts advancing through the messages.

In plain English, it's a certain change in the customer behavior that triggers your email sequence.

You may naturally assume that this happens when your SaaS user does something specific, but it's so much more than that. It can be that they don't do something, or something happens with their credit card, or a combination of different things.

To set up your trigger, you need customer data: properties and events.

How does SaaS customer data work?

Properties vs events

Customer data comes in the form of properties and events.

Properties (also called attributes or fields) appear in the customer profile and reflect the current state of things. For example:

  • billing_state = trial
  • projects = 3
  • photos = 57

Events appear in the user timeline, and each event has a name and a timestamp. This allows you to set conditions like:

  • Performed custom event project_created at least 1 times ever
  • Performed custom event photo_uploaded at least 5 times during the last 30 days

For the full picture: In Userlist, each event can have its own properties. You can use these event properties to enrich your event-triggered campaigns with additional information.

How does customer data appear in your email marketing platform?

The biggest mistake is to think that this is done via a one-time CSV import. No, a one-time import is merely a slice of data and can't reflect the ever-changing customer behavior.

Instead, you need a real-time integration that continuously updates customer data.

In order to make customer data appear in Userlist, you need to complete the following steps:

  • Decide what data you need to track (these worksheets will help)
  • Ask your engineers to implement the integration — either a direct integration, or via Segment or another customer data platform

That's why it's always best to plan your segments and campaigns first. Otherwise, you risk forgetting an important property during integration, and won't be able to implement a desired campaign.

6 ways to trigger a behavior-based email campaign

Now that you've got the customer data sorted, it's time to set up the triggers.

Below, we'll show you 6 correct ways to trigger email campaigns. Most of them can be used to trigger the same user onboarding campaign. Mind-blowing, isn't it?

You can also send a campaign manually as a broadcast. All of the triggers below relate to behavior-based campaigns that happen on autopilot. However, you can always send a one-off broadcast to your entire audience or its segment. Typical broadcast examples are newsletters and product updates.

Option 1. User performs a custom event

This trigger type is the easiest to understand.

You send a custom event that describes certain behavior, and the campaign starts as soon as this event happens.

Example. As your customer starts a trial, you send a trial_started event. Then you trigger your user onboarding campaign when that event happens.

Option 2. User matches a condition

Example. Your property billing_state reflects the current billing state of your customer. It can have values of trial, active, past_due, cancelled. Then you trigger your user onboarding campaign when the user matches a condition billing_state = trial.

When you launch this campaign, it will instantly send to all users who match that condition at that moment, including existing trialing users.

Option 3. User joins or leaves a segment

Among other trigger types, we recommend this trigger the most.

Example. First, you set up a segment Customers: Trialing based on billing_state = trial. Then you trigger the user onboarding campaign when the user joins segment Customers: Trialing.

Here's the biggest difference. Once you set such a campaign live, it will start to trigger gradually when the next user joins the segment. While the users who are already in that segment will not receive the campaign.

The interesting part is how you set up that segment. You can do that by:

  • Using a property (billing_state = trial)
  • Using events
  • Or any combination of events and properties

We recommend that you set up lifecycle segments for your user journey, and trigger campaigns based on them. Here's how it will look for a SaaS company on a free trial model:

Email Campaign Triggers: Figure showing the emails you should send throughout the customer lifecycle in the free trial model

Option 4. User "first seen"

Example. You use Userlist only for customer email. So every new user that shows up in Userlist is, most likely, a new trial. So you set up your user onboarding campaign to trigger when "the user is first seen in Userlist."

This works, but it's a dangerous path forward. It might accidentally apply to users — most dangerously, marketing leads! — who were imported later.

Option 5. Account-level triggers

If you're using company accounts, then you can use similar triggers, but on the account level:

  • Company matches condition
  • Company performs a custom event
  • Company joins a segment

For example, when a company performs an event, or joins a segment, you can start a campaign, and then select what users of that company will be receiving the campaign (all of them, or users e.g. with a specific role).

Example. You will trigger your user onboarding campaign when the company joins a segment Trialing Companies, and apply it to admin users in that company.

Email Campaign Triggers: A screenshot showing how you can set up a trigger campaign on Userlist

What about users who join the company later? If you use account-level triggers in Userlist, the campaign will only apply to those users who were in this account at the moment of the campaign start. Users who joined later will not be added to the campaign after it started.

Option 6. User submits a form

This one is not really applicable to user onboarding, but definitely applicable to lead nurturing. If your marketing leads sign up using a lead magnet on your website, this trigger will help you start a campaign that delivers that lead magnet.

Are there any good or bad triggers?

Segment triggers are the best. Segmentation brings clarity around your user journey, so we recommend using lifecycle segments whenever you can.

Sometimes simpler is better. Sometimes you just want to trigger a campaign based on a simple condition. In that case, you can skip on segments and just send a campaign to users who match that condition.

Avoid the "first seen" trigger. It might accidentally apply to users who were imported later.

Avoid negative conditions. You thought process may be: if someone isn't a paying customer, they must be a trial. But it just may not be true because of edge cases: incomplete trials, sponsored accounts, or even marketing leads.

Use explicit conditions. It's the most reliable because you send explicit data about this. For example, the best way to define trialing users is through an explicit property billing_state = trialing.

Properties are more reliable than events. Properties reliably reflect the current state of things, and events don't. For example, a trial_started event doesn't mean the user is currently in a trial. That event might be from months ago, and they've since converted to paid and cancelled. Events can also potentially get lost — e.g. when you migrate between tools or clean your data.

Repeatable vs one-off campaigns

By default, every campaign is assumed to be one-off — so that it's not sent again and again to the same recipients.

However, sometimes you need to trigger the campaign every time something happens. For example, for every upcoming bill or failed payment. In this case, repeatable campaigns should be used.

Exit conditions

Exit conditions are similar to triggers, but serve the opposite purpose: they stop your campaign as soon as something happens.

Example. Your upgrade-to-paid campaign promotes the paid plan to your free users and includes 10 different emails. As soon as your user converts to paid, you need to stop sending that campaign. In this case, the exit condition will be: user joins segment Paying Customers.

Exit conditions are set up using customer data, in the same exact way as triggers.

Practicum: translating triggers into the language of customer data

Remember those trigger examples in the beginning of this article? Let's translate each of these triggers into the language of customer data.

"User starts a trial" — any of these options will work:

  • User matches condition billing_status = trial
  • User joins segment Trialing Users (with the segment condition above)
  • User performs custom event trial_started

"User converts to a paying customer" — any of these options will work:

  • User matches condition billing_status = active
  • User joins segment Paying Users (with the segment condition above)
  • User performs custom event converted_to_paid

"User completes their 20th project"

  • User matches condition projects = 20

"User doesn't log into the app for 30 days"

  • User performed custom event logged_in exactly 0 times during the last 30 days

Keep your eyes on the ultimate goal: engaging your SaaS users

There's more than one way to bake a cake.

There's more than one way to cook an egg.

There's more than one way to peel an orange.

There's more than one way to set up an email campaign.

Don't let the variety of options distract you from the ultimate goal — engaging your customers at the most relevant moment. We hope this guide has helped you understand the mechanics a bit better.

Check out our top guides on SaaS email marketing:

Should you need help, you're welcome to book a free strategy call to unpack your situation. Bring your own agenda. No strings attached — among other things, these strategy calls inspire articles like this one.

— Regards, Jane.

About the author
Jane Portman

Jane Portman is the co-founder of Userlist. Her mission is to help SaaS companies leverage the power of email marketing automation. Mom of three, Jane also enjoys scuba diving and runs two podcast shows: UI Breakfast and Better Done Than Perfect.

Book your discovery demo

See how Userlist can help your business unlock new opportunities for product-led growth. Learn how Userlist integrates with your existing tools, and what the growth journey looks like.