AAdvanced Facebook Ads

Messenger Bot + Black Friday = More Sales!

Andrew Demeter author profile image
Countdown Plugin Featured Image
Countdown Plugin Featured Image

Being a business owner or Facebook ads buyer, you know that Black Friday is the single most profitable day in Q4. But, in the spirit of greed and consumerism, I’m here to teach you how to further maximize your Black Friday revenue using a Messenger bot.

Specifically, I’ll show you how to implement a countdown timer within your Messenger bot that will instill a sense of urgency in your potential customers. Translation? More sales!

STEP #1: Create a new bot

Go to Chatfuel.com, log in using Facebook, then click the orange 'Create a new bot' button.

Create a bot in Chatfuel

Don’t worry, this won't publish the Messenger bot to your business page yet.

STEP #2: Remove placeholder content

We should build this bot from scratch, so first let's delete the contents of each block…

Chatfuel placeholder content

After that, we can trash the 'Sample Sequence' and 'Group of Content Blocks' groups.

Sequences in Chatfuel for Messenger bots

STEP #3: Map out your conversation

It's crucial at this stage that you have a clear understanding of your call-to-action. While it’s easy to get caught up in the details of designing your user experience, you can't lose sight of the end goal – a sale!

Mind map tool Facebook Messenger bot

Make sure users are always just one or two clicks away from checkout.

STEP #4: Build flow in Chatfuel

Now let's recreate our mind map, using text & gallery cards and typing animations.

Chatfuel Flow Builder

I'm temporarily using the text "[Countdown Timer]" as a placeholder. It doesn't serve any functional utility yet.

Additionally, I'll create a new block for each of the three Messenger bot templates. This is where users who click the 'See Features' buttons on the previous carousel will be redirected, depending on which template they chose.

E-Commerce for Messenger bots

STEP #5: Enabling Stripe payments

Before configuring the countdown timer, let’s get rid of this error…

Stripe Payments Error in Chatfuel

Head into the CONFIGURE tab of your Chatfuel dashboard, then scroll down to 'Payments' and go through the Stripe setup wizard.

Setting up Stripe Payments in Chatfuel

(NOTE: If you don’t use Stripe, replace the Messenger-native 'Buy' buttons with a link to your PayPal account or website's checkout page.)

STEP #6: Adding JSON code

Next, let's replace the countdown timer placeholder text with custom code. This will enable our Messenger bot to fetch the current time and tell the user how much time is left until the deal expires.

To do this, add the JSON API plugin above the placeholder text. Then copy and paste the following endpoint into the URL field:

Get User's Current Time in Chatfuel

More on how this works later!

We’ll also need to replace the "[Countdown Timer]" text with a user attribute (a.k.a. variable) that the server will dynamically fetch for us. This is done by surrounding the name of the variable in two curly braces: {{timeUntil}}.

Countdown Timer for Facebook Messenger Bots

And here's the result…

Facebook Messenger Chatbot Countdown Timer Plugin

STEP #7: Manually modifying dates & time zones

The endpoint pasted above might seem confusing, so let's break it down!

The base URL is:

The &futureDate= parameter accepts the future date to which you're counting down. For example, &futureDate=2017-11-24 24:00:00 will calculate the time until November 24, 2017 at midnight.

Finally, the &botTimezone= parameter accepts the time zone in GMT that will be used to calculate the time until your future date. For example, &botTimezone=-4 will use EST when calculating the time until the future date.

Here’s a useful resource for determining your current GMT time zone.

Chatfuel Testing JSON Code in Browser

(NOTE: It’s best practice to paste your modified endpoint into your browser to confirm it's calculating the time as expected.)

STEP #8: Dynamically replacing users’ time zones  

Let's imagine you own an international e-commerce business. You're running Black Friday deals in your Messenger bot, but you don’t want to set a deadline based on a single time zone because other customers might just be waking up and miss out.

Say we want to run an exclusive offer between 9:00am and 5:00pm for each user, taking into consideration their individual time zone. Here's the solution…

Get User's Current Time in Facebook Messenger Bot

What we're doing here is adding Chatfuel’s built-in {{timezone}} user attribute (which returns an integer value that is the user's GMT time zone) and modifying the endpoint to dynamically substitute that value:{{timezone}}.

Now a user in California (where it’s 10pm and still Black Friday) can access our deals, whereas a user in New York has already exceeded our countdown timer.

STEP #9: Restricting access to products

Up until now, we've only created a countdown timer. While this feature is key in manufacturing a sense of urgency to buy our products, it doesn’t actually prevent users from accessing them in Messenger.

Thankfully, Chatfuel has an elegant solution – the GO TO BLOCK plugin.

Go To Block Plugin

Directly under the JSON API plugin, add a GO TO BLOCK. Again, this tool enables us to direct users to specific content based on certain conditions they embody (user attributes). In this case, we want to redirect users to a block, which tells them the Black Friday deals have expired, if the deadline in their time zone has passed.

Conditional Logic in Facebook Messenger Chatbot

Make sure to repeat this process on the 'See Features' blocks, too. Using the JSON API plugin, you always want to call the server to fetch and check each user’s current time before granting them access to your products.

STEP #10 (optional): Set up retargeting

Finally, increase conversions within your Messenger bot by retargeting users who abandon their cart. This tutorial explains everything you need to know!


Facebook Messenger bots will eventually flood the mass market, but using advanced server-side logic – such as a countdown timer – will certainly distinguish between average and exceptional conversion rates.

I'm wishing you a happy & profitable Black Friday, and I can't wait to see your results!

Chat soon,
Andrew Demeter

(Hats off to Pat Friedl, my unofficial dad, for writing the brilliant JSON script we're using!) 

About Andrew Demeter

Andrew Demeter builds Facebook Messenger bots to help his clients monetize conversations with their customers by automating the entire sales process.