LocationKit for Manychat is a complete toolkit for Location-based marketing

Automatically collect and store location data to target and deliver engaging location-based offers.

Michael Brant
14 min readFeb 3, 2019

LocationKit for Manychat is a complete toolkit for location-based marketing on Facebook Messenger. Enable your chatbot to provide dynamic directions to your business, instantly collect and store detailed address information from your users, and send location-based offers using a variety of geographic criteria. In just a few simple steps and with zero technical knowledge you can connect Manychat with Google Maps, Google Sheets, and even Google AI and do serious location-based marketing on Messenger!

Why location-based marketing matters

According to leading publication Mobile Marketer, marketers surveyed in 2018 said location data produced growth in their customer base (85%), higher response rates (83%), and higher customer engagement (83%). It also gives marketers deeper knowledge of their customers’ needs and interests (77%), improved ROI for their marketing and ad campaigns (74%) and increased lift (70%).

What can you do with LocationKit for Manychat?

📍Collect Address Data
Your users can share their location with one tap (or their zip code). You’ll instantly collect and store country, state, city, zip code, even the user’s neighborhood.

📍Target Offers
Use the location data you collect to target location-based offers or have your bot automatically rank offers by those closest in distance to your subscribers.

📍Automate Directions
Have your bot send instant directions to your business location from the user’s current location, or share multiple locations ranked closest in distance to users.

📍Gain Insights
Use the location data you collect to gain actionable insights so you can optimize your marketing and produce measurable business results.

Why use LocationKit for Manychat

Easy to start
Once you install the template, just say “Run LocationKit” to your bot and your bot will help you with the setup. You literally just need to enter in a business address and your bot will be able to provide instant directions to a single place of business, or add a free LocationKit key and unlock more flows and do more with LocationKit!

Easy to manage
Admin tools are built into the template which you can access by creating a password. Just send your bot “Run LocationKit” and the password to manage LocationKit. You can also connect a Google Sheet to add multiple locations and location-based offers. Just enter in your data and your bot will automatically format your data for Messenger.

AI-enhanced
Easily connect pre-trained LocationKit artificial intelligence in a few simple steps and your bot will instantly respond to user input like “Where are you located?” or “How far is your store?”

Getting Started

The first thing you’ll want to do is install the LocationKit template to ManyChat. Chat with LocationKit bot to see demos, ask questions, get support, subscribe to updates, and of course, get the latest Manychat template!

👉 http://bit.ly/locationkit

When you install the template and say “Run LocationKit” to your bot, you’ll be prompted to create a password. Your password will be saved as a Bot Field in Manychat and allows admins of your Manychat bot to manage LocationKit features. Your password can be letters, numbers, or special characters. If you ever forget your password, your bot will send it to you ;)

To manage LocationKit, just chat with your bot. Say “Run LocationKit”

Run the setup

Once you’ve installed the template, you’ll want to run the setup. Say Run LocationKit to your bot, or run the Flow named CLICK HERE to get started with LocationKit.

You can access LocationKit admin tools, demos, and support from this Flow. You can also access this user guide!

Click Setup & Admin and you’ll be prompted to enter your password, the password that you created when you first installed the template. If your password is accepted you’ll be given the Admin menu:

My Location

If you have a physical business location, you can provide instant directions to your location. You don’t need a LocationKit key for your bot to instantly provide directions to a single business location. You just need to enter your business address. Click Single Location:

If you’re a business on the move like a real estate agent, or a food truck, then you may update your location frequently, so any time you want to update your business location, say Run LocationKit, or create a keyword rule that sends you to your Admin flow so you can update your business location.

I’ve already added my business location so you can see above how my bot will show me my current address (stored as a Bot Field), but you can click Update now and you can update your address at any time on the go!

Give directions to your business location

Once you have your business address saved, your bot will be able to give directions to your users. You might have a button in your conversational experience like “Our Address”, or “Get Directions” etc.. and you can link to the 📍Give Directions flow:

Before you can provide directions, you’ll need to get a starting address from your user. The Get a user’s location flow will prompt the user to share their location with your bot. You can give users two different ways to provide their location. They can type their zip code (U.S. users only) or they can click a Send Location button, pick a point on a Google Map and it will send your bot coordinates.

Your bot will respond with the 📍Give Directions to a Single Location Flow and your bot will give instant directions to your business address. There are two Google map types built into the template.

Option 1: This is a default Google Map
Option 2: A satellite-enhanced Google Map

Just change the arrow to link to the option you want to use.

Multi-location businesses

If you’re a multi-location business you can automatically provide directions to a location that’s closest to the user.

Say Run LocationKit to your bot, and click My Location, then click Multi-location.

You’ll be able to use the LocationKit Google Sheet template and add multiple locations to the sheet. When your bot is connected to the Google Sheet, then when users ask you for directions, your bot will return your locations from the sheet automatically ranked by those closest in distance to the user.

Get the LocationKit Google Sheet template at http://bit.ly/locationkit-sheet

The Google Sheet template is read-only, so you’ll need to make a copy of the sheet so you can edit the data.

Once you’ve cloned the sheet, click the Blue Share button in the top right corner, click get shareable link and make sure the settings for the sheet are set to share with anyone. Don’t worry the link is rather cryptic. You’re just going to make sure that your ManyChat bot can read the data stored in this sheet.

Next, you’ll want to get the Google Sheet ID. First, grab the Google Sheet ID out of the URL. You can see how it’s highlighted here. Copy that long ID in the URL to your clipboard.

Next, go back to your bot and click Connect Google Sheet. Click the buttons and when prompted, just paste in the Google Sheet ID saved in your clipboard.

The Google Sheet ID will be saved as a Bot Field (Google_Sheet_ID). Once you have added the Google Sheet ID, your Manychat bot will now communicate directly with the Google Sheet retrieving data that you add or change in the Sheet. There is no need for any 3rd party tool like Integromat for LocationKit to read data from a Google Sheet!

How does the Google Sheet work?

There are two data sheets you can use, one to manage a list of your business locations, and the other to manage a list of location-based offers. For both data sheets, your bot will return results based on those closest in distance to the user.

📍Nearest Locations from Google Sheet 🔑

Let’s look first at the Location List sheet where you can add a list of your business locations. You can see from the sample data in the Google Sheet that we’re using the popular restaurant chain IHOP as the example. IHOP has locations all over the United States, so when a user interacts with a bot, the bot will give them the IHOP location closest to them from the 4 listed. It works like a traditional store locator.

You can see that we also included data for every column in the Google Sheet and you can see what that will look like in Messenger:

You just enter in the data you want to include, or remove data from columns in the Google Sheet. All of the data formatting in Messenger is handled behind the scenes by the LocationKit.

Adding location data to the Google Sheet

The first thing you’ll want to do is get coordinates for a location and enter them into the Google Sheet.

Here is how you can get the coordinates for any location. Go to Google Maps and search for a location. In the URL in Google Maps are the longitude and latitude. You can see here that I searched for the Sydney Opera House. The coordinates are in the URL.

Make sure you just grab the latitude and longitude.

Copy only the coordinates from the URL, not the data on either side of the coordinates:

-33.8567799,151.21310
✅This is correct as it only contains the X,Y coordinates for the location

If we look at the Manychat flow Give Directions you can see how the flow will check to see if you have a LocationKit Key and a Google Sheet ID. If both conditions are true, then the locations from the sheet will load. Otherwise, you can give users directions to a single location.

-33.8567799,151.21310,11z
❌This includes ,11z which you don’t want to copy. This is actually a zoom variable for a map (1–20).

If you have both a LocationKit Key and a Google Sheet ID saved, then we’ll hit the 📍Nearest Locations from Google Sheet 🔑 Flow:

📍Location-based offers from Google Sheet 🔑

The LocationKit enables you to present location-based offers that are nearest to the user’s current location too, making it easy for them to redeem. We’ve included sample offers and here is what it looks like in Messenger:

Let’s now look at how this was set up. Go back to the Google Sheet and click the worksheet for Location Offers:

You can see how we’ve left out data from the callbutton and phonenumber field and if you look at how this data looks in Messenger (above), you’ll see that only the See Offer is included in the offers. Again here, you can include or exclude elements from any offer, but we left them blank so you can see that they are optional. Here is a list of fields you can use for offer data:

directionsbutton
Each item in the gallery can include a button the user can click to get directions. Edit the label for the button, or delete the label and the button won’t display.

callbutton
Each item in the gallery can include a call button that will trigger their phone. Edit the label for the button, or delete the label and the button won’t display. Ensure you have a phone number in the phonenumber field for this button to work.

image
Get the URL of an image (you can right click on an image and copy the link address) and paste that in and the image will load in Messenger.

website
If you add a URL, then when a user clicks the image in Messenger it will go to the URL.

custombutton
Each item in the gallery can include a button to learn more about the location, or location offer. You can use a Manychat flow for this by including the Flow ID in the custombuttonflow cells. To get a Flow ID, go to your Flow in your web browser and look at the URL, the Flow ID looks like this: contentXXXXX_XXXXX Copy that from the URL and paste it into a custombuttonflow cell. Edit the label for the button, or delete the label and the button won’t display.

You’ll see that we included Flow ID’s in the Google Sheet template and those match the example Flows in the LocationKit ManyChat template in the Google Sheet Data folder:

Remember, If you remove a value from a cell for any of the buttons in the Google Sheet, then the buttons will be excluded from your conversational experience in Messenger!

Limiting the number of results from the Google Sheet

You may add multiple locations and offers to the Google sheet. Note that performance degrade if you have several hundred locations and offers, but either way, your bot will only return up to a maximum of 10.

We’ve added an extra control into the template that allows you to control the number of locations and offers which get presented. You can set a number of results from 1–10. If you click into the 📍Location-based offers from Google Sheet 🔑 Flow, you’ll see a Dynamic Content Form step. Switch to “Edit” mode for the Flow and click the purple box.

You’ll see a Key for numResults. While only a maximum of 10 offers closest in distance to the user will be accessible through your Messenger experience, you can change the Value number from anywhere between 1 and 10.

📍Get address details from a user 🔑

This is perhaps the most valuable Flow in LocationKit. You’ll need a Location Key 🔑 to unlock this flow, but when a user shares their location with your bot, you’ll extract valuable location-based marketing data.

The following data is automatically saved to Custom User Fields you can use to target location-based offers or create cohorts of subscribers based on granular location data and broadcast messages:

📍country
📍zip code
📍state/province
📍locality (city)
📍county
📍neighborhood (USA).

If you look in the Data folder, and click into the Address Data Flow, you’ll see that we list out fields.

A good strategy when trying to collect address information is to incentivize the user with a special offer such as a discount, or giveaway for sharing their location, then use the location data is stored so you can deliver personalized, geo-specific offers to the subscriber.

📍Conditional location-based offers 🔑

You can easily create Flows using the location criteria create conditional offers in the Conditional location-based offers flow. With address data from your subscriber stored in Manychat, only certain offers will be messaged to users that match your geographic criteria.

Use this flow if you have specific marketing offers that are not dependent on distance for redemption. For example, if your bot serves a worldwide audience, customers in different regions of the world can be targeted and redeem offers. If you’re based in the U.S. you might have certain offers for subscribers in one state, but the same offers may not be available in other states. Just create different conditions to that meet your marketing goals using location data to route users to different offers, or no offers at all.

Enhance LocationKit with Location AI

I’ve already shown you how LocationKit is a toolkit with three different Google technologies, Google Maps, Google Place data, and Google Sheets, but there is a fourth Google technology that you’ll find useful. Dialogflow is Google’s conversational AI. We worked with the folks at Janis.ai to create pre-trained artificial intelligence for this LocationKit. Why is that useful?
You probably expect that users will simply click your buttons to get directions and request special offers, but users would have to discover those buttons, and statistically, less than 40% of users even click on buttons, so with Google AI connected to LocationKit, your Manychat bot will understand a variety of user input and be able to respond with a ManyChat Flow. For example, let’s say a user has questions like “Where are you located?” Pre-trained Location AI stored in Dialogflow includes 150 different things users might say to your bot where you would want your bot to respond with a request for the user’s location:

Those are training phrases, and words that are highlighted in yellow are variables, so if users ask “Where’s your store?” or “Where’s your restaurant?”, Dialogflow will understand that “store” is a variable with a number of possible values (like restaurant, spa, car dealership, etc..). I’m not going to get into the details of that here, but the folks at Janis.ai have created a free course on how to connect Google AI to Manychat in a few simple steps.

You’ll need to install the AI Starter Kit from Janis, and then add the Location AI expansion pack.

AI training takes time, but you’ll be able to understand a large number of location-based requests immediately with Location AI and respond with corresponding LocationKit flows in ManyChat.

Before you go…

I wanted to leave you with a few resources if you’re reading this and want to dive into LocationKit.

  1. To get started, just chat with LocationKit bot and you can demo everything I’ve covered here.
  2. Learn more about this Location Kit at LocationKits.com

--

--