Building a Customer Journey with Automated Messaging

How to build a customer journey through OneSignal's platform and automated messaging.

OneSignal's Customer Success Manager Eyra Dzakuma demos how to build a customer journey through OneSignal's platform and automated messaging. The transcript of the webinar can be found below



Great. Thanks everyone for joining us today. I'm excited. For today's webinar, we are going to walk through building a customer journey through our automated message feature.

Just running through a quick agenda, my name is Eyra and I'm a Customer Success Manager here at OneSignal. Great to meet all of you. We are going to walk through a quick customer journey map example, and then we're going to actually review how to create an automated message. And then finally, we're actually going to hop into the OneSignal platform and actually walk through creating an automated message. And then we'll leave some time at the end for any questions that you guys have.

First, for the purposes of this demo, we're actually not going to create a full customer journey here today. All of you each have your own specific businesses and have different journeys, but we do want to at least recognize that the first step is to actually map out your own customer journey. What that means is just, what is your ideal customer experience and at what various points of that experience do you want to reach your users with a message? So that's essentially what mapping the customer journey is. It can be very simple or it can be very involved depending on your business and what you are ultimately looking to do.

For today, I've outlined a quick customer journey example. In this example, my business from my website is actually a flight booking website. What we've done here is we've mapped out key milestones or actions of the actual customer journey. Keep in mind, again, you can include your preferred customer experience like what you would like them to do, or you can even incorporate just a general user persona with a customer journey.

An example of a user persona would be a consultant who maybe travels four times a month and buys business class tickets. In addition to maybe what I'd want my regular customer experience to be, I take them through and maybe offer different points that would be referring to this particular consultant that buys business class seats.

But as you can see here, for our milestones or actions, we have about five different points. First, the milestone one is flight search. They've come to our website and they've searched for a flight. Next, after they've searched, we may want to send them a price alert notification to set up a price alert or send them a reminder to be like, "Hey, plan your next getaway." We already know they're looking, so this is a great notification to send to get them back to the site, to actually hopefully book a flight.

And then finally, or next, you can't actually say like, "Hey, check out our vacation planner." This is a particular feature that I have on my site that helps you plan your entire vacation, but still ultimately leads to the end goal of booking a flight.

And then after I've sent those two messages, next, you've actually booked your flight. Great success, that's what I wanted. Even after that, I'm actually going to send you another notification about 24 hours before your flight, saying, "Get ready for your flight. Hopefully, your bags are packed. It's time to go."

As you can see, that's the entire journey that I mapped out from them coming to my site to search for a flight, hopefully engaging them to book a price alert, or plan their getaway, sending them notification about a cool feature to help plan their vacation and book a flight. Finally, we got them to take action and book the flight, and then we want to send them a final reminder before their flight and before their trip. So, that's the customer journey that we're going to walk through as an example today.

Next, let's get to creating an automated message. First, I did want to review quickly what actually an automated message is. Essentially, automated messages are push notifications or even emails within OneSignal that gets sent to users that enter into segments. One thing to note is these messages do get sent automatically.

Automated messages are great for drip campaigns such as to re-engage inactive users or to maybe send welcome messages. They're also great for when specific events occur. If you are a gaming site or app, maybe as a player reaches a certain level, you want to send them a message to say, "Congrats," or "Here are free points," so that they spend more time in the game.

They're also great for prompting users to take specific actions. In our example, we're trying to get our user to book a flight. That's what we want to send messages along those lines to actually get them to do the next action.

And then finally, what we're focused on today is, automated messages are great for hitting users at all specific or different points of the user journey. Perhaps, maybe my favorite thing about automated messages is that you actually get to set them up once, and that's it. Set it and forget it is my favorite motto for automated messages. Essentially, once you set them, these messages go out automatically to the relevant recipients at the right time.

Creating an Automated Message


Now, let's get to creating an automated message. The first step is actually to create a message template. This is just actually what you want your message to look like when it gets sent out. It is important to note that you do want to create a template for each step or each action of the user journey. As you can see here on the left, I've actually gone ahead and created five templates for each different milestone or each different action that I want of the user journey. Now over here on the right, this is what one of my message templates looks like. This is for planning your getaway - vacation mode activated. You can see there little messages that we're sending along those lines.

Next, after you've created your message template for each point in the journey, now let's create message segments. Segments are actually going to be key for automated message. This actually decides who receives your message and when. You can actually use already created segments - here we have active users or engaged users - or you can create new segments for each of the milestones or actions of the user journey.

As you can see here at the bottom or in this red box, I've created a specific segment for when people have searched flights. That is basically, I'm just using their last session filter and saying that anyone that has been on my site within under 15 hours or within the last 15 hours, essentially, I'm assuming that they've looked for a flight and then I want to send them a message for a price alert.

One thing to note about segments is that the filters are your friends. You can actually add more filters to make sure that you're getting the right people at the right time. Combining different filters, make sure you get that right group so you're hitting your user at the right time.

Now, step three is actually setting up the automated message. First, now that you've created your segment, you're actually going to select that segment from the dropdown. And then two, you're actually going to select the template that you've already created that you would like to send. And then third, we just actually set the delivery schedule. You can either decide to send these messages immediately, or you can use our intelligent delivery feature, which again, intelligent delivery is just sending the message to the user at the time that they are most active on your app or website. Or third, you can actually set this and optimize by user time zone. So that's just sending the message at a specific time zone that the user is in.

One thing to note about automated messages is that by default, these will actually only be sent to the device or user once, even if the user leaves that segment and comes back or enters into that segment again. The way it works is, again, we're not trying to spam anyone with these automated messages by default. They will only get the message once, even if they keep entering and reentering that segment.

That said, you can change that default. There are certain instances where we would want the automated message to get sent more than once. To do that, we actually have options where you can select either if the user returns to the app or after a certain amount of time. In our example with booking the flight, we would probably want to check one of these because we want to send a reminder for people to sign up for flight or alerts anytime they're actually searching for a flight, not just the one time they may have done it.

It'll make a little bit more sense once we get into the app. If you have questions, write them down and I'll make sure that we serve some time to answer them.

Quickly before we get into the app, I wanted to go through a few things to remember for your automated message. First, naming your automated message campaign is important, and make sure it's something that's easily recognizable to you and your colleague or teams. Here in our user journey example, maybe the title could be Vacation Planner Reminder, or simply even just Price Alert.


One thing to keep in mind is the free plans, automated messages get sent roughly every four to six hours. As users enter that segment, that particular message will get sent to them about every four or six hours. For users on the paid plan though, automated messages are actually sent every few minutes. It's a little bit more real time. Essentially, as soon as those users are entering into the segment, they will receive a message.

After everything has been sent and you have your automated messages going out, you can actually track the message's lifetime performance from the Templates segment directly, or you can also view them from the Delivery page on an individual level.

Now, we've reviewed everything. It'll hopefully make a little bit more sense once we jump into the platform. So let's go ahead and do that.

All right. I'm just logged into OneSignal and I'm just here on my test site account. The first thing that we want to do, as we noted, is actually create a template. We're going to go to Messages at the top, and then we're going to go to Templates. As you can see here, I had actually created these in advance just for time sake. But what we'll do is we will actually just click View/Edit so we can walk through how to create a template really quickly.

First, just name it. As I said, I named them along the milestones for the user journey. It is up to you. Maybe if you have separate user journeys, you'd want to say like, this is just flight search journey - the name of the template, or maybe it is flight reminder journey. Just be as clear as possible so that you can always refer back to your template.

After you've named it - this looks similar to just creating a regular push notification message - you'll set the title and then you'll actually include the message. I've included a nice fun giphy here as well. This one is just "Set up a Price Alert Now!" and then "Save time and money on your flight." Of course, you can toggle to see how this would look versus on Windows or on Mac. On my test account, I am just doing web push notifications.

And then finally, always remember to include your launch URL. Here, as an example, I'm just taking it back to OneSignal. This is where you'd want them to go once they click the notification. most likely since I'm a flight booking site, I would want to actually take them back to my site, in the flight booking page specifically, so that they can make that book and we can get the revenue.

Basically, once you've done that, all you do is hit SAVE. That's it. You just need to get your message set, with any emojis, images or gifs, and then finally your launch URL, and then hit SAVE. It's quite simple.

We can go back and review and show you quickly, View/Edit. This is my next one. My next Milestone 2 was Plan Your Getaway. So I have planned your next getaway with a magnifying glass. You'll see here, a little bit easier to view on this one. I'm saying, "We search thousands of flights every day so that you don't have to. Let's start planning." Again, this is a nice way of getting a cool re-engagement message to my user, but without having it be blatantly, I guess, labeled a re-engagement message. It's basically like, "I know you searched recently. Now let's plan your trips since I know you're already thinking about it." So it's a good way to get them back to the site to take actions that you want. Perfect.

Again, you easily quickly set that up and just hit SAVE. Again, the key is that we want to make sure we have templates, a separate template for each point of the user journey.

Using the Automated Message

Now that we've got our templates set, let's go to creating a segment. We're going to go to Audience here at the top and then Segments. As you can see, we have some of these default segments that actually are here for you that can be used. I actually went ahead and created some separate ones for this flight booking example. For instance, we're going to click Edit on Flight Searched. Again, always name your segments as well. This is just going to be helpful for you and your colleagues as you're referring back to everything.


And so for this Flight Searched, I'm just using the Last Session filter. Again, what I did was select the Last Session. Here, I can easily erase this if you like. What we do is you just select the Last Session. And then you can select less than or greater than. In my example, I wanted it to be anybody that's been to my site within the last 15 hours or less. As you do that, you'll see the total estimate of users pop up in your segment as well. And then I'll hit SAVE, and that's going to be my segment.

And then another segment that I set up is Flight Booked. This one is a little bit unique in that this one, I have to have a tag for this specific action. Anytime on my site once users actually book a flight, they will get labeled with a tag or user attribute as 'booked'.

What I did here is I actually came down to the user tag and I typed in 'booked directly'. Anyone that has booked, and I want it to be booked with a timestamp. Booked time elapsed is greater than or less than. I'm going to say, I want it to be less than. This one for whatever reason, we've done it in seconds. But I want it to be anyone that's booked a flight within 30 minutes or less. 30 minutes in seconds is actually 1800 seconds. So that's what I'm setting up here.

This one is I want to send that Flight Booked confirmation message for anyone that has recently booked a flight within the last 30 minutes or less. That way, I'm sending them the confirmation notification fairly quick. Okay, great.

Setting up the Customer Journey

Now that we've got our segments, let's actually go to creating the automated message. To do that, you just go to Messages. And then all the way over to the right, you'll see Automated. Awesome.

Here, I've already gone ahead and set up a few, but let's go ahead and quickly View/Edit these. Actually, I can refer back in my user journey here. I want to highlight that flight has been searched. The first step after that is I want to send them a price alert. So the first one I'm going to look at is my price alert automated message. Again, the first step is just naming it. I named it Flight Searched - Price Alert. Let’s send them a price alert.

Next, you'll see, we need to select our audience. It typically defaults to Send to Subscribed Users, but I actually only wanted to send it to people that have recently searched for a flight within 15 hours or less. What you'll do is uncheck this Send to Subscribed Users and you'll add your segment. Here you can see, I have a dropdown of all the segments that I currently have. I'm going to click the Flight Searched segment. Remember, that's already set up with the relevant filters, so we're good to go there. If you wanted to exclude anyone just to make sure that they don't get this automated message, you can do that as well. Okay, perfect.

After I do that, then I actually just get to select which template I want. As you can see here in the dropdown, you'll see all of the templates that I've created. I have my Plan Getaway. I have my planning reminder. But for this one, since this is our first one, and it is specifically the price alert, I just want to say, "Set up a Flight Price Alert Now!" I'll select that template.

And then the next step is actually just the delivery schedule. Again, you can decide if you want it to be delivered immediately, or perhaps you wanted to use intelligent delivery, which would be sending it to the user at the time they are most active.

Keep in mind that that is different for each user. The reason why I think Send Immediately makes the most sense in this case is because you know they've recently searched within the last 15 hours or less, and you want to get them to actually move forward with booking a flight. So it's actually best to just send them, whoever is in this segment, a message immediately. It'll be within that window of them, hopefully still being interested in flights and knowing that they probably want to schedule or book a trip to get them to actually book. We're going to select Deliver Immediately.

And then for this one, again, you do have the options. If you want it to show up more than once, you could either select 'If the user returns to the app' or 'After a certain amount of time'. And so again, you can do this in hours or you could even do days, weeks, et cetera.


This one, I'm just going to select 'If the user returns to the app'. What that means is, basically, anytime they are searching, maybe I want to send them 'Book a price alert'. Anytime they come back and search, they would get this notification. If that feels like it's too much, what may make sense is, I want to do it maybe after two days. Just so I'm not bothering them, I want to select, okay, anytime they've searched a flight within the last 15 hours, but only after two days each time, they're going to get a reminder to set a flight alert.

We'll save this and make active. And then once it's active, that's it. That goes back to that set it and forget it mentality.

Now, anyone that has actually searched for flights on my site within the last 15 hours or less will be getting this price alert notification, and they will get it once. Only if they come back within two days, they may get it again. So that's a nice way to hit them at different points.

And then after I've got my price alert, let's send them an automated message for 'Plan Getaway'. Oops, what I would do... Sorry, slight hiccup there. Since I've already got it here, we just walked through each of these steps for every point. Now I'm going to name it 'Plan Getaway'.

I'm going to select a particular segment. For this one, I'm actually using the Engaged Users segment. Here, just to review, I can see the dropdown. I'm going to select Engaged Users because this is for anybody that has visited my site within the last week, as well as they have a session count of four or more. So they visited the site within the last week and they've been there at least four times or more within that week. I think to me, this is a great one.

For anyone that is just active and engaged on my site, I want to send them notification to plan a getaway. I can tell if they've been there four more times within a week, they're excited and looking to plan a trip.

Again, I already have my templates set up. I'm just going to click the 'Plan Getaway'. We can see again what it looks like a little bit on Mac or Windows. Send immediately. For this one, I set 'If the user returns to the app'. Again, this one, I think this is good because remember, they have to hit all of the stipulations in this segment to even get the message. So, this goes out to anyone that has been to my site within the last week and has a session count of four or more. I want them to get this message any time they meet those criteria of the segment. This is a good one to select if the user returns to that. Okay, great. Hit SAVE, and I'm ready to go.

As you can see now, I've got four out of my five set up for our automated messages. I think if we wanted to do one more, if I go back, I've already forgotten. I think it was 'Get ready for your flight'. Oops, sorry about that. So I've got Flight Booked. Maybe we'll create one last one live here with you guys. Let’s just say this one's going to be 'Upcoming Flight Reminder'.

For this one, let's see. I don't know if I created a particular segment, but for the purposes of walking through the demo, let's just say click Active Users. But ideally, this would be anybody that has a flight booked. A cool thing would be, maybe I know they've booked this flight in a timestamp of one, the date of their flight would be, so that you're sending it to them at the right time. And then I'm going to select Upcoming Flight Reminder template, and it gets uploaded here. You guys can see it populated. So it's a little bit easier to view. I just have a fun GIF of a guy packing his bags.

And then I want this again to go out immediately. Since it is pretty time-sensitive, we want it to be relatively right away before their flight is coming up and actually want them to only get this once. We'll make this one active. And now we've got automated messages for every point of the user journey - one for the price alert, one for planning getaway, one for actually a vacation planner reminder, a feature on my site, one for, yes, they booked. Now, let's send them a confirmation of their flight. And then finally, an upcoming flight reminder notification. So that's how it all works.


Again, you got to create your templates first and then set up your segments. remember, segments are key and fun because you can combine as many of these different filters to make sure that you're hitting your targeted group of users, not only the right people, but also at the right times. And then once you've got those, you just head over to Automated Messages and set up your automated message, and set it and forget it.

And then one thing I wanted to quickly review too is, after you set up these templates to review the delivery statistics, you'll be able to see the lifetime statistics here. As you can see, you'll see how many it's been sent to and how many have actually opened it. You'll see the conversion or CTR statistics here for the lifetime of this particular notification.

You can also review the specific individual statistics as each message goes out under the delivery and sent messages page. You can see here, we've sent the "We search thousands of flights every day so that you don't have to." We've sent this here and you can click that. You can see how many it was delivered to and the click-through rate as well. It's about half. You'll see all of the relevant delivery statistics here and a summary as well. Perfect. So that's everything to do with automated messages and how to set up automated messages specific for a user journey.


Do you guys have any questions? It looks like we have one here. A question is: Does it cause any problems to change or add to the journey when users have already moved through a few steps messages?

That is a great question. It doesn't necessarily cause any problems, but there is potential to maybe re-send someone a message that already got it. What you can do though is you can always pause these. Here I'll quickly show you how to do that. Let’s say you've set all these up and you're like, "Oh wait, maybe I want to slightly change my segment for the Vacation Planner Reminder." What you can do here is hit PAUSE. Now, it stopped, so they won't be getting this message. But you're right, it had already been sent out to a few people.

One way to check, it may get a little bit convoluted, is if you're able to review who actually got the message, you can go back and see if you might be able to add in a particular tag to them so that way you can exclude them. Or what you can do is, you can create an entirely new segment, maybe like almost starting from scratch. Let’s say you had sent this Vacation Planner Reminder to anyone that had gotten a message within the last 15 hours or so. What you can do is change the filter hours, the filter dates or the filter session counts so that you would actually be excluding that group, so that they wouldn't get sent that message again.

It does require a bit of thought. And again, mapping out the journey is key and being cognizant of what times you're using that way to hopefully know whether this person may get it again or not. That may happen. But don't fret. I think the cool thing about automated messages, again, especially these ones that we have here in the middle, they're basically reminders and you're just trying to get people back to your site because you want them to book. If they do get it again, it's not necessarily a bad thing. It's just maybe a little bit more or more closer than you initially wanted. But you do have to be cognizant and about the filters and the times that you've set for the filters and accounts when you may be pausing or restarting any automated message. That's a great question.

It looks like there was one more, and it said, "For your example around the booking event, is that tracked with outcomes or data tags or something different?"

It's actually tracked with what we would call data tags. In my example, let's say I want to create a tag every time that action is taken. There are few ways to add data tags. One of the great ways is that you can actually add them programmatically with our SDK. It does require a bit of code. If you are not a developer, hopefully, you can pull in your developer to add this bit of code so that the tag is added automatically.

Let's say for instance, once I go to Audience up here at the top and All Users, and I'm adding these tags, I haven't actually set it up since it's just my example site. But here under Tags, you would see the 'Booked' tag get added here. All those tags for my 'Booked' example, anytime someone actually clicks 'Booked' and have purchased a flight from my site, they'll get the 'Booked' tag added to their device here on the back end. And then once that has been added, you can actually segment by the tags specifically. Anytime you create a new segment, you'll see these are filters for the data that we collect automatically, but you can always filter by the user tag itself.


In my example, I'm just calling the tag 'Booked'. Again, you're not seeing it in the audience just because I haven't fully set it up on my test or example site here. But it is going to come through as a tag anytime that action has been taken. But that's a great example. Any time you're looking for actions that are taken and you want to then identify those specific actions, we recommend adding those as data tags or user attributes. Perfect.

Any other questions or comments? Okay, great.

Well, we'll definitely follow up with this video recording afterwards. Feel free. Obviously, you can always reach out to OneSignal here, and our support team is awesome. If you’re on the platform, you can actually just click this Message here and then actually type in a question or message to our support team directly. Or you can just reach us at We're always happy in here to help.

Great. Thanks so much for joining us. We look forward to helping you send your push notifications and communications out throughout the rest of the year and throughout the New Year as well.

Take care.