User Identification

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 stored in a cookie. Freshpaint refers to this identifier as either the "Anonymous ID" or "Device ID". Because the identifier is stored in a cookie, 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:

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 your Freshpaint destinations. To attach properties to a user, you pass in the properties you want to set as the second argument to freshpaint.identify():

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:

freshpaint.identify('ada.lovelace@example.com', {
  email: 'ada.lovelace@example.com',
  name: 'Ada Lovelace',
});

User Information

To retrieve information about a specific user, you can use the call the method freshpaint.user().traits() on the client. This will return an object containing the user’s associated traits.

  • The .user() method provides access to user-related information, including:

    • User ID

    • Traits

    • Anonymous ID

  • The .traits() method can be used to:

    • Retrieve existing traits

    • Update or set new ones

Last updated