Segment Connector
The Segment connector lets you use Segment software and APIs to collect, clean, and control your customer data in your PingOne DaVinci flow.
The connector sends identify, group, track, page, screen, and alias calls to Segment’s HTTP Tracking API so that you can record what users do as they journey through your flow.
Setup
Resources
You can find more information and setup help in the following:
-
Segment documentation:
-
PingOne DaVinci documentation:
Requirements
To use the connector, you’ll need:
-
A Segment account and workspace.
-
Your Segment write key, base 64 encoded.
-
A source in Segment to collect the data sent by your flow.
Configuring the Segment connector
Add the connector in PingOne DaVinci as shown in Adding a connector, then configure it as follows.
Using the connector in a flow
Collecting user data in a flow
You can use the connector to create or update users, track the actions they take, and record the pages and screens they view as they journey through a flow.
At a high level:
-
The Identify User capability ties a user to their actions and records traits about them, such as their email or name, using the user ID you define.
-
The Track User capability records the actions the user performs, such as a button click or an item added to a cart, using the event name you specify.
-
The Page User Is On and Screen User Is On capabilities record the webpages and mobile screens a user views.
-
The Identify User’s Group capability associates the user with a group, such as a company or team, using the group ID you specify.
-
The User Alias capability merges two user identities so that two sets of user data are connected as one.
| The connector doesn’t generate any output on its own. To see the HTTP response object sent by Segment, use the output variables of a capability, such as the status code, in a subsequent node. |
Test the flow by clicking Save, Deploy, and Try Flow.
Capabilities
Identify User
Identify lets you tie a user to their actions and record traits about them. It includes a unique User ID and any optional traits you know about them.
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField required
-
Unique identifier for the user
- Traits keyValueList required
-
Any desired descriptive attribute(s)
-
default object
-
properties object
-
userId string/number
Unique identifier for the user
-
genericTraits array
Any desired general attribute
-
-
Input Example
{
"properties": {
"userId": "12345",
"genericTraits": {
"email": "user_name123@example.com",
"phone": "720-101-1010",
"name": "John Smith",
"gender": "male",
"age": "25",
"title": "VP of Engineering",
"birthday": "1/10/95",
"address": "111 Yellow Brick Rd.",
"industry": "Technology",
"music": "rock"
}
}
}
-
output object
-
rawResponse object
-
statusCode number
-
headers object
-
Identify User’s Group
Group lets you associate an identified user with a group. A group could be a company, organization, account, project, or team. It also lets you record custom traits about the group, like industry or number of employees.
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField required
-
Unique identifier for the user
- Group ID textField required
-
Unique identifier which you recognize a group by
- Traits keyValueList required
-
Any desired descriptive attribute(s)
-
default object
-
properties object
-
userId string/number
Unique identifier for the user
-
groupId string/number
Unique group identifier for a user
-
genericTraits array
Any desired general attribute
-
-
Input Example
{
"properties": {
"userId": "12345",
"groupId": "0001",
"genericTraits": {
"email": "user_name@pingidentity.com",
"team": "DaVinci",
"company": "Ping Identity",
"industry": "Technology"
}
}
}
-
output object
-
rawResponse object
-
statusCode number
-
headers object
-
Track User
Identify lets you record the actions your users perform. Every action triggers an “event”, which can also have associated properties.
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField required
-
Unique identifier for the user
- Event textField required
-
Name of the action that the user has performed
- Properties keyValueList required
-
Any desired descriptive attribute(s)
-
default object
-
properties object
-
userId string/number
Unique identifier for the user
-
userEvent string
Name of the action that the user has performed
-
genericProperties array
Any desired general attribute
-
-
Input Example
{
"properties": {
"userId": "12345",
"genericProperties": {
"item": "Chocolate",
"revenue": 1.99,
"location": "Denver, CO"
}
}
}
-
output object
-
rawResponse object
-
statusCode number
-
headers object
-
Page User Is On
Lets you record page views on your website, along with optional extra information about the page being viewed.
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField required
-
Unique identifier for the user
- Page Name textField required
-
Name of the page - Reserved for future use
- Properties keyValueList required
-
Any desired descriptive attribute(s)
-
default object
-
properties object
-
userId string/number
Unique identifier for the user
-
pageName string
Name of the page - Reserved for future use
-
genericProperties array
Any desired general attribute
-
-
Input Example
{
"properties": {
"userId": "12345",
"name": "Home Page",
"properties": {
"title": "Welcome | What We Do",
"url": "https://www.pingidentity.com/en.html",
"company": "Ping Identity"
}
}
}
-
output object
-
rawResponse object
-
statusCode number
-
headers object
-
Screen User Is On
Lets you record whenever a user sees a screen of your mobile app. You’ll want to send the screen message whenever a user requests a page of your app.
Show details
-
Properties
-
Input Schema
-
Output Schema
- User ID textField required
-
Unique identifier for the user
- Screen Name textField required
-
Name of the screen from a mobile device - Reserved for future use
- Properties keyValueList required
-
Any desired descriptive attribute(s)
-
default object
-
properties object
-
userId string/number
Unique identifier for the user
-
screenName string
Name of the screen from a mobile device - Reserved for future use
-
genericProperties array
Any desired general attribute
-
-
Input Example
{
"properties": {
"userId": "12345",
"name": "Home Screen",
"properties": {
"title": "Welcome | What We Do",
"company": "Ping Identity"
}
}
}
-
output object
-
rawResponse object
-
statusCode number
-
headers object
-
User Alias
The alias method is used to merge two user identities, effectively connecting two sets of user data as one. This is an advanced method, but it is required to manage user identities successfully in some of our destinations.
Show details
-
Properties
-
Input Schema
-
Output Schema
- Previous User ID textField required
-
The existing ID you’ve referred to this user by
- User ID textField required
-
Unique identifier for the user
-
default object
-
properties object
-
userId string/number
Unique identifier for the user
-
previousId string/number
The existing ID you’ve referred to this user by
-
-
Input Example
{
"properties": {
"previousId": "00001",
"userId": "00002"
}
}
-
output object
-
rawResponse object
-
statusCode number
-
headers object
-
Make Custom API Call
Define a custom API call to Segment’s HTTP Tracking API.
Show details
-
Properties
-
Input Schema
-
Output Schema
- Endpoint textField required
-
Use an HTTP Tracking API endpoint, such as "identify, track, page, screen, group, or alias".
- User ID textField required
-
Unique identifier for the user
- Method dropDown required
-
The HTTP Method.
-
GET
-
POST
-
PUT
-
DELETE
-
PATCH
-
- Traits / Properties keyValueList
-
Key-value pairs that are used to define any desired characteristics about a certain endpoint call.
- Headers keyValueList
-
Add HTTP headers and provide their values.
- Body codeEditor
-
The raw custom JSON body
-
default object
-
properties object
-
endpoint string required
Endpoint
-
userId string/number
Unique identifier for the user
-
method string required
Method
-
queryParameters array
Parameters
-
headers array
Headers
-
body object
Body
-
-
-
output object
-
rawResponse object
-
statusCode number
-
headers object
-