Vero

Vero is a customer-engagement and behavioural-email platform. Datafly Signal delivers your first-party events server-to-server to Vero’s stable v2 Track REST API, attaching each event to an identified customer profile so you can trigger emails, build segments, and personalise messaging from real behaviour — without a client-side Vero pixel.

Prerequisites

  • A Vero account with a project Authentication Token.
  • A way to identify your users. Vero does not accept anonymous events — every event must carry a user id and/or an email address. Signal maps your logged-in user_id and the user’s email to Vero’s identity fields.
  • Events flowing into Signal from Datafly.js (or a server source) with user_id / email available on the user once known.

Configuration

You need one value from Vero:

FieldWhere to find it
Authentication TokenIn Vero, go to Settings → Project (app.getvero.com/settings/project). Copy the Authentication Token.

Configure in Signal

  1. In your Signal management UI, open Integrations and add Vero.
  2. Paste your Authentication Token.
  3. Attach the Vero blueprint to a pipeline and choose the Default preset.
  4. Map your Signal events to the Vero event names you reference in your Vero workflows (the blueprint ships sensible defaults — see Event Mapping).
  5. Save and enable the pipeline.

API Endpoint

Signal delivers events to Vero’s Track REST API:

POST https://api.getvero.com/api/v2/events/track
Content-Type: application/json

Authentication uses your project Authentication Token, sent as the auth_token field in the request body. All requests are made over HTTPS.

Identity Signals

Vero requires an identity on every event. Signal supplies:

Vero fieldSourceNotes
identity.iduser_idYour stable customer identifier.
identity.emailuser email traitSent un-hashed — Vero needs the raw address to send email and to create/update the profile.

If neither an id nor an email is available for an event, Vero rejects it. Make sure your identify step populates at least one before behavioural events fire.

Unlike advertising connectors, Vero is a messaging platform and must receive the raw email address. Do not apply SHA-256 hashing to the email field for this integration.

Event Mapping

Signal events are mapped to Vero event_name values, with event properties placed under data and reserved fields (source, created_at) under extras.

Signal eventVero event_name
pageViewed page
Signed UpSigned up
Products SearchedSearched products
Product ViewedViewed product
Product AddedAdded to cart
Checkout StartedStarted checkout
Order CompletedCompleted order

Example

A Datafly.js call:

datafly.track("Product Viewed", {
  product_id: "SKU-123",
  product_name: "Red T-shirt",
  category: "Apparel",
  price: 29.99,
  currency: "GBP",
  url: "https://example.com/products/red-t-shirt"
});

Resulting request Signal sends to Vero (for an identified user):

{
  "auth_token": "your_vero_auth_token",
  "identity": {
    "id": "1000",
    "email": "jane@example.com"
  },
  "event_name": "Viewed product",
  "data": {
    "product_id": "SKU-123",
    "product_name": "Red T-shirt",
    "category": "Apparel",
    "price": 29.99,
    "currency": "GBP",
    "product_url": "https://example.com/products/red-t-shirt"
  },
  "extras": {
    "source": "Datafly Signal",
    "created_at": "2026-06-06T10:15:30+0000"
  }
}

If the user profile does not yet exist in Vero, the track call creates it.

Testing

  1. Trigger a mapped event for a known, identified user (one with a user_id or email).
  2. In Vero, open the customer’s profile and confirm the event appears in their activity timeline with the expected event_name and data properties.
  3. Confirm a 2xx response in Signal’s delivery logs. A 400 usually means the event was anonymous (no id and no email); 401/403 means the Authentication Token is invalid or inactive.
  4. Confirm the event_name you send matches the trigger configured in your Vero workflow. Vero treats casing and formatting variations of an event name as identical, but the name must still semantically match your workflow trigger.

Troubleshooting

SymptomLikely causeFix
400 Bad RequestEvent had no identity (anonymous)Ensure user_id or email is set before events fire; Vero rejects anonymous events.
401 / 403Invalid or inactive Authentication TokenRe-copy the token from Settings → Project and confirm the project is active.
Event not on profileevent_name mismatch or wrong projectConfirm the token belongs to the right Vero project and the event name matches your workflow.
Properties missingProperty not mapped in blueprintAdd the property to the event’s mappings under data.*.
Workflow not triggeringTrigger event name differsAlign the Vero event_name in the blueprint with the workflow’s trigger event.

Consent: Subscription state in Vero is managed through Vero’s own subscribe / unsubscribe controls, not the track payload. If you need to gate event delivery on marketing consent, apply a consent filter at the Signal pipeline level.