One of the most powerful features in ManyChat are the conditions that you can create.
With those conditions, you can create a great user experience for your subscriber.
(You really can’t survive without)
That’s why I wanted to create some examples for you that you can implement in your own chatbot.
But let me explain to you how conditions work before you scroll to the examples.
Quick note: want to import all the flows inside this article directly into ManyChat? Get free access to the Flow Library here.
If/Else Conditional Logic
It’s actually really simple.
You’re using this kind of logic every day to make binary decisions.
If the street light is red then you’ll wait, or else you’ll cross the street.
It works exactly the same inside your chatbot.
If the subscriber is a man then send a relevant message to men, or else send a relevant message for women.
Luckily for us, ManyChat made it really easy with these condition blocks.
Take a look at the example below.
What you see here is a condition that checks if the subscriber is a male.
Take a look at the text inside the condition.
“Does the user match all of the following conditions?”
Is the answer yes? Then we’ll send a message that is relevant for men.
Is the answer no? Then we’ll send a message that is relevant for women.
This is just a basic example.
You can do sooo many cool things with this.
You can also combine conditions.
Check this little example:
Here we check if the subscriber is a male and if his last interaction was less than 1 day ago.
If yes we’ll send X.
If no we’ll send Y.
Get it?
Let’s go over to all the other examples.
1) Greet subscribers in their own language
You can either create your whole bot in multiple languages or just greet subscribers in their own language for fun.
I’ve subscribers from over 50+ countries in my bot and they’re always surprised I greet them in their own language, lol.
2) Send conditional content based on gender
This might be cool if you’re selling something that is based on one’s gender, like with clothing.
3) Check the Messaging Window
You probably already know that the 24-Hour Window is one of the most important rules.
When someone didn’t interact with your Facebook Messenger Bot for over 24 hours, you can only send a message with one of the message tags, or a sponsored message, or with a One-Time-Notification.
With this condition, you can easily check what kind of message you’re allowed to send.
4) Check if you already have someoneโs email address
Itโs unnecessary to ask for someoneโs email address again if you already have it. You should especially use this if you have multiple lead magnets in your chatbot.
The condition is really simple. If the email custom field has any value you just answer with โOk, Iโll send it to {{email}} in a few minutesโ and if it doesnโt have any value you simply ask for the email address.
5) Send conditional content based on answers
This is one of the most powerful ways to use conditions. I use this in every flow over and over again to be relevant.
Ask a few questions at the beginning of your bot and keep asking questions along the way. Segment your subscribers by their answers and use conditions to send them relevant content.
This is a simple example I use before I collect oneโs email address, just to be more relevant.
Subscribers of who I know that they sell online courses will get this;
“I created a Chatbot Checklist that will help you to build a better Messenger chatbot so you can sell more online courses.“
But subscribers who answered that they create bots for clients get this;
“I created a Chatbot Checklist that will help you to build better Messenger chatbots for yourself & your clients.“
Etc.
See the difference?
It’s small, but it works because it’s more relevant.
6) Invite your most loyal subscribers
I can’t say enough how important it is to setup Lead Scoring in ManyChat. That way you know exactly who your most engaged & loyal subscribers are. And if you know that, you know when to send the right message exactly.
In this example, you’ll see how I invite subscribers to a webinar when their Lead Score is higher than 50.
7) Currently on holiday
This is very handy if you’re working on your own like me.
When I’m on a holiday, I’m not doing any support.
So I created the flow below for when someone is asking me a question.
It checks if the Holiday Bot Field is set to “yes” and if the Back From Holiday Bot Field has any value.
If yes, the subscriber will get a message with that I’m currently on a holiday.
8) Send subscribers to their Gmail inbox
At the moment of writing, I’ve not seen anybody use this condition yet, but it’s soo powerful!
With this condition, you can just check if the subscriber’s email address contains “Gmail” and then you can mention something about that your emails could end up in the promotion folder or you can make a direct button that links to their email inbox.
9) Check which day of the week it currently is
You can use an action to set the current date to a date custom field, and then save the day of the week into a separate custom field.
That way, you can use the current day inside your conversations, but you can also check inside conditions which day it is.
Conclusion
So many cool things you can do with conditions in ManyChat right?
You can use them to hyper-personalize your Messenger Bot so you can make conversations relevant & get subscribers engaged.
But there’s more..
This was just the tip of the iceberg ๐
I created 20 ManyChat Flows that will help you to make your Messenger Bot even smarter.
Just fill out the form below to get them.
Want more example flows? ๐
I created a free Flow Library with more examples like this that will help you to get the most out of ManyChat fast.
Our company uses Manychat through our business page on Facebook. All is great, except we have both wholesale and retail messages (and therefore messages from both). Is there any way, on either Messenger or on Manychat, that we can “group” or “tag” our retail contacts, in order for our bots to be sent to them but not our wholesale contacts? Anxiously looking forward to your reply!
Hey there! You can apply tags to contacts inside ManyChat, and then with conditions you can determine who’s receiving what ๐
You could for example add a the tag “[Segment] Retail contact” if you know someone is a retail contact. You could also automate this process by simply asking these questions inside Messenger, and then based on their answer you automatically add a tag with an action.
I hope that helps!
Absolutely. You can ask a question such as, “Do you know us through wholesale or retail?” Giving quick replies for each (I wouldn’t use bottons, just because buttons stay there, so they can always got back and change it which could cause problems later down the road). You can then add an action after each of those specific interactions, tagging them appropriately. Then when you set up bots and sequences, you can add a condition that states something like, “Are they are tagged ‘Wholesale’? If yes…. If no…” If you wanted to be super thorough, you could add a second condition attached to the “No” that goes like, “Are they tagged ‘retail’?”
Does that make sense?
how do you integrate zapier with many chat to get the condition for day?
Hey Bryan! You can use the Formatter by Zapier to get the current day of the week & save this into a custom field so you can use it in conditions! ๐
Another way would be to create your own script that does this and get the current day with an External Request. But this is a bit more difficult.
Quick update (December 2019): it’s now also possible to use the ManyChat Date & Time feature to get the current day of the week ๐ช
Hi, Max, I interacted with your bot and was amazed to see you pull my email automatically! How did you do that?
Hey Rohan! Cool right!? This way you can capture an email address in Messenger with just one click ๐
It’s actually really simple.
In ManyChat you create a user input and set the type to ‘Email’. This way the email address that’s associated with the Facebook account will be shown as a quick reply. When the subscribers clicks the quick reply, you can save it automatically to a custom field of choice ๐
Hi, Max. Very cool techniques.
Is there a way to turn on/off a flow depending on an amount in a google sheet. For example, if we’re giving away a coupon and want to limit it to 15 coupons per day, on the 16th it would say something like “We’ve reached our daily limit but we’ll message you when we have more in stock tomorrow.”
Hey Eric! Yes, totally possible!
However, I think it’s easier to achieve this with a number Bot Field. The Bot Fields are for all your subscribers the same, so if you would increase the number every time you give a coupon away you could check with a condition when the Bot Field reaches 15.
Hope that makes sense ๐
Hi Eric,
Did you find a way to do this? I can work out how to divert the flow if Coupons are exceeded fro day. But Im trying to work out how to reset the counter automatically each day without having to Update the customers field.
Did you find a solution?
Cheers ๐ช
Have you found the solution? I have the same question. ๐
Do you think this will work? (Under RULES: “Date/Time based trigger”)
Hey Arbs! Have you worked with Make?
You could schedule a scenario to run at midnight every day, that will start a flow that will set the “Coupon Availability” bot field back to the amount you want ๐
Let me know if you need an example.
Hey Max
Thanks for the great content. I found your post because of your tip on the date condition replies, but I was actually looking for something else.
Is there any way to use time conditions? eg, “If current time is between 8am and 6pm, answer x, otherwise answer y”
Thanks for you help!
Hey Antonio! Thanks, glad you like it!
It isn’t natively possible with ManyChat yet, but you could use an external request & a script that gets you the current military time. Right now that would be 0951 (9:51AM), you store this to a custom field and then check if the number is greater than 800 (8AM) and smaller than 1800 (6PM).
Hope that helps! ๐ช
Wow! great info Max! Quick question tho, im trying to do an offer on facebook messenger, and i want people to be able to use it only once per month (its a 2×1 offer), how i can do that???
Hey Fernando! Maybe you can apply a tag when they make use of the offer. And with a condition you make sure nobody can access the offer anymore who has this tag. Then, after 30 days, you delete the tag again.
Hope that helps!
Hi Max,
Great content!
Can you create a scenario in a Manychat quiz that returns a client to the point they left a quiz, rather than back to the beginning?
Thanks
Thanks Simon!
If you give a tag for every question people answer, you can then check with conditions which questions people answered & redirect them back to the last unanswered questions ๐
Hope that helps!
I have a very engaged active facebook GROUP I use for business. I would love to send them content through a messenger bot if they comment on a post or video for example. Can I do this in a group? I don’t want to use my facebook page but the private group instead.
Hey Jenn! You can’t trigger the bot if someone comments in your group.
Usually I use Messenger Ref URLs, or I send everyone that comments a message with the bot manually & ask them to reply with a keyword.
Hope that helps!
Hi,
I have a question, if I wanted my user from 6 to 9 pm to take a certain flow, while for the rest of the day he would take another flow.
Without specifying the date is it possible?
Hey Angelo!
It’s a bit techy, but yes it’s possible.
You need to get the current military time, and then you have to check if it’s between 1800 & 2100 (1800=6PM, 2100=9PM).
If it is, you redirect them to a different flow.
There’s multiple ways to get the current military time, but the easiest one is the Daytime API I developed for exactly these kind of use cases.
Hopefully that helps!
~ Max
Hi, very interesting article!
Do you know if it is possible to create multiple choice answers in Manychat? I have looked everywhere but couldn’t find the answer.
An example would be :
What types of guitars are you interested in? A/ acoustic B/ electric C/ electro acoustic
The user may choose A and B for eg.
Thank you
Hey Romain! Yes, that’s totally possible!
Create a multiple-choice user input, and after that input check with a condition which question was answered.
I have a free tutorial about it here.
Hey Max,
I understand you can send follow-ups using tagged conditions but unsure how to include a secondary condition that a follow is only sent if the user didn’t send the last message after going through a flow?
Hope that makes sense
Aashay
Hi,
Please could you tell me how to give the same unique coupon Number to the same person claiming if they try to claim more than once instead of creating a condition that looks for any value and just says youโve already claimed.
Hope this makes sense.
Thank you
Hey Dwayne! Good question!
I guess you could just store the coupon inside a user field called “Coupon Given”, and then at the beginning, you check if that user field has any value.
Great content Max, I have a question about checking the messaging window.
I want to use click ads for JSON messenger.
But I am afraid of violating the policies.
Is the next:
Yes, a person clicks on the ad, subscribes but doesn’t reach the end of the stream during the 24-hour window, and the next day decides to end it.
Would the bot stop sending responses? or if you do, would it violate 24 hour policies?
What could you do about it?
Hey Javier! If you set the message type of the block to “Other” it won’t be sent to subscribers that are outside the 24-hour messaging window.
However, I still like to check with a condition if that message can be sent. That way you can automatically send an email instead.
I hope that helps ๐
This is the only tiny problem i have and is huge pain in the as*
How to separately send message to my user using manychat if they aren’t replying(not clicking any button or writing any text) ?
Hi Max! Another great video and helped me tremendously. Here’s a question for you. Is there anyway to get the current day of the week instead of date? Right now my date is showing up as 2020-12-15 and I would like it to say Tuesday instead. Thanks!
Good question! I created a tutorial about that here.
Hi, great material, thank you! Is there any way to stop the conversation and prevent the bot from responding to keywords?
Hey Shox! In what case would you want to the bot to responding to keywords? I guess you could create conditions between text messages to prevent it from being sent in certain situations.
Hi, Max! Thank you for reply! The main case is dialog flow, when bot activating from inserted keywords by user, pointed in Starting step.
Can you please give an example if it possible, what conditions between text messages can to prevent bot to proceed in responding to any keyword?
Hi!
Great guide!
Is it possible to create this in whatsapp:
IF a client has chosen one service (out of 3 options) in the beginning of a flow, and only after several steps of filling out a few personal inquiries, the client reached the payment stage, can I then automatically display a link with the specific service he chose at the beginning?
I couldn’t find an option to do that ๐
Thanks!