Project Solution: Marketing System State Machine Diagram
In this guide we're going to walk through the potential solution for our state machine diagram for a marketing automation system. Now, this is something that is very critical in a system like this.
Guide Tasks
  • Read Tutorial
  • Watch Guide Video
Video locked
This video is viewable to users with a Bottega Bootcamp license

One of the most critical components of a system like this succeeding relates to how well it can manage the state. Imagine a scenario where you have a visitor who comes to the site they fill out a form and then you start sending them all of these marketing automation messages. And then they decide to purchase or they say they're not interested or they're not qualified. And for some reason, the system doesn't manage their state properly and you keep on sending a message as that would be a very bad experience and in fact, it's actually illegal. It's illegal to send messages to users that have said that they do not want to have messages. That's a part of the Spam Act. So it's very important in cases like this to be able to properly manage how the states work. So this is a little bit larger of a state machine diagram and we're going to start all the way up at the top.

medium

Now notice that this may look very similar to an activity diagram. However, if you look at each one of these states these are very different. They are not activities they're not actions. They represent a state not what the user happens to be doing inside of each one of these Decision Points. This does represent an action and then that will affect how the state changes.

So in the very beginning whenever you have a start point that goes straight to a state that means that that's the beginning state. So we have a user who starts off as a visitor. Now if they submit the form then they move down if they do not submit the form then it simply goes back up. And it means that their state has become unchanged and this is not just related to a marketing automation system. Imagine building a state machine diagram out for a social network. If you have a user who's not logged in and not registered then that user as they travel throughout the entire application their state will remain as a visitor.

So if they do submit the form though then it comes down and they are now a prospect. So their state has changed from visitor to prospect. And then we check to see are they qualified for the CRM conditions. This would be a scenario such as checking to see if you only sell to individuals in the U.S. and the U.K. and you have someone from Australia then that means that they are a disqualified prospect and so you would simply change their state so that it is a disqualified prospect and unless something changes then they would simply stay in that zone. Now they always can change it so they can update it say that you all of a sudden now do accept sales from Australia. Now this would come down here it would ask the same question and we would move down the line. So after they've been qualified they are now in the state of being in the lead if they are a lead and they get moved down. It checks to see are they qualified for a CRM opportunity condition.

This could be something like saying that you have all of these different items that need to be checked. A very easy one would be saying that it's a law that you cannot have anyone that is under 18 years old signed up. So this would be checking something like that in the CRM. Now technically what we have here(Qualified your CRM conditions) and here(Qualified CRM opportunity condition) could be merged into two processes. The reason why I'm showing this is because this layer right here this is a very initial check. And so you may not be able to even get a lot of information from the user at this point. So all you'd be able to maybe do is find out what country they're in or some basic information like that. Once they become a lead they'll fill out a card or some type of some type of web component where they give more information. And then once we have that information it gets processed through the CRM. It checks to see are they qualified with our more advanced types of qualifications. And if no then they are an unsuccessful lead. They stay in the state unless something changes. If they do qualify then they come down and they're no longer a lead. Now they're listed as an opportunity in the opportunity State. There is only two different options that can occur. The first is that they come all the way down and they talk to a sales person and if they say they are not interested then they will be a lost opportunity if they purchase and they say they are interested then the opportunity has been won and their state has been closed and has won.

This is a very important component when building out a system like this. I like to make sure that each one of these States represents the same participant. Notice this is not the state of the system it's not the state of other users it's not the state of the marketing engine or the employee. Instead this is representing only the users state. And so that is a very important part of building out a state diagram that is effective and also is easy to read because you can look at it and you don't have to worry about what state visitor is verse unsuccessful lead and which type of user that represents. It's just very clear right here. Any one of these diagram components is representing the state of the user.