Eulerian
Attribution and data activation platform for cookieless tracking, marketing mix analysis, and real-time audience activation.
Why route Eulerian through Datafly Signal
- Profiles are updated from the server, not the browser. Events reach Eulerian even when a tracker blocker or a failed page unload would have dropped a client-side call, so the profile reflects what actually happened.
- Email is hashed before leaving your infrastructure. Signal normalises (trim and lowercase) and applies SHA-256 inside your own deployment, so Eulerian receives match keys rather than raw personal data.
- One consent decision governs every destination. Eulerian is gated by the same consent state as the rest of your stack, so a withdrawal applies everywhere at once.
Prerequisites
Complete these steps with Eulerian before configuring Signal.
Get your tracking domain and website name
Your Eulerian welcome e-mail gives a tracking domain (for example io1.eulerian.net, or your own first-party CNAME) and a website name. Signal posts to https://{tracking domain}/collector/{website}/; there is no API key.
Configure privacy in Eulerian
Set the collection level and consent handling in Eulerian’s Privacy Center. Signal forwards the IAB TCF string as gdpr_consent when your CMP provides one.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
tracking_target | string | Yes | Your Eulerian tracking domain from the Eulerian welcome e-mail (for example io1.eulerian.net, or your first-party CNAME), without https://. |
website | string | Yes | The Eulerian website name from the welcome e-mail. It forms the collector path /collector/{website}/. |
Eulerian’s server-side collection has no API key: the tracking domain and website name route the data to your account.
Signal Setup
Quick Setup
- Navigate to Integrations in the sidebar.
- Open the Integration Library tab.
- Find Eulerian under the CDP category.
- Click Install, and fill in the required fields with the credentials gathered above.
- Click Install Integration to create the integration with a ready-to-use default configuration.
API Setup
curl -X POST http://localhost:8084/v1/admin/integration-catalog/eulerian/install \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Eulerian",
"variant": "default",
"config": {
"tracking_target": "io1.eulerian.net",
"website": "my-website"
},
"delivery_mode": "server_side"
}'Event Mapping
Each event is POSTed form-encoded to https://{tracking_target}/collector/{website}/, the request Eulerian’s own open-source server-side component builds. The visitor’s IP and user agent are sent as the X-Forwarded-For and User-Agent headers. Parameters use Eulerian’s tag names:
| Signal event | Eulerian parameters |
|---|---|
| every event | event_name, uid, euidl (anonymous ID), url, urlp, rf, title, ereplay-time (epoch seconds), utm_*, gdpr_consent (IAB TCF string when your CMP provides one), email (SHA-256 digest) |
view_item | prdref, prdname, prdgroup |
add_to_cart | scart=1, scartcumul=1, one prdref / prdamount / prdquantity per line item |
purchase (and policy_purchased, booking_completed) | ref, amount, currency (upper-cased), payment when known, one prdref / prdamount / prdquantity per line item |
generate_lead, quote events | estimate=1, ref, amount, currency |
search | isearchengine=site, isearchkey=keyword, isearchdata |
Presets: Retail, Default, Insurance and Travel. Change isearchengine in the blueprint if your Eulerian search engine is configured under another name.
Identity
| Parameter | Source | Notes |
|---|---|---|
uid | user_id from datafly.identify() | Authenticated customer ID. |
euidl | Datafly anonymous identifier | Browser-scoped first-party identifier. |
email | identify traits | SHA-256 digest of the trimmed, lower-cased address; never sent raw. |
X-Forwarded-For | request IP | Header, for geo and attribution context. |
User-Agent | request user agent | Header, for device classification. |
Consent
Eulerian events should be sent under the advertising category by default. Eulerian also operates in cookieless mode where appropriate — Signal’s consent state lets Eulerian downgrade attribution processing for visitors who decline tracking.
Delivery
Events are delivered server-side from your Datafly Signal infrastructure directly to the Eulerian API. No client-side scripts are loaded for this integration.
Verify it’s working
- After installing the integration, trigger a test event from your website or via the Signal event API.
- In the Eulerian dashboard, check the real-time reporting to verify events are being received.
- Verify attribution data is appearing for the test events under the appropriate campaign or channel.
- In Signal, check Live Events to confirm delivery with a
200response status.
Troubleshooting
| Symptom | Possible Cause | Resolution |
|---|---|---|
401 Unauthorized or 403 Forbidden | The tracking domain rejected the request | Confirm the tracking domain with your Eulerian account manager |
404 Not Found | Wrong tracking domain or website name | Verify both values against your Eulerian welcome e-mail |
| Events not appearing in reports | Processing delay | Eulerian may take several minutes to process events. Wait and refresh the reporting dashboard |
| Connection refused | Wrong tracking domain | Ensure tracking_target matches the exact domain provisioned for your account |
Visit Eulerian documentation for full API reference and tracking configuration details.
See also
- GA4 — alternative analytics + attribution
- Adobe Analytics — enterprise analytics