Solved

customers are not receiving in-app messages when using email

  • 26 May 2023
  • 1 reply
  • 68 views

We identify our customers in Customer.io with an id and an email, however, in-app messages will only be delivered when they are addressed to the cusomter’s id, why is that?

icon

Best answer by Ramy 26 May 2023, 17:59

View original

1 reply

Userlevel 1
Badge

Hi there!

 

The correct identifier to use when sending your in-app messages depends on how your customers are being identified with our SDK and how our SDK sets the userToken value with our Gist (in-app messaging) library. When an identify call is sent to Customer.io, only one identifier can be used; even if the identify call contains two profile identifier attributes. Whatever value you assign to identifier (or id in our web SDK) on the identify call is going to be set as the Gist userToken value.

Here's a breakdown of which identifier is used as the Gist userToken based on the identify call structure, and the workspace type:

  • In single-identifier (id only) workspaces The value assigned to identifier (or id in our web SDK) on the identify call will be set as the profile's id value.
     
  • In multi-identifier (id and email) workspaces If the value assigned to identifier (or id in our web SDK) on the identify call is an email address, the profile's email value will be set as the Gist userToken. Otherwise, if the value assigned to identifier (or id in our web SDK) on the identify call is any other value, the call will use the profile's id value as the Gist userToken.

What happens if you're using our web SDK and you're making a call like this?

_cio.identify({id:"abc123", email: "email@example.com"})

In this case, the value assigned to id is what Customer.io sets as the Gist userToken.

Once you know what userToken value is set, you will know what your target audience should be. (https://customer.io/docs/send-in-app-message/#target-audience) If your in-app messages are only being delivered when they are addressed to the {{ customer.id }} value, then you’ll need to keep the To: field set to that value.

 

Reply