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
idand/or an email address. Signal maps your logged-inuser_idand 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:
| Field | Where to find it |
|---|---|
| Authentication Token | In Vero, go to Settings → Project (app.getvero.com/settings/project). Copy the Authentication Token. |
Configure in Signal
- In your Signal management UI, open Integrations and add Vero.
- Paste your Authentication Token.
- Attach the Vero blueprint to a pipeline and choose the Default preset.
- Map your Signal events to the Vero event names you reference in your Vero workflows (the blueprint ships sensible defaults — see Event Mapping).
- 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/jsonAuthentication 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 field | Source | Notes |
|---|---|---|
identity.id | user_id | Your stable customer identifier. |
identity.email | user email trait | Sent 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 event | Vero event_name |
|---|---|
page | Viewed page |
Signed Up | Signed up |
Products Searched | Searched products |
Product Viewed | Viewed product |
Product Added | Added to cart |
Checkout Started | Started checkout |
Order Completed | Completed 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
- Trigger a mapped event for a known, identified user (one with a
user_idor email). - In Vero, open the customer’s profile and confirm the event appears in their activity timeline with the expected
event_nameanddataproperties. - Confirm a
2xxresponse in Signal’s delivery logs. A400usually means the event was anonymous (noidand no email);401/403means the Authentication Token is invalid or inactive. - Confirm the
event_nameyou 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
| Symptom | Likely cause | Fix |
|---|---|---|
400 Bad Request | Event had no identity (anonymous) | Ensure user_id or email is set before events fire; Vero rejects anonymous events. |
401 / 403 | Invalid or inactive Authentication Token | Re-copy the token from Settings → Project and confirm the project is active. |
| Event not on profile | event_name mismatch or wrong project | Confirm the token belongs to the right Vero project and the event name matches your workflow. |
| Properties missing | Property not mapped in blueprint | Add the property to the event’s mappings under data.*. |
| Workflow not triggering | Trigger event name differs | Align 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.