Segment
Segment is the single platform that collects, translates, and routes your user data to hundreds of analytics & marketing tools with the flip of a switch. By integrating Segment with Journey Analytics you can track events using the Segment APIs from any source and save them to your Journey Analytics project, in addition to or instead of using Journey Analytics's SDKs or APIs.
Segment integration with Journey Analytics works via Amazon Kinesis. Integrating Segment with Cooladata allows you to stream event data via Amazon Kinesis in addition to, or instead of using Journey Analytics's SDKs or APIs.
Settings up a Segment integration
- Set up an Amazon Kinesis integration, as explained here.
- In your Segment account, set up a new Amazon Kinesis source. You will need the following details:
- AWS User access KEY ID
- AWS Kinesis Stream Regio: use "us-east-1"
- AWS user secret access KEY
- AWS Stream kinesis name
- Click "Activate integration"
For more information on Segment's integration with Amazon Kinesis see Segment's documentation.
APIs
Journey Analytics supports the following Segment APIs:
- Identify
- Track
- Page
- Screen
For more information on the various Segment APIs see Segment's documentation.
Event structure
Segment events are slightly different from Journey Analytics events. Segment events use nested JSON, and have different property names than Journey Analytics . When integration Segment and Journey Analytics , Journey Analytics flattens these event Segment property names are mapped to Journey Analytics properties.
JSON Flattening:
When a Segment event contains a nested JSON, it will be flattened using the standard JSON format. For example:
{a:{b:"value"}}
will be converted to
{a.b:"value"}
Thus, the property name of this key will be "a.b".
Property Mapping
Segment property names are mapped to Journey Analytics properties according to the following table. Where more than one Segment property can apply, the priority matches the order in the table.
Segment Property | Journey Analytics Property |
---|---|
user_id | properties_UserIduser_iduserIdanonymous_idanonymousId |
user_alternative_id | anonymous_idanonymousId |
event_name | eventtype |
event_server_time_ts | timestampreceived_atreceivedAt |
event_client_time_ts | sent_atsentAt |
session_ip | context_ip |
session_ip_country | context_locale |
session_app_id | context_app_name |
session_brand | context_device_name |
session_model | context_device_model |
session_os_version | context_os_version |
session_os | context_os_name |
tracker_type | context_library_name |
tracker_version | context_library_version |
utm_campaign | context_campaign_name |
utm_content | context_campaign_content |
utm_medium | context_campaign_medium |
utm_source | context_campaign_source |
utm_term | context_campaign_term |
session_dua | context_userAgent |