Brevo

Datafly Signal delivers your first-party events server-to-server to Brevo (formerly Sendinblue) using Brevo’s Events API. Each event records a behavioural interaction against a contact, can upsert contact attributes, and is available to Brevo segments and marketing automation workflows (welcome series, abandoned cart, post-purchase, and more).

Because delivery is server-side, no Brevo tracker script runs in the browser, and your event data flows from your own first-party domain.

Why route Brevo through Datafly Signal

  • Profiles are updated from the server, not the browser. Events reach Brevo even when a tracker blocker or a failed page unload would have dropped a client-side call, so the profile reflects what actually happened.
  • Presets for Default (Lifecycle) and Retail. The mapping starts from a working configuration for your vertical instead of a blank field map.
  • One consent decision governs every destination. Brevo is gated by the same consent state as the rest of your stack, so a withdrawal applies everywhere at once.

Prerequisites

  • A Brevo account on a plan that includes the Events API.
  • A Brevo API key with the Events scope. Create one in the Brevo dashboard under SMTP & API → API Keys.
  • A Datafly Signal pipeline already collecting events from your site via Datafly.js.

Configuration

FieldRequiredDescription
API KeyYesYour Brevo API key. Sent in the api-key request header.

Configure in Signal

  1. In the management UI, open your pipeline and add the Brevo integration.
  2. Paste your API Key.
  3. Choose a preset:
    • Default (Lifecycle) — page views, sign-up, login, search, lead, and order events.
    • Retail — full e-commerce funnel (product views, cart updates, checkout, orders, refunds) for abandoned-cart and post-purchase automation.
  4. Save and enable the integration.

API Endpoint

POST https://api.brevo.com/v3/events

Authentication is the api-key header:

api-key: <YOUR_API_KEY>
Content-Type: application/json

A successful request returns 204 No Content.

Identity Signals

Brevo identifierSourceNotes
identifiers.email_idtraits.emailTrimmed, lower-cased, plain text: Brevo matches the contact on it and sends to it
identifiers.ext_iduser_idYour customer ID
identifiers.phone_idtraits.phoneE.164

An event without any of the three is not sent; the Signal anonymous ID is not a Brevo contact. FIRSTNAME and LASTNAME are upserted as contact attributes on every event.

Event Mapping

Signal eventBrevo event_namePreset
pagepage_viewedDefault, Retail
sign_up / loginsigned_up / logged_inAll / Default, B2B / SaaS
searchproducts_searchedDefault
generate_leadlead_generatedDefault, B2B / SaaS
view_itemproduct_viewedRetail
add_to_cart, remove_from_cartcart_updatedRetail
view_cartcart_viewedRetail
begin_checkoutcheckout_startedRetail
purchase / refundorder_completed / order_refundedDefault, Retail / Retail
demo_requested, trial_started, trial_converted, subscription_started, subscription_cancelled, onboarding_completedsame namesB2B / SaaS

event_date is the event time; event_properties carries the event’s documented properties with value as a number, currency upper-case and the Signal items as products.

Testing

  1. Trigger an event on your site (for example, complete a test order) with a known email address.
  2. In the Signal Event Debugger, confirm the event was delivered with a 204 response from Brevo.
  3. In Brevo, open the contact for that email and check the Events / activity timeline — your event should appear with its properties.
  4. If you have an automation listening for the event, confirm the contact entered the workflow.

Troubleshooting

SymptomLikely causeFix
400 Bad RequestInvalid event_name characters, or no identifier presentEnsure the event name uses only letters, numbers, -, _; ensure an email or ext_id is available on the event.
401 UnauthorizedBad or missing API keyRe-check the API key value in the integration settings.
402 / 403Plan lacks the Events feature, or the key lacks the Events scopeUpgrade the plan or regenerate a key with the Events scope.
Event delivered but no contact updatedEmail not present on the eventConfirm an identify/traits call supplies the email before or alongside the event.
Properties missing in BrevoEvent metadata not mappedAdd the property to event_properties in the blueprint mapping.