Skip to main content
Troubleshooting Identity Verification
Penny-Merelle avatar
Written by Penny-Merelle
Updated this week

If you’re having trouble setting up Identity Verification, there are two possible reasons: the user hash is missing from the user’s Messenger API request or the user hash has been provided but it’s not what Intercom expected.

First take a look at your browser console and you should see an error explaining the specific issue e.g: a 403 Permissions error.

See how to open your browser console here: Why can't I see the Messenger? | How to check for errors.

In this case we can see that Identity Verification is enforced but no user hash is being sent via the Messenger API for the logged-in User. This means the Messenger will not boot.

Similarly on mobile, you can see errors in your IDE noting that your integration has "Failed Identity Verification check".

Important: If you enforce Identity Verification without resolving errors, your Messenger will not load properly on domains where you have installed the Messenger.

Missing hashes

If you have an error about missing hashes, you have to ensure you are generating hashes for your users using the Identity Verification secret from your workspace settings and one of their identifiers (user_id or email). It should be included with every user request.

Setting up Identity Verification will require technical changes to your Intercom Messenger installation and requires access to server side code most of the time. This can be performed by whoever set up your Intercom workspace originally.

If you generate the hash with the user_id, you’ll need to send the related user_id in all requests.

Invalid hashes

If you are sending a hash but Intercom says it’s invalid there are a few things to check:

Are you using the correct Identity Verification secret?

  • Each platform (Web, iOS and Android) has a unique secret and you must use the one provided in your Intercom settings. Making up your own won't work.

  • You also cannot use your API key to create hashes, only the Identity Verification secret from your Security Settings.

  • Your [TEST] workspace and production workspace must be configured separately as each has its own set of unique Identity Verification secrets.

Are you sending the relevant user identifier along with the user hash?

If you just send the user hash the Identity Verification check will fail. You must also include the identifier that you hashed with the request e.g: user_id or email address.

Are you generating the hash with the correct user identifier (user ID vs email)?

  • If you send both user_id and email, generate your user_hash with user_id.

  • If you send just a user_id, generate your user_hash with user_id.

  • If you send just email, generate your user_hash with email.

Check your hashes with the hash checker in your Security settings underneath your secret key.

Did you send along the hash value with the key “user_hash”?

The hash you generate should be sent as “user_hash” along with your Javascript snippet. You cannot call it anything else e.g: “android_user_hash”.

Is this the latest version of your code?

If this is an older version of your app, or your JavaScript code is cached you might not be sending a user hash with your User data in which case the Messenger won’t load.

If you’re still having trouble with Identity Verification, reach out to our support team through the Messenger and we’ll be happy to take a look. Please include a sample user who’s having trouble and the errors from your console.


💡Tip

Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts


Did this answer your question?