Sendinblue Device Mode Integration

Send events to Sendinblue using the RudderStack device mode.

RudderStack lets you send your event data to Sendinblue via device mode using the native web SDK.

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

Identify

You can use the identify call to identify the users who visited your website. You can also use it to trigger a workflow in Sendinblue, for example, adding all identified contacts to a list.

A sample identify call is shown below:

rudderanalytics.identify("1hKOmRA4el9", {
  email: "alex@example.com",
  firstName: "Alex",
  lastName: "Keener",
  phone: "+12025550146",
  payment: 2,
  age: 21,
  location: "USA",
});
info
The Sendinblue tracker writes the sib_cuid cookie on your domain to track the user activity. As a result, you can create only one contact per session in Sendinblue using the identify call and update the same contact in that session. To create a new contact, you must clear the sib_cuid cookie first or use a different browser.

Supported mappings

The following table details the property mappings between RudderStack and Sendinblue:

RudderStack propertySendinblue propertyData type
context.traits.email
context.traits.Email
context.traits.E-mail
Required
emailString
context.traitspropertiesObject
context.traits.firstName
context.traits.firstname
context.traits.first_name
properties.FIRSTNAMEString
context.traits.lastName
context.traits.lastname
context.traits.last_name
properties.LASTNAMEString
context.traits.phone
context.traits.Phone
properties.SMSString (valid mobile number
with country code)

Track

You can use the track call to capture user events along with their associated properties.

A sample track call is as shown below:

rudderanalytics.track(
  "Order Delivered", {
    orderId: "123",
    products: [{
        product_id: 1234,
        product_name: "Track Pants",
        amount: 1,
        price: 220,
      },
      {
        product_id: 5768,
        product_name: "T-Shirt",
        amount: 5,
        price: 1058,
      },
    ],
  }, {
    integrations: {
      All: true,
      sendinblue: {
        propertiesIdKey: "orderId",
      },
    },
  }
);
}

Supported mappings

The following table details the property mappings between RudderStack and Sendinblue:

RudderStack propertySendinblue propertyData type
event
Required
eventString
context.traitspropertiesObject
context.traits.firstName
context.traits.firstname
context.traits.first_name
properties.FIRSTNAMEString
context.traits.lastName
context.traits.lastname
context.traits.last_name
properties.LASTNAMEString
context.traits.phone
context.traits.Phone
properties.SMSString
propertiesevent.dataObject
Value of integrations.sendinblue.propertiesIdKey in properties
OR
messageId
event.idString
info
You can also send the user traits to Sendinblue via the track call by enabling the Send user traits in track call setting in the RudderStack dashboard.

Contact attributes

info
This section is applicable for the identify and track calls.

Sendinblue provides various contact attributes which you can use to personalize your communication with your contacts. You can find them in the Contact Attributes section in the Sendinblue dashboard where FIRSTNAME, LASTNAME, and SMS are the default contact attributes.

You can also map the traits in RudderStack’s payload to Sendinblue’s contact attributes using the Map your traits to Sendinblue contact attributes setting in the RudderStack dashboard.

If a contact attribute is not present in Sendinblue but you send it in the identify call’s traits, it can be used only in the Automation app unless you add them as contact attributes.

For example, the following sample code will create (or update) the user alex@example.com with firstname Alex and lastname Keener, and create three properties (payment, age, and location) that can be used only in the Marketing Automation workflows unless you also add them as your contact attributes.

rudderanalytics.identify("1hKOmRA4el9", {
  email: "alex@example.com",
  firstName: "Alex",
  lastName: "Keener",
  payment: 2,
  age: 21,
  location: "USA",
});

Page

You can use the page call to send any page-related information to Sendinblue.

A sample page call is shown below:

rudderanalytics.page("Home")

Supported mappings

The following table details the property mappings between RudderStack and Sendinblue:

RudderStack propertySendinblue propertyData type
namepage_nameString
propertiespropertiesObject
properties.url
context.page.url
ma_urlString
properties.path
context.page.path
ma_pathString
properties.title
context.page.title
ma_titleString
properties.referrer
context.page.referrer
ma_referrerString

Questions? Contact us by email or on Slack