📘

This integration is currently in beta. Contact your MetaRouter support team to get started.

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.

What are the benefits of integrating MetaRouter with Blueshift?

  • Enhanced Data Accuracy: MetaRouter’s server-side connection ensures precise, real-time delivery of all events and parameters to Blueshift, minimizing data loss and discrepancies.
  • Improved Site Performance: By eliminating the need for a Blueshift tag, MetaRouter reduces browser-side load, leading to faster site performance and a smoother user experience.
  • Consistent Data Delivery: MetaRouter ensures that all data reaches Blueshift reliably, even if users have ad blockers or tracking restrictions, maintaining comprehensive data capture.

Capabilities and Considerations

  • Bulk Data Delivery: Events are sent in bulk to the endpoint https://api.getblueshift.com/api/v1/bulkevents, ensuring reliable and timely delivery of events and parameters needed for campaign execution.
  • Event-Specific Handling: The integration supports various event types like page views, identification events, checkout starts, and completed orders. Each event is enriched with specific attributes, such as event, category, or total, ensuring complete and context-rich data delivery.
  • Creating Audience Segments: The integration allows Blueshift to build audience segments using the events and parameters sent by MetaRouter, such as user attributes, behavioral events, and engagement signals, enabling precise segmentation.
  • Customer Profile Creation and Updates: The integration maps MetaRouter’s anonymous ID to Blueshift’s cookie field and captures emails through the identify event. This ensures that Blueshift can create and continuously update customer profiles with accurate, unified data.
  • Triggering Journeys: Data sent from MetaRouter powers journey automation in Blueshift, using enriched events and attributes to trigger personalized marketing journeys based on user behavior and segmentation criteria.
  • Web Events: This integration supports web events. If you require iOS/Android events in this Blueshift integration, please reach out to your MetaRouter support team.

Limitations

  • Real-time Triggering: Since events are sent in bulk to the /bulkevents endpoint, there might be a delay in triggering real-time workflows or journeys in Blueshift, potentially affecting time-sensitive journeys dependent on event triggers.

Getting Started - From Your Blueshift Account

  • Please use the following instructions to grab an Event API Key from Blueshift: API Keys.
    • Please note the Users API is not needed for this integration.

Getting Started - From Your MetaRouter Account

Adding a Blueshift integration

From the integration library, add a Blueshift integration. Then, fill out the Connection Parameters:

Connection ParameterDescription
EVENT_API_KEYHelpful description of what the parameter is, why it’s necessary, etc. Limit to 150 characters.
API_BASE_URLDefault value is set for non EU regions: https://api.getblueshift.com. If you are in the EU region, please see here for the correct base URL.

Event Mappings

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.

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
timestamp
Required
ISO 8601 date string: The time the event occurred.timestamp
ip
Required
String: The IP address of the event origin.context.ip
email
Highly Recommended
String: The email address associated with the user profile.traits.email
customer_idString: Uses userId or anonymousId for customer ID.N/A - Expression
cookie
Required
String: The cookie ID associated with the user.anonymousId
user_agent
Required
String: The user agent string from the device.context.userAgent
device_idString: Uses advertisingId or anonymousId for device ID.N/A - Expression

Event Specific

Page

Output KeyDescriptionExpected Input
event
Required
String: 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
Required
String: 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
birth_yearInteger: Extracted from user's birthday.N/A - Expression
birth_monthInteger: Extracted from user's birthday.N/A - Expression
birth_dayofmonthInteger: Extracted from user's birthday.N/A - Expression
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
Required
String: Identifies the event as product view.Enrichment - view
product_id
Required
String: Product ID or SKU of the viewed product.N/A - Expression
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.N/A - Expression
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
Required
String: 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
Required
String: Product ID or SKU of the added product.N/A - Expression
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.N/A - Expression
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
Required
String: 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
Required
String: Product ID or SKU of the removed product.N/A - Expression
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.N/A - Expression
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

Default Parameters

Output KeyDescriptionExpected Input
eventString: Maps event name or type.input

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
Required
4b0d3f5a-879c-4c8d-a2fa-0a12a1e5e3b4No
email
Highly Recommended
[email protected]No
user_agent
Highly Recommended
Mozilla/5.0 (Windows NT 10.0; Win64; x64)No
ip
Highly Recommended
192.168.1.1No
device_ida23b4c5d6e7f89g0h1i2j3k4l5m6n7o8No
firstnameJohnNo
lastnameDoeNo
genderMaleNo
joined_at2022-06-15T12:34:56ZNo
phone_number+15551234567No
birth_year1992No
birth_month5No
birth_dayofmonth23No
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

Additional Identifiers

Blueshift will seamlessly ingest any additional identifiers provided, ensuring they are properly integrated into the system. Please ensure that each identifier is correctly mapped to the starter kit to maintain data integrity and accuracy.


Additional Blueshift Documentation

Blueshift - Bulk Events API

Blueshift - Authorization