Import Segments

To target recruitment of a specific segment, static user segments can be uploaded from CSV. Note that the Client SDK must implement identify() with data that matches the CSV, in order to determine whether to target a specific user or not.

What CSV format should I use?

The header row contains the names of your identity types. Identity types can only contain lowercase letters and underscores.

All following rows contain a single user's values for those identity types.

Here's an example:

external_id,email
806510ed-f6ff-48a4-926e-1ed3045b1741,john@doe.com
4360b2ac-19b8-49f4-862e-bfe18e6c411f,jane@smith.com
c07c0b9a-9534-4e29-be98-d0dd01df601e,jeremy@dune.com

What data is required?

In order to determine whether a user should be recruited for an active discovery, the Client SDK must identify the user's external_id or email against the segment inclusion criteria. At least one of these identity types must be provided in the CSV.

  • external_id is the user's unique user ID
  • email is only used to identify a user (if they enter a different email for scheduling, they'll receive the calendar invite to that other email)

Examples

  1. At a minimum, Orbital needs a single identity type provided per user:
external_id
806510ed-f6ff-48a4-926e-1ed3045b1741
4360b2ac-19b8-49f4-862e-bfe18e6c411f
c07c0b9a-9534-4e29-be98-d0dd01df601e

which in turn can be used by the Client:

orbital('identify', '806510ed-f6ff-48a4-926e-1ed3045b1741')
  1. Alternatively, if you would rather use email to identify users:
email
john@doe.com
jane@smith.com
jeremy@dune.com

which in turn can be used by the Client:

orbital('identify', null, { email: 'john@doe.com' })

Please refer to the Client SDK docs for further information on client instrumentation.

Why does my uploaded segment have less users than rows in my CSV?

Orbital validates each row during upload and skips/ignores rows with invalid data (eg. email provided is not a valid email)

Was this page helpful?