If you’ve installed the Intercom Messenger and it’s not appearing correctly, here are a few common ways to fix it.
This article covers any web integration. The web integration involves adding the JavaScript code snippet on a webpage or it can be done more automatically like our WordPress and Shopify apps that just require clicking and authorizing.
A general rule of thumb is if you see the Intercom ping
in the web console, then the code should be installed correctly.
1. Do you have a subscription that includes the Messenger?
You won’t be able to use the Messenger if you don’t have an Intercom trial or subscription.
2. Have you turned on user traffic?
Make sure you have enabled user traffic for Messenger in Settings > Channels > Messenger > Install.
3. Have you installed the Intercom JavaScript snippet correctly?
There are two ways you can install the Intercom Messenger using JavaScript:
Install Intercom for visitors or leads, so you can chat with logged-out visitors.
Install Intercom for users, so you can chat with logged-in users.
You should make sure you use the right JavaScript code snippet in the right place.
If you’ve followed the above guides to installing the snippet but still can’t see the Messenger, here are the next steps:
In the JavaScript code snippet, ensure you’ve replaced the placeholder “
app_id
” with your workspace ID.You need to add the snippet right before the end of the closing
</body>
tag on your website or in your app.
4. If you are using Google Tag Manager to install the Messenger, are you pointing to the correct region?
This app uses a code-less method to install the Intercom Messenger. If you'll be using GTM with a regional workspace, you'll need to pass "api_base" as a custom data attribute, under the "tracking custom data about your users" section with the regional value:
Check out this article for more information.
5. Which APP_ID are you using? Do you have multiple apps?
Have you entered it incorrectly, or do you have multiple apps? Check the app_id in the ping
request (In Chrome: right click page > Inspect > Network); if you don't see the ping reload the page.
You can try also checking intercomSettings
in console but this only applies for non single-page apps. Single-page apps may not have intercomSettings
defined.
6. Is there a ping on the page?
Open up console and try a quick method of loading the Messenger with Intercom('show');
If that doesn't work, look for the ping request (you will probably need to reload the page to see it). If you do not see any ping
request it is likely that the Intercom snippet is not installed or not correctly installed.
7. Do you have the correct Messenger settings enabled?
There are a number of ways to customize the Messenger and add extra layers of security. However, some settings can prevent the Messenger loading if configured incorrectly.
When installing the Messenger, it's possible to hide it from your audience prior to launching:
Are you showing the Messenger launcher to the right people?
In Messenger settings, you can "Control your inbound conversations volume" and configure the Messenger launcher to show to visitors or users, or if they match certain data.
If you choose to show the Messenger to visitors or users who match certain data, your customers (and you) will need to match this data to see the Messenger appear. For example, if you only want to show the Messenger to users who are "VIP" status, only users with this data will see the Messenger.
Is Identity verification enforced, but not set up correctly?
The Messenger won’t load if Identity Verification is set up incorrectly.
With Identity Verification, you store the secret key from your Intercom security settings. You then use it to generate a unique user hash for each of your logged in users which you send along to the Messenger with the other user data for that user.
If you enforce Identity Verification in your security settings without sending hashes through your Messenger integration for each user, the Messenger won’t load for them. Similarly if you enforce Identity Verification with invalid hashes for each user, the Messenger will fail to load.
The easiest way to see if this is the cause of your issue is to open your browser console and look for specific error messages.
If you enforce identity verification without adding the correct user_hash this will prevent the messenger loading and throw a 403 error in your browser console as shown in the image above.
Read more about about troubleshooting specific Identity Verification errors here 📚
Are you on a trusted domain?
Under Keep your Messenger secure you can list the trusted domains where you’ve installed Intercom.
If these domains have been incorrectly added or the domain you’re on is not listed, the Messenger won’t load and you’ll see a 403 error in your browser console.
Steps to find trusted domain errors in the console:
Open console and click Network and then refresh the page.
Filter network requests by writing in "ping".
Click on Response tab.
8. Are you using a public suffix domain?
Installing Intercom on your website depends on the Messenger being able to create a first-party cookie for your domain, like *.customer-domain.com. This will fail (with modern browsers) on any domain registered as a public suffix, like firebaseapp.com or herokuapp.com. See the full list of public suffix domains here.
9. Do you see a 409 error flagged in the console?
If you see a 409 error flagged in the console, this indicates a conflict. Typically this conflict is caused by multiple existing users with the same email address and Intercom not knowing which one you are trying to login.
To resolve this, you can either:
Use a
user_id
as a unique identifier when logging in your users.
Other things to check
Do you use an ad blocking extension, or private browsing mode?
Some ad blocking extensions also block JavaScript that includes tracking functionality, such as the Messenger. Find out why this happens, and what to do about it here.
Have you modified the Intercom JavaScript snippet or applied custom styles to the messenger?
Changing the install code or applying your own CSS to Intercom elements can have unexpected results, so we advise against doing this. If you have a specific use case in mind, chat with our support team in the messenger. We can point you in the right direction. 😄
Are you using the WordPress plugin?
If you’re using the Intercom WordPress plugin to chat to logged-out visitors only, you'll need to log out of the WordPress admin dashboard before visiting your site to see the Messenger appear.
You must also have WordPress 4.2.0 and PHP 5.6 or higher for the Messenger to load correctly when installed with the plugin.
Certain WordPress themes don’t include the footer element where Intercom’s JavaScript snippet is inserted by the plugin. If you use a theme without a footer, you’ll need to install Intercom with the JavaScript snippet directly on your WordPress pages.
Other ways to check for errors
You can check your browser’s console for any other errors if your Messenger still isn’t loading correctly. Here’s how to check in each web browser:
In Chrome use the keyboard shortcut ctrl + shift + J (Windows) or command + option + J (Mac) to open the developer console.
In Firefox, use the keyboard shortcut ctrl + shift + K (Windows) or command + option + K (Mac). The toolbox will appear at the bottom of the browser window, with the Web Console activated.
In Edge, use the F12 key to access the F12 Developer Tools. Once in the F12 Developer Tools, navigate to the Console tab.
In Safari, you will need to turn on the Develop menu. Open the Safari menu in the Mac menu bar, and select “Preferences”. Then, navigate to the Advanced tab, and check the "Show Develop menu in the menu bar" box. You can now use the keyboard shortcut command + option + C to open the developer console.
If you’re still having trouble loading the Messenger, chat to us in the Messenger and we’ll be happy to help!
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts