Segment

Send data from Segment to Extole to target your advocation and engagement programs to specific groups of customers.

Overview

Segment, now known as Twilio Segment, is a customer data platform (CDP) that helps you collect, clean, and activate your customer data. Segment establishes a modern customer data foundation and helps you make data driven decisions. Paired with Extole, you can use Segment to target your advocation and engagement programs to specific groups of customers.

Prerequisites

RequirementDescription
Extole AccountAn Extole account is required in order to take advantage of this partnership.
Segment AccountA Segment account is required in order to take advantage of this partnership.
Segment HTTP API Source and Write KeyA new HTTP API Source and Write Key created in your Segment account
Extole API KeyA key created in your My Extole account in the Security Center.

Extole Segment Source

You can configure Extole as a Segment Source. As a Segment Source, when various events occur in the referral program, Extole will send these events into Segment. There are a standard set of events, but any step within your Extole programs can be configured to send to Segment.

In order to setup Extole as a Segment Source you'll need to create a new HTTP API source in Segment and provide the Write Key to your Extole team.

1616

Segment HTTP Source

1914

Segment Write Key

📘

Related Resources

Reference Segment's guide on HTTP Tracking API Source.

Identify Event

Whenever someone is identified in your Extole program, an identify event is fired. This event includes a unique User ID and any profile attributes for that visitor stored in their Extole profile. People are identified when they share, receive a share message, provide an email address via Extole email capture, or make a purchase.

POST https://api.segment.io/v1/identify

{
  "userId":"019mr8mf4r",
  "traits":{
    "email":"[email protected]",
    "first_name":"April",
    "last_name":"Spring"
  },
  "anonymousId":"6808606353277739084",
  "timestamp":"2012-12-02T00:30:12.984Z"
}
FieldValue
userIdThis is the Extole Partner User Id, which is an identifier that you have passed to Extole that identifies the user.
anonymousIdThis is the Extole Profile Identifier, which uniquely identifies a profile at Extole, including anonymous profiles.

👍

Important Note

The identify event is not strictly necessary. As long as the track events you are sending include both User ID and email, we will be able to identify users across Segment and Extole.

Track Event

When customers perform an action, Extole fires a track event with an event name describing that action. Common events include referred, registered, purchased, and was_referred, but we can accommodate any custom event you might need.

Mapping Event Properties

Certain properties, like partner_user_id and partner_conversion_idare mapped automatically. Your Extole team will work with you to ensure any other necessary event properties map to Extole's.

Track Referred Event

The referred event is fired when an Advocate shares via an Extole Share Experience.

The following code is an example track call with referred event name:

POST https://api.segment.io/v1/track

{
    "event": "referred",
    "userId": "019mr8mf4r",
    "properties": {
        "email": "[email protected]",
        "channel": "EMAIL",
        "funnel": "ADVOCATE",
        "campaign": "Refer A Friend",
        "friend_emails": [
            "[email protected]",
            "[email protected]",
            "[email protected]"
        ]
    },
    "anonymousId": "6808606353277739084",
    "timestamp": "2012-12-02T00:30:12.984Z"
}
FieldDescription
userIdThis is the Extole Partner User Id, which is an identifier that you have passed to Extole that identifies the user.
anonymousIdThis is the Extole Profile Identifier which unique identifies a profile at Extole, including anonymous profiles.
channelDescribes which share channel that advocate used to share to their friend and can include:
FACEBOOK, TWITTER, MESSENGER, WHATSAPP, PINTEREST, SMS, PERSONAL_LINK.
funnelIndicates if the event occurred on the ADVOCATE or the FRIEND funnel.
campaignIndicates the name of the referral campaign.
friend_emailsIn the case of an email share channel, the advocate profiles the friend's email addresses which are returned in this array.

Track Registered Event

The registered event is fired when a registration happens. The following code is an example track call with registered event name:

POST https://api.segment.io/v1/track

{
    "event": "registered",
    "userId": "056tf9eqw24",
    "properties": {
        "email": "[email protected]",
        "first_name": "Summer",
        "last_name": "Doe",
        "advocate_user_id": "019mr8mf4r"
    },
    "anonymousId": "68086063532777498123",
    "timestamp": "2012-12-02T00:30:12.984Z"
}
FieldDescription
userIdThis is the Extole Partner User ID, which is an identifier that you have passed to Extole that identifies the user.
anonymousIdThis is the Extole Profile ID, which uniquely identifies a profile at Extole, including anonymous profiles.
advocate_user_idThe user identifier of the advocate who caused this referred event to occur.

Track Purchased Event

The purchased event is fired when a purchase happens.

The following code is an example track call with purchased event name:

POST https://api.segment.io/v1/track

{
    "event": "purchased",
    "userId": "056tf9eqw24",
    "properties": {
        "email": "[email protected]",
        "first_name": "Summer",
        "last_name": "Doe",
        "cart_value": "99.99",
        "partner_conversion_id": "991nss7712n317has-128sa1",
        "coupon_code": "FR1921882NY",
        "advocate_user_id": "019mr8mf4r"
    },
    "anonymousId": "68086063532777498123",
    "timestamp": "2012-12-02T00:30:12.984Z"
}
FieldValue
userIdThis is the Extole Partner User ID, which is an identifier that you have passed to Extole that identifies the user.
anonymousIdThis is the Extole Profile ID, which uniquely identifies a profile at Extole, including anonymous profiles.
cart_valueThis is the cart_value that was passed on the purchase event.
partner_conversion_idThis is the unique identifier for the purchase event.
coupon_codeThis is the coupon_code that was applied to the purchase.
advocate_user_idThe user identifier of the advocate who caused this referred event to occur.

Custom Events

Extole is an events platform where any event in your programs can be routed out of Extole via Webhooks to any other system. The data contained in those events is configurable and can contain any piece of data known about a person or event. If you need to have additional program events sent to Segment or would like to adjust the data being sent in your track events, please work with your Extole Customer Success Manager to create a custom request for Extole Support to implement.

Segment Destination

Extole supports using a Segment Destination to send events into the Extole Platform. Typically the Segment Destination will work together with Extole Tags to manage a referral experience.

Extole recommends the first friend event, such as a friend landing capture, signup form, or purchase, is tracked to Extole using Extole Tags. The Extole tags are able to take advantage of the web context providing the best possible advocate-matching and fraud-detection capabilities. Segment does not pass this data and should be focused on sending offline events or supplementing profiles.

From your Segment UI’s Destinations page click on “Add Destination”.

  • Search for “Extole Platform” within the Destinations Catalog and confirm the Source you’d like to connect to.
  • Drop the API Key—generated in your My Extole account in the Security Center—in your Segment Settings UI.

Identify

Identify calls are sent to Extole as an identify event. Extole will create a new profile or update an existing one. Find below a list of basic traits mapping:

Segment TraitExtole Profile Property
userIdThis is the Extole Partner User Id, which is an identifier that you have passed to Extole that identifies the user.
emailThe email address associated with the profile.
firstNameThis is the first name of a profile.
lastNameThis is the last name of the profile.
otherBy default all other traits passed to the program will be ignored by Extole. If there are traits to be used by an Extole program for segmentation, targeting, or other rules, Extole will map those traits to be stored.

An example identify call:

analytics.identify('userId123', {
  email: '[email protected]',
  firstName: 'John',
  lastName: 'Doe',
  age: 25,
  existingCustomer: true
});

Track

By default, Extole discards all of the track events sent by Segment to the Extole Destination. In order for a track event from Segment to be handled by Extole, your program needs to be set up to listen for particular track events.

This setup should occur as part of the launch process by your Solutions Engineer or Support Engineer.

The following is an example track call for conversions:

analytics.track('conversion', {
    email: '[email protected]',
    first_name: 'John',
    last_name: 'Doe',
    partner_conversion_id: 'purchaseId123',
    cart_value: '99.99'
})