How to increase the number of subscribers on Messenger?

How to increase the number of subscribers on Messenger?

How to increase the number of subscribers on Messenger? Today’s article describes the strategy of acquiring subscribers of Messenger’s bot. Are you creating a chatbot, but you don’t know how to promote it? Want to know how to increase the user’s number in Messenger at a low cost? If so, I recommend you to read the following article – I will show simple way, based on the strategy of “snowball”, which can help you in the promotion of your chatbot.

The strategy, I will show you in this article, I will present on a bot, which is built using Chatfuel. However it can be used using any chatbot creation platform.

What do we need to implement this strategy?

  • Chatfuel account
  • FB fan page connected with Chatfuel’s chatbot
  • Google account (Google Sheets access)

About the strategy

The idea of promotion I want to show you is very simple – reward the person who invitesthe largest number of subscribers. The idea isn’t very innovative. However it’s a fairly well-known strategy, with a little luck, will cause “snowball effect” – after the initial slow acquisition of subscribers, the existing users will start to invite friends and their friends to invite their friends, etc. In this way, the number of users should increase very quickly.

How we can use this strategy in chatbots?

  • using Messenger functionality – „Message forwarding”, which allows users to share rich items with friends
  • use the ref parameter to track referrer information
  • integration with Google Sheet, to save new subscribers and their referrals and create a referral ranking based on this

I will not describe in this article how you can encourage users to invite friends, what rewards to promise and what ads create to acquire first users. All of these things depend on the use case. I rather want to focus on a technical part of the implementation of this strategy.

What to share?

Let’s assume that we have created a chatbot using Chatfuel and want to use the described strategy. First of all, we have to create a rich item (it could be a gallery item) that users will forward to their friends. The design and content of this item depend on your use case and could be different depending on a different case. For the purpose of this article, I created a Share block and placed the following item in it:

How to increase the number of subscribers on Messenger?

The most important thing about this item is the button “Check us” with the following specification:

  • type: URL
  • value: url to your bot + ref parameter with referrer user id
  • sample url:
  •{{messenger user id}} , where {{messenger user id}} is a built-in Chatfuel attribute, which contains subscriber id

Ref parameter allows you to track which user invited which subscriber. This information will help you with creating referral users’ ranking.

An item, prepared in this way, can be used as a menu item or we can send information about the competition with the attached element via broadcasting.

How to share?

The only thing the user has to do to share such an item to friends is to click Forward button, located approximately in the middle of the image on the right (if you want to highlight this button in some way you can create an image for the item that will contain arrow pointing to this button)

How to increase the number of subscribers on Messenger?

As a result, when one of your friends goes to our bot using the Check us button, which contains the ref parameter, this event will be saved in our database (how to achieve this I will explain in the next section).

How to save data ?

We already know how to prepare items to allow users inviting friends to our chatbot and pass referral information. However, we have to save this data somewhere. Which database you choose depends on your needs – it could be a file, relational database or sheet. For this article, I chose the third one – saving data to Google Sheet. One of the main reason for choosing that is the fact that a lot of chatbot builders (like Chatfuel or ManyChat) allows you easily integrate the chatbot with Google Sheet.

What will this process look like?

  • user starts a conversation with a chatbot
  • system sends user’s information and ref parameter to Google Sheet
  • The spreadsheet, in addition to tracking new users, enables building a ranking of the best-recommending subscribers

The first thing we have to do is integrating the chatbot with Google and save data at the beginning of a conversation. Steps to follow are:

  • add Save to Google Sheets plugin
  • click Connect Google Sheets and log in to the account (after successful login Chatfuel will create a spreadsheet in which the data will be saved)
  • in field User Attributes add {{messenger user id}} and {{ref}} (you can add more data if you want)

At this moment, whenever someone starts a conversation with a bot, information about id and ref parameter will be sent to our spreadsheet (with event date).

The next step we have to implement is the best recommending users ranking. To do this we have to go to the previously created spreadsheet and configure several things in it (an example sheet with completed formulas can be found in the link at the bottom of the article).

Currently, our spreadsheet should look like that:

Google Sheet example

As you can see, we have three columns – for storing event date, user id and ref parameter.

Each new user will be stored in new row and it may look similar to:

How to build the ranking?

To build ranking, we need to add a new sheet in our document and create a formula that will summarize and sort users by the highest number of invited subscribers.

Steps to follow:

  • Add new sheet and called it Ranking
  • Add formula in B1 cell:
    •  =QUERY(Sheet1!B2:C; „select C , count(C) where C matches ‚id_.*’ group by C order by count(C) desc LABEL C ‚ref’, count(C) ‚points’” ) 
  • Add formula in A2 cell:
    • =ArrayFormula(SUBSTITUTE(B2:B;„id_”;„”))

The first formula refers to the sheet in which we saved subscribers. It groups ref parameters, summarizes and sort them by count number. The second one removes from ref column id_ prefix, which we added to the ref parameter. Therefore, in the first column we can see user ids sorted by the largest number of invited users. As a result, we can use them to send by Broadcast tab messages to those subscribers who won our award. Worth to note, that our Ranking will be updated every time, a new user has been started a conversation with our bot (every time a new row has been added to the first sheet).

An example ranking may look like this:



Last, but not least is to protect our implementation against cheaters. We need to handle cases like:

  • inviting ourselves several times,
  • sending invites with friends to each other (deleting chatbots from Messenger and starting conversations again)

To do this I recommend the following solution:

  • Add new block, called Save new user and move to it previously configured Google integration element
  • After saving user data to spreadsheet, set attribute Saved to true for user
  • At the beggining of conversation send user to this block only when Saved attribute is not true

After that, a user will not be saved to the sheet several times and we can avoid potential frauds.


How to increase the number of subscribers on Messenger? I have just shown you how to easily increase the number of subscribers in chatbot using Chatfuel and Google Sheet. The method presented here referred to the technical implementation of the issue, and a degree of its success will largely depend on the marketing use of this technique. You need to find a way to encourage users to invite friends, and if you succeed, the rest should be easy.

Url to an example spreadsheet you can find HERE.