Sending data to Hull from SegmentUpdated 25/11/2019


Segment has this awesome capability of capturing data from tons of sources including data from their tracking tool analytics.js. Thus, it is often very relevant to leverage all that customer data coming from Segment inside Hull if you want to create a complete profile of each of your users, clean and transform data, create segments and synchronize that data back.

With Hull's Segment connector, you can route the data that you have tracked through Segment's open-source libraries into Hull.

How to setup Hull as a destination in Segment

You have two ways to set up Hull as a destination in Segment:

  • Following an automated flow:

Inside the overview page of the Segment connector, click on the Credentials button. A modal will open up with a Set-up instructions modal and then click on the Enable with SegmentCTA.

enable with segment instruction

  • Following a manual flow:

Start by copying the API key from the Setup Instructions modal of the Segment Connector:

enable with segment instruction (1)

Then, go to your Segment workspace, to the gallery of Destinations and add Hull as a destination:

hull as a destination inside Segment

Once you have added Hull as a destination, you can fill in the API key of your Segment connector:

hull settings inside segment

What type of data can you send to Hull from Segment

Methods inside Segment

Hull supports the majority of Segment-supported methods: identify, page, screen, track and group calls.

Identify

Every user identified with a userId in Segment will be created as a User in Hull. Segment's userId will be mapped to Hull's external_id field on the User.

Traits in Segment will be stored as attributes inside Hull on the User object. The following traits will be stored as native attributes on the User object:

  • address
  • created_at
  • description
  • email
  • first_name
  • image
  • last_name
  • name
  • phone
  • picture
  • username

The other traits will be stored as custom attributes inside Hull.

Track

A track call in Segment will create a new Event on the corresponding User inside Hull with the following property: "source": "segment".

Screen

A page call in Segment will create a new Event on the corresponding User inside Hull with the following properties: "source": "segment" and "event": "page". ⚠️ Warning ⚠️: Storing screen calls can lead to a lot of events that impact your pricing.

Page

A page call in Segment will create a new Event on the corresponding User inside Hull with the following properties: "source": "segment" and "event": "page".

⚠️ Warning ⚠️: Storing page calls can lead to a lot of events that impact your pricing.

Group

Every Group identified with a groupId in Segment will be mapped to an Account in Hull. Segment's groupId will be mapped to Hull's external_id field on the Account. If the Account does not exist, it will create a new one and link it to the corresponding user.

⚠️ Warning ⚠️: Segment can handle multiple groups for one given user. However, in Hull, a user can not belong to more than one account. Thus, Hull will handle only one group from Segment which means Hull will handle only one linked account. If there are multiple consecutive group calls that are fired, then the user will be associated with the account from the last call. If you have multiple groups tied to a user in Segment, we advise you not to use that feature.

How to control the data to ingest inside Hull

Inside the settings page of the Segment connector, there is a section called Incoming traffic that will allow you to enable Page calls, Screen calls and Group calls.

incoming traffic segmen t

That also means that Identify and Track calls are ingested by default.