Blueshift's SmartHub customer data platform helps consumer brands scale customer engagement intelligently on every channel. It enables marketers to unify their siloed data and use real-time customer insights and interactions to shape customer experiences.

RudderStack supports Blueshift as a destination to which you can seamlessly send your event data.

Find the open source transformer code for this destination in the GitHub repository.

Getting started

Before configuring Blueshift as a destination in RudderStack, verify if the source platform is supported by Blueshift by referring to the table below:

Connection ModeWebMobileServer
Device mode---
Cloud modeSupportedSupportedSupported
To know more about the difference between cloud mode and device mode in RudderStack, refer to the RudderStack Connection Modes guide.

Once you have confirmed that the source platform supports sending events to Blueshift, follow these steps:

Connection settings

To successfully configure Blueshift as a destination, you will need to configure the following settings:

Blueshift connection settings
  • Event API Key: Enter the Event API Key generated for your Blueshift account. You can find it in your Blueshift dashboard by going to Account Settings > API Keys.
  • Users API Key: Enter the Users API Key generated for your Blueshift account. You can find it in your Blueshift dashboard by going to Account Settings > API Keys.
For more information on obtaining the Event and Users API Key, refer to the FAQ section below.
  • Data Center: Select the data center where you want to send the data:
    • Standard (default): The base URL is https://api.getblueshift.com.
    • EU: The base URL is https://api.eu.getblueshift.com.

Identify

The identify call lets you create new or update existing customers and record the traits about them like their name, email address, etc. A sample identify call is shown below:

rudderanalytics.identify("1hKOmRA4el9Zt1WSfVJIVo4GRlm", {
email: "alex@example.com",
phone: "+1-202-555-0146",
firstName: "Alex",
lastName: "Keener",
});
It is recommended to limit the `identify` calls to 50 per second.

Supported mappings

The following table details the mapping between RudderStack and Blueshift fields:

RudderStack fieldBlueshift fieldPresence
emailemailRequired
userIdcustomer_idRequired
eventeventOptional
phonephone_numberOptional
firstNamefirstnameOptional
lastNamelastnameOptional
gendergenderOptional

Blueshift supports custom attributes from your site's customers. For more information on these attributes, refer to Blueshift Custom Attributes.

Track

The track call lets you capture user events along with the associated properties.

A sample track call is shown below:

rudderanalytics.track(
"Product Viewed", {
cookie: "1234abcd-efghijkj-1234kfjadslk-34iu123",
checkout_id: "C324532",
order_id: "T1230",
value: 15.98,
revenue: 16.98,
shipping: 3.0,
coupon: "FY21",
currency: "USD",
products: [{
product_id: "product-mixedfruit-jam",
sku: "sku-1",
category: "Food",
name: "Food/Drink",
brand: "Sample",
variant: "None",
price: 10.0,
quantity: 2,
currency: "USD",
position: 1,
value: 6.0,
typeOfProduct: "Food",
url: "https://www.example.com/product/mixedfruit-jam",
image_url: "https://www.example.com/product/mixedfruit-jam.jpg",
}, ],
},
);

Supported mappings

RudderStack maps the following e-commerce events to the Blueshift events in the track call before sending them over Blueshift's HTTP API.

RudderStack eventBlueshift event
Product Viewedview
Product Addedadd_to_cart
Order Completedpurchase
Products Searchedsearch
Checkout Step Viewedcheckout
Product Removedremove_from_cart

The other generic event mappings are listed below:

RudderStack eventBlueshift event
Subscribe Interestsubscribe_interest
Unsubscribe Interestunsubscribe_interest
Identifyidentify

Blueshift supports custom events to track any custom user action on your site or app. For more information, refer to the Blueshift Custom Event guide.

The following table details the mapping between RudderStack and Blueshift fields:

RudderStack fieldBlueshift fieldPresence
eventeventRequired
userIdcustomer_idOptional
emailemailOptional
context.device.typedevice_typeOptional
context.device.tokendevice_tokenOptional
context.device.iddevice_idOptional
context.idfa/context.device.advertisingIddevice_idfaOptional
context.idfv/context.device.iddevice_idfvOptional
context.device.manufacturerdevice_manufacturerOptional
context.os.nameos_nameOptional
context.network.carriernetwork_carrierOptional
context.ip/request_ipipOptional
context.address.latitude/context.location.latitudelatitudeOptional
context.address.longitude/context.location.longitudelongitudeOptional
messageIdevent_uuidOptional
properties.cookiecookieOptional
The event name is a required field and should not contain a period (.), a numeric value, or be more than 64 characters. Otherwise, RudderStack will reject the event and throw an error.

Also, RudderStack automatically converts a space in the event name to an underscore (_). So, an event name like custom events will be converted to custom_events before sending it to Blueshift.

Blueshift supports receiving custom attributes about your site's customers. For more information on these attributes, refer to the Blueshift Custom Attributes.

Group

The group call lets you associate a user with a group. For each group call, RudderStack triggers Blueshift's event API and sends an identify event along with the groupId. Blueshift then creates a group and adds the user to it.

A sample group call is shown below:

rudderanalytics.group("ruddersample", {
name: "Alex Keener",
email: "alex@example.com",
userId: "1hKOmRA4el9Zt1WSfVJIVo4GRlm",
phone: "+1-202-555-0146",
});

Supported mappings

The following table details the mapping between RudderStack and Blueshift fields:

RudderStack fieldBlueshift fieldPresence
groupIdgroup_idRequired
userIdcustomer_idRequired
emailemailOptional
context.device.typedevice_typeOptional
context.device.tokendevice_tokenOptional
context.device.iddevice_idOptional
context.idfa/context.device.advertisingIddevice_idfaOptional
context.idfv/context.device.iddevice_idfvOptional
context.device.manufacturerdevice_manufacturerOptional
context.os.nameos_nameOptional
context.network.carriernetwork_carrierOptional
context.ip, request_ipipOptional
context.address.latitude, context.location.latitudelatitudeOptional
context.address.longitude, context.location.longitudelongitudeOptional
messageIdevent_uuidOptional

Blueshift supports receiving custom attributes about your site's customers. For more information on these attributes, refer to the Blueshift Custom Attributes.

FAQ

How do I obtain the Blueshift API keys?

To obtain the API keys, log into the Blueshift app, go to Account Settings and then to the API keys tab. You can obtain the following API keys, based on your role:

  • Event API key (EVENT_API_KEY)
  • Users API key (USER_API_KEY) (visible only to admin users)
Blueshift API key

Contact us

For queries on any of the sections covered in this guide, you can contact us or start a conversation in our Slack community.

Contents