Identify Users

To create or update profiles in People CRM, you need to call the identify method with an email address as a unique identifier. You can also track additional information about each user as properties.

How many different custom properties can I track?

Each GoSquared project can track up to 1000 properties. Above this limit, properties with new names will be ignored.

_gs('identify', {
  email: 'user@email.com',
  name: 'User Name',

  // other special properties...

  custom: {
    any: 'custom',
    properties: 'here',
    // other custom properties...
  }
});
var GoSquared = require('gosquared');
var gosquared = new GoSquared({
  site_token: 'your-project-token',
  api_key: 'your-api-key'
});

var person = gosquared.createPerson();
person.identify({
  id: 1,
  name: 'User Name',
  email: 'user@email.com',
  // other special properties...

  custom: {
    any: 'custom',
    properties: 'here',
    // other custom properties...
  }
});
require_once('gosquared-php-sdk/main.php');
$GS = new GoSquared(array(
  'site_token' => 'your-project-token',
  'api_key'    => 'your-api-key'
));

$person = $GS->Person();
$result = $person->identify(array(
  'id': 1,
  'name' => 'User Name',
  'email' => 'user@email.com',
  // other special properties...

  'custom' => array(
    'any' => 'custom',
    'properties' => 'here',
    // other custom properties...
  )
));

Note: You can alternatively track a user with an ID field as a unique identifier opposed to an email address. However, this may increase the chances of creating duplicate profiles with the same email address. This is especially prevalent when connecting any of our integrations which will either find or create a profile using an email address as a unique identifier.

Special Properties

GoSquared defines a list of common properties that are useful to track:

NameDescriptionTypeExample
emailThe email address and unique identifier of this user.Stringemail@example.com
nameThe full name of the user (automatically derived from first_name and last_name if this isn’t set).StringSimon Tabor
first_nameFirst name, concatenated with last_name.StringSimon
last_nameLast name, concatenated with first_name.StringTabor
usernameThe username for this person.Stringsimontabor
descriptionA short description for the user. Defaults to their Twitter bio if we can find it.StringSimon is a developer at GoSquared
avatarThe absolute URL of the avatar for this person. Defaults to the gravatar for email.Stringhttps://profile-img.com/simon.png
phoneThe phone number for this person.String+447901229693
created_atSet the date that the user first signed up for your service – ISO 8601 timestamp. When the user is being identified for the first time, this defaults to the current timestampString2016-06-07T15:44:20Z
idAn alternate option for the unique identifier of this user.String253552
companyAn object containing company details (name, size etc).Object{ "name": "GoSquared" }
company_nameThe name of the company the user works at.StringGoSquared
company_sizeThe size of the company.Number12
company_industryThe industry of the company.StringAnalytics
company_positionThe position of this user within the company.StringDeveloper
customAn object of any other properties (custom properties)Object{ "plan": "pro" }

Visitor Tagging

When identified with a name and/or an email, visitors will be automatically tagged in the Visitors widget in the Now dashboard. The tag will be set using the following logic.

Properties providedTagExample
namenameUser Name
emailemailuser@email.com
name and emailname (email)User Name (user@email.com)
No name or emailNo Tag-

So, calling:

_gs('identify', { name: 'Another User', email: 'another@email.com' });

will result in a tag of Another User (another@email.com).

Next Steps