Ometria

Datafly Signal delivers events to Ometria server-to-server using the Data API push endpoint. Events are pushed as Ometria custom events, linked to a contact by email, and become available for segmentation, journeys, and cross-channel campaigns (email, SMS, push) — without any client-side Ometria tag.

Prerequisites

Before configuring Ometria in Signal, you need an Ometria account with a Data API key, and the custom event types you intend to send must be set up in Ometria.

Step 1: Generate a Data API key

  1. In Ometria, go to Settings > API keys.
  2. Create a key with push / write access to the Data API.
  3. Copy the key — it is sent in the X-Ometria-Auth header on every request.
⚠️

This is the Data API key, not the Website Personalisation (Query API) key. The Query API uses Basic authentication on a different host and will not work with this integration.

Step 2: Set up your custom events in Ometria

Ometria accepts a custom event push immediately, but it will not act on an unknown event type until that type is configured.

  1. Go to Settings > Custom events.
  2. Create each event type you plan to send (for example product_viewed, cart_add, order_completed).
  3. Define the properties you want available in templates and segments.

Event type names should be kept under 512 characters — longer values are truncated by Ometria.

Configure in Signal

Configuration Fields

FieldRequiredDescription
api_keyYesYour Ometria Data API key with push access. Found in Settings > API keys. Sent in the X-Ometria-Auth header.

Management UI Setup

Add the integration

Go to Integrations > Add Integration > Ometria.

Choose a preset

Select the Retail preset for the standard e-commerce funnel (product views, cart, checkout, purchase), or start from Default.

Enter your API key

Paste your Ometria Data API key into the api_key field.

Choose the consent category that governs this integration (typically marketing).

Save

Click Save. Signal begins delivering matching events to Ometria.

API Endpoint

POST https://api.ometria.com/v2/push
X-Ometria-Auth: {api_key}
Content-Type: application/json

The request body is a JSON array of records (up to 100 per request). A single request contains only one record type — Signal sends custom_event records. A successful push returns 202 Accepted.

Identity Signals

Ometria links each custom event to a contact using the contact’s email address.

SignalOmetria fieldDescription
Emailidentity_emailThe contact’s email address, sent in plain text (Ometria keys contacts on email). Provided by datafly.identify().

Ometria matches on the raw email address, so identity_email is not hashed. Email is the link between an event and a customer profile — events without it are still accepted but cannot be attributed to a contact.

To attach identity, call datafly.identify() when the user logs in, registers, or submits their email:

datafly.identify("user-123", {
  email: "jane.doe@example.com"
});

Event Mapping

Retail preset

Signal eventOmetria event_type
pagepage_view
Products Searchedsearch
Product Viewedproduct_viewed
Product Added to Wishlistwishlist_add
Product Addedcart_add
Product Removedcart_remove
Checkout Startedcheckout_started
Order Completedorder_completed

All other events are dropped. To customise, edit the integration’s Field Mappings in the Management UI.

Example: Product Viewed

Datafly.js call:

datafly.identify("user-123", { email: "jane.doe@example.com" });
 
datafly.track("Product Viewed", {
  product_id: "SKU-A",
  product_name: "Merino Crew Jumper",
  variant: "navy-m",
  price: 79.00,
  currency: "GBP",
  category: "Knitwear"
});

Ometria push payload sent by Signal:

[
  {
    "@type": "custom_event",
    "id": "evt_abc123def456",
    "timestamp": "2026-06-06T15:32:52+00:00",
    "event_type": "product_viewed",
    "identity_email": "jane.doe@example.com",
    "properties": {
      "product_id": "SKU-A",
      "product_name": "Merino Crew Jumper",
      "variant_id": "navy-m",
      "product_price": 79.00,
      "currency": "GBP",
      "category": "Knitwear",
      "page_url": "https://example.com/products/merino-crew"
    }
  }
]

Testing Your Integration

Trigger a test event

Identify a contact and fire a tracked event on your site (for example, view a product).

Check Signal’s event debugger

In the Management UI, open the Event Debugger for the integration and confirm the event was delivered with a 202 response.

Verify in Ometria

In Ometria, open the contact’s profile and confirm the custom event appears in their activity, or check the custom-event listing for the event type.

Troubleshooting

ProblemSolution
403 Forbidden on every pushThe API key is missing, invalid, or is a Query API (Website Personalisation) key rather than a Data API push key. Generate a Data API key under Settings > API keys.
Push returns 202 but the event never appears against the contactThe event_type is not configured in Ometria. Create it under Settings > Custom events.
Event delivered but not linked to a customeridentity_email is missing. Call datafly.identify() with the contact’s email before tracking.
400 Bad RequestThe batch mixed record types or exceeded 100 records, or the body was malformed. Signal sends only custom_event records in batches of up to 100, so check for a custom Field Mapping change.
Event type appears truncatedEvent type names over 512 characters are truncated by Ometria. Use a shorter event_type.

Rate Limits & Batching

LimitValue
Records per push request100 (Signal batches automatically)
Record types per request1 (Signal sends only custom events)

Signal batches events automatically, sending up to 100 custom events per push request. The default settings are sufficient for most deployments.