Blueshift

What Is Blueshift?

Blueshift is a cross-channel marketing platform that consolidates customer data into unified profiles, enabling marketers to deliver personalized campaigns across multiple channels, including email, SMS, and push notifications. It leverages AI-driven automation to facilitate timely and relevant customer interactions, enhancing engagement and conversion rates. The platform also provides robust analytics and performance insights, enabling data-driven optimization of marketing strategies. By integrating customer data management with cross-channel execution, Blueshift supports seamless, scalable marketing operations.


Product Type: Marketing
Integration Type: Starter Kit
Event Source Type: Web
Event Scope: Full-Funnel Events


Capabilities

  • Sends server-side event data to Blueshift, eliminating the need for a Blueshift tag and reducing browser-side load.
  • Delivers data reliably even when users have ad blockers or tracking restrictions.
  • Sends events in bulk to the /api/v1/bulkevents endpoint.
  • Supports event types including page views, identify events, product activity, checkout starts, and completed orders, each enriched with event-specific attributes.
  • Maps the anonymous ID to Blueshift's cookie field and captures emails through the identify event to create and update customer profiles.
  • Powers audience segmentation and journey automation using the events and attributes sent by MetaRouter.

Considerations

  • Authentication uses basic auth with the Event API Key as the username. The Users API is not needed for this integration.
  • The API base URL defaults to https://api.getblueshift.com for non-EU regions. EU customers must set the correct regional base URL.
  • Events are delivered in batches of up to 20 per request.

Limitations

  • This integration supports web events only. For iOS/Android events, contact your MetaRouter support team.
  • Because events are sent in bulk to the /bulkevents endpoint, there may be a delay in triggering time-sensitive workflows or journeys in Blueshift that depend on event triggers.

Starter Kit Setup Guide

1. Gather Credentials

  • Follow Blueshift's instructions to obtain an Event API Key. The Users API is not needed for this integration.

2. Add a Blueshift Integration

  • From the integration library, add a Blueshift integration. Then, fill out the Connection Parameters:
Connection ParameterDescription
EVENT_API_KEYEvent API key from Blueshift, used to authenticate API requests.
API_BASE_URLBlueshift API base URL. Defaults to https://api.getblueshift.com; EU customers must use their regional base URL.

3. Configure Event Mapping

  • MetaRouter provides all of the event mappings that Blueshift integrations typically require. You may add custom events, parameters, or mappings in accordance with Blueshift's API documentation.

4. Deploy to Pipeline

  • In the Pipelines tab, add your Blueshift integration.
  • Select the correct integration revision.
  • Click Add Integration to finalize deployment.

Event Mappings

Global

Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.

Output KeyDescriptionExpected Input
partner Highly RecommendedString: Sends technology partner information to Blueshift to assist with tracking and troubleshooting the integration.Enrichment – 'metarouter'
timestamp RequiredISO 8601 date string: The time the event occurred.timestamp
ip RequiredString: The IP address of the event origin.context.ip
email Highly RecommendedString: The email address associated with the user profile.traits.email
customer_idString: Uses userId or anonymousId for customer ID.Expression – returns userId or anonymousId
cookie RequiredString: The cookie ID associated with the user.anonymousId
user_agent RequiredString: The user agent string from the device.context.userAgent
device_idString: Uses advertisingId or anonymousId for device ID.Expression – returns advertisingId when ad tracking is enabled, else anonymousId

Event Specific

Page

Output KeyDescriptionExpected Input
event RequiredString: Identifies the event as pageload.Enrichment – 'pageload'
urlString: URL of the page viewed.context.page.url
referrerString: Referrer URL of the page viewed.context.page.referrer
categoryString: Category of the page viewed.properties.category
nameString: Name of the page viewed.properties.name

Identify

Output KeyDescriptionExpected Input
event RequiredString: Identifies the event as identify.Enrichment – 'identify'
firstnameString: User's first name.traits.firstName
lastnameString: User's last name.traits.lastName
genderString: User's gender.traits.gender
joined_atISO 8601 date string: User's joined date.traits.createdAt
phone_numberString: User's phone number.traits.phone
birthdayString: Extracted from user's birthday (first 10 characters).Expression – truncates traits.birthday to YYYY-MM-DD
addressString: User's address.traits.address
ageInteger: User's age.traits.age
avatarString: User's avatar URL.traits.avatar
companyString: User's company name.traits.company
descriptionString: User's description.traits.description
idString: User's ID.traits.id
nameString: User's name.traits.name
titleString: User's title.traits.title
usernameString: User's username.traits.username
websiteString: User's website URL.traits.website

Product Viewed

Output KeyDescriptionExpected Input
event RequiredString: Identifies the event as product view.Enrichment – 'view'
product_id RequiredString: Product ID or SKU of the viewed product.Expression – returns properties.product_id or properties.sku
titleString: Name of the viewed product.properties.name
web_linkString: URL of the viewed product.properties.url
imageString: Image URL of the viewed product.properties.image_url
priceFloat: Price of the viewed product.properties.price
categoryArray of strings: Category of the viewed product.Expression – wraps properties.category in an array
brandString: Brand of the viewed product.properties.brand
parent_skuString: Parent SKU of the viewed product.properties.sku
variantString: Variant of the viewed product.properties.variant
quantityInteger: Quantity of the viewed product.properties.quantity
couponString: Coupon applied to the viewed product.properties.coupon
currencyString: Currency of the viewed product price.properties.currency
positionInteger: Position of the viewed product.properties.position
valueFloat: Total value of the viewed product interaction.properties.value

Product Added

Output KeyDescriptionExpected Input
event RequiredString: Identifies the event as add to cart.Enrichment – 'add_to_cart'
cart_idString: Cart ID where the product was added.properties.cart_id
product_id RequiredString: Product ID or SKU of the added product.Expression – returns properties.product_id or properties.sku
titleString: Name of the added product.properties.name
web_linkString: URL of the added product.properties.url
imageString: Image URL of the added product.properties.image_url
priceFloat: Price of the added product.properties.price
categoryArray of strings: Category of the added product.Expression – wraps properties.category in an array
brandString: Brand of the added product.properties.brand
parent_skuString: Parent SKU of the added product.properties.sku
variantString: Variant of the added product.properties.variant
quantityInteger: Quantity of the added product.properties.quantity
couponString: Coupon applied to the added product.properties.coupon
positionInteger: Position of the added product.properties.position

Product Removed

Output KeyDescriptionExpected Input
event RequiredString: Identifies the event as remove from cart.Enrichment – 'remove_from_cart'
cart_idString: Cart ID where the product was removed.properties.cart_id
product_id RequiredString: Product ID or SKU of the removed product.Expression – returns properties.product_id or properties.sku
titleString: Name of the removed product.properties.name
web_linkString: URL of the removed product.properties.url
imageString: Image URL of the removed product.properties.image_url
priceFloat: Price of the removed product.properties.price
categoryArray of strings: Category of the removed product.Expression – wraps properties.category in an array
brandString: Brand of the removed product.properties.brand
parent_skuString: Parent SKU of the removed product.properties.sku
variantString: Variant of the removed product.properties.variant
quantityInteger: Quantity of the removed product.properties.quantity
couponString: Coupon applied to the removed product.properties.coupon
positionInteger: Position of the removed product.properties.position

Products Searched

Output KeyDescriptionExpected Input
event RequiredString: Identifies the event as search.Enrichment – 'search'
keywordsString: Search query entered by the user.properties.query

Checkout Started

Output KeyDescriptionExpected Input
event RequiredString: Identifies the event as checkout.Enrichment – 'checkout'
totalFloat: Total value of the checkout.properties.value
productsArray: Product details for all checkout items.Expression – maps each item in properties.products to product fields

Order Completed

Output KeyDescriptionExpected Input
event RequiredString: Identifies the event as purchase.Enrichment – 'purchase'
propertiesObject: The full properties object sent along with the event.Expression – returns input.properties

Default

Output KeyDescriptionExpected Input
eventString: Maps the event name for track events, otherwise the event type.Expression – returns input.event or input.type
propertiesObject: The full properties object sent along with the event.Expression – returns input.properties

Required & Recommended Identifiers

These identifiers must be mapped to Blueshift in order for successful user matching to occur. Without these IDs, any events sent to Blueshift may not be accurately reflected in reporting. For your convenience, required and recommended IDs are mapped as Global parameters to ensure they are added to every event.

AttributeExampleSync Injector Required?
customer_id123456789No
cookie Required4b0d3f5a-879c-4c8d-a2fa-0a12a1e5e3b4No
email Highly Recommended[email protected]No
user_agent Highly RecommendedMozilla/5.0 (Windows NT 10.0; Win64; x64)No
ip Highly Recommended192.168.1.1No
device_ida23b4c5d6e7f89g0h1i2j3k4l5m6n7o8No
firstnameJohnNo
lastnameDoeNo
genderMaleNo
joined_at2022-06-15T12:34:56ZNo
phone_number+15551234567No
address123 Main St, Springfield, USANo
age34No
avatarhttps://example.com/avatar.jpgNo
companyExample Inc.No
descriptionEnthusiastic software engineerNo
id987654321No
nameJohn DoeNo
titleSenior DeveloperNo
usernamejohndoe2No
websitehttps://johndoe.devNo

Integration Validation

Coordinate with your Blueshift representative to confirm that events are being received and processed correctly on their backend.


Additional Blueshift Documentation