Setting up Identify

Identify is how you send information to Freshpaint and your destinations about who your users are. There are two parts to using identify:

  • Attaching unique identifiers to users.

  • Attaching properties to users.

Attaching Unique Identifiers

By default, when a user visits your site, Freshpaint and downstream tools will identify the user based on a randomly generated identifier. This means when a user visits your site on their phone and on their laptop, they will show up as two different users. To remedy this situation, Freshpaint provides identify. A way for you to provide your own identifier so Freshpaint and downstream tools can merge the data across different devices.

To setup identify, you can call the identify API call. The following example call attaches the identifier ada.lovelace@example.com to the current user:

Web
React Native
Web
freshpaint.identify("ada.lovelace@example.com");
React Native
Freshpaint.identify("ada.lovelace@example.com");

When setting up identify, we recommend calling freshpaint.identify() in two different places:

  • When a user registers for an account.

  • When a user signs in.

As for a unique identifier, if you have internal ids that are unique to a user, we recommend using those. Otherwise, we recommend using either the username or the email of the user.

Attaching User Properties

The second part of identify is attaching properties to user. This allows you to send information you have about the user into Freshpaint your destinations. To attach properties to a user, you pass in a JSON object to freshpaint.identify() containing the properties you want to attach like so:

Web
React Native
Web
freshpaint.identify({
"email": "ada.lovelace@example.com",
"name": "Ada Lovelace"
});
React Native
Freshpaint.identify({
"email": "ada.lovelace@example.com",
"name": "Ada Lovelace"
});

You should pass any information you know about your users that you want to use in your downstream tools to freshpaint.identify().

freshpaint.identify() can also be called with both an identifier and a JSON object at the same time:

Web
React Native
Web
freshpaint.identify("ada.lovelace@example.com", {
"email": "ada.lovelace@example.com",
"name": "Ada Lovelace"
});
React Native
Freshpaint.identify("ada.lovelace@example.com", {
"email": "ada.lovelace@example.com",
"name": "Ada Lovelace"
});