Sendinblue Cloud Mode Integration

Send events to Sendinblue using the RudderStack cloud mode.

RudderStack lets you send your event data to Sendinblue via cloud mode.

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

Identify

You can use the identify call to add a contact in Sendinblue. If a contact already exists, RudderStack updates the contact details.

A sample identify call is shown below:

rudderanalytics.identify(
  "alex@example.com", {
    firstName: "Alex",
    lastName: "Keener",
    phone: "+12025550146",
    payment: 2,
    age: 21,
    location: "USA",
  }, {
    externalId: [{
        type: "sendinblueIncludeListIds",
        id: [1,2],
      },
    ],
  }
);

Supported mappings

This section explains the property mappings for identify call made to perform different operations on contacts such as their creation, deletion, updation, etc.

Create or update a contact

The following table details the property mappings between RudderStack and Sendinblue to create or update a contact:

RudderStack propertySendinblue propertyData type
traits.email
context.traits.email
properties.email
Required, if phone number is not present.
emailString
traits.phone
context.traits.phone
properties.phone
Required, if email is not present.
attributes.SMSString
traits.newEmail
context.traits.newEmail
attributes.EMAILString
traits.firstName
traits.firstname
traits.first_name
context.traits.firstName
context.traits.firstname
context.traits.first_name
attributes.FIRSTNAMEString
traits.lastname
traits.last_name
context.traits.lastName
context.traits.lastname
context.traits.last_name
traits.lastName
attributes.LASTNAMEString
traits
context.traits
attributesObject
integrations.sendinblue.emailBlacklistedemailBlacklistedBoolean
integrations.sendinblue.smsBlacklistedsmsBlacklistedBoolean
context.externalId.id (when context.externalId.type = sendinblueIncludeListIds)listIdsInt64 Array

Create contact via DOI (Double-opt-in) flow

The following table details the property mappings between RudderStack and Sendinblue to create a contact via DOI flow:

RudderStack propertySendinblue propertyData type
traits.email
context.traits.email
properties.email
Required
emailString
context.externalId.id (when context.externalId.type = sendinblueIncludeListIds) RequiredincludeListIdsInt64 Array
context.externalId.id (when context.externalId.type = templateId)
OR
templatedId (defined in RudderStack dashboard) Required
templateIdInt64 (DOI template’s ID)
Redirection URL (defined in RudderStack dashboard) RequiredredirectionUrlURL
traits.phone
context.traits.phone
properties.phone
attributes.SMSString
traits.firstName
traits.firstname
traits.first_name
context.traits.firstName
context.traits.firstname
context.traits.first_name
attributes.FIRSTNAMEString
traits.lastName
traits.lastname
traits.last_name
context.traits.lastName
context.traits.lastname
context.traits.last_name
attributes.LASTNAMEString
traits
context.traits
attributesObject

Update a DOI contact

The following table details the property mappings between RudderStack and Sendinblue to update a DOI contact:

RudderStack propertySendinblue propertyData type
traits.email
context.traits.email
properties.email
context.externalId.id (when context.externalId.type = sendinblueContactId)
Required
identifierString
traits.phone
context.traits.phone
properties.phone
attributes.SMSString
traits.newEmail
context.traits.newEmail
attributes.EMAILString
traits.firstName
traits.firstname
traits.first_name
context.traits.firstName
context.traits.firstname
context.traits.first_name
attributes.FIRSTNAMEString
traits.lastName
traits.lastname
traits.last_name
context.traits.lastName
context.traits.lastname
context.traits.last_name
attributes.LASTNAMEString
traits
context.traits
attributesObject
integrations.sendinblue.emailBlacklistedemailBlacklistedBoolean
integrations.sendinblue.smsBlacklistedsmsBlacklistedBoolean
context.externalId.id (when context.externalId.type = sendinblueIncludeListIds)listIdsInt64 array
context.externalId.id (when context.externalId.type = sendinblueUnlinkListIds)unlinkListIdsInt64 array

Delete contact from list

warning
RudderStack uses this API to delete a contact from a given list if the Create contact via Double-opt-in setting is disabled in the dashboard and sendinblueUnlinkListIds is provided in the event’s externalId field.

The following table details the property mappings between RudderStack and Sendinblue to delete a contact from list:

RudderStack propertySendinblue propertyData type
traits.email
context.traits.email
properties.email
traits.phone
context.traits.phone
properties.phone
Required, if contactID is not present.
emailsString
context.externalId.id (when context.externalId.type = sendinblueContactId)idsString

Track

You can use the track call to:

  • Track event: Capture events on your website along with (optional) extra information about the event.
  • Track Link: Capture clicks on your website along with (optional) extra information about the click.

A sample track call is shown below:

// track events
rudderanalytics.track("Card Created", {
  id: "a4123c72-c6f7-4d8e-b8cd-4abb8a807891",
  products: [{
      product_id: 1234,
      product_name: "Track Pants",
      amount: 1,
      price: 220,
    },
    {
      product_id: 5768,
      product_name: "T-Shirt",
      amount: 5,
      price: 1058,
    },
  ],
});

//track link
rudderanalytics.track("trackLink", {
  link: "https://mail.google.com/mail/u/0/#inbox",
  subject: "Email confirmation",
});
info
RudderStack sends the track call to the Track Link endpoint if the event name is trackLink in the event payload. For any other event name, it sends the event to the Track event endpoint.

Supported mappings

This section explains the property mappings for track call to capture events and links on your website.

Track event

The following table details the property mappings between RudderStack and Sendinblue for Track event endpoint:

RudderStack propertySendinblue propertyData type
traits.email
context.traits.email
properties.email
traits.phone
context.traits.phone
properties.phone
Required
emailString
event
Required
eventString
traits
context.traits
propertiesObject
propertieseventdata.dataObject
Value of integrations.sendinblue.propertiesIdKey in propertieseventdata.idString

The following table details the property mappings between RudderStack and Sendinblue for Track Link endpoint:

RudderStack propertySendinblue propertyData type
traits.email
context.traits.email
properties.email
traits.phone
context.traits.phone
properties.phone
Required
emailString
properties.link
Required
linkString
propertiespropertiesObject

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
traits.email
context.traits.email
properties.email
traits.phone
context.traits.phone
properties.phone
Required
emailString
properties.url
context.page.url
Required
pageString
properties.title
context.page.title
properties.ma_titleString
properties.path
context.page.path
properties.ma_pathString
properties.referrer
context.page.referrer
properties.ma_referrerString
properties.name
Page Viewed
properties.sib_nameString
propertiespropertiesObject

Questions? Contact us by email or on Slack