Flashtalking
Datafly Signal delivers conversions to Flashtalking (Mediaocean / Innovid) server-to-server by firing the Spotlight conversion tag from your own infrastructure instead of the browser. Because the Spotlight pixel is issued server-side, it is not affected by ad blockers or browser tracking prevention.
Prerequisites
Before configuring Flashtalking in Signal you need an active Flashtalking advertiser account and a generated Spotlight (conversion activity) tag.
Locate your Spotlight tag snippet
In the Flashtalking platform, generate or open the Spotlight tag for the conversion you want to track. The tag contains a container URL of the form:
https://servedby.flashtalking.com/container/1234567;987654;5;num/?...Identify the three IDs
The three numeric values immediately after /container/, separated by semicolons, are what Signal needs:
| Position | Value | Example |
|---|---|---|
| 1st | Advertiser ID | 1234567 |
| 2nd | Spotlight ID | 987654 |
| 3rd | Spotlight Group ID | 5 |
One Signal integration maps to one Spotlight. If you track several conversions (for example a purchase Spotlight and a lead Spotlight), create a separate Signal integration for each, each with its own Spotlight ID.
Configuration Fields
| Field | Required | Description |
|---|---|---|
advertiser_id | Yes | The numeric Advertiser ID — the number immediately after /container/. |
spotlight_id | Yes | The numeric Spotlight ID — the number after the Advertiser ID. |
spotlight_group_id | Yes | The numeric Spotlight Group ID — the number after the Spotlight ID. |
Configure in Signal
- Go to Integrations > Add Integration > Flashtalking.
- Choose the Default variant.
- Enter your
advertiser_id,spotlight_idandspotlight_group_id. - Select consent categories (typically
advertisingormarketing). - Click Save.
To customise which Signal events fire which Spotlight (or to map custom variables U1–U20), edit the integration’s Field Mappings.
API Endpoint
Signal fires the Spotlight container tag as an HTTP GET:
GET https://servedby.flashtalking.com/container/{advertiser_id};{spotlight_id};{spotlight_group_id};num/?cachebuster={rand}&ftXRef={order_id}&ftXValue={value}&ftXCurrency={currency}The advertiser, spotlight and group IDs are semicolon-delimited path segments. Dynamic conversion parameters follow the trailing ?. There is no API key — the IDs in the path are the credential, and Signal adds a fresh cachebuster on every request to prevent caching.
Identity Signals
Flashtalking matches server events to a user via its own FTrack first-party cookie, plus the visitor’s IP address and User-Agent. Signal forwards these automatically:
| Signal | How it is sent | Description |
|---|---|---|
| Client IP | X-Forwarded-For header | Visitor’s IP address, forwarded from the original browser request. |
| User-Agent | User-Agent header | Visitor’s User-Agent string, forwarded from the original request. |
| FTrack cookie | First-party cookie | Flashtalking’s own identity cookie, read on the original request. |
Flashtalking does not require hashed email or phone for matching, so Signal does not send PII to Flashtalking. Matching is cookie plus IP/User-Agent based.
Event Mapping
Default preset
| Signal event | Spotlight type | Key parameters |
|---|---|---|
page | Counter | cachebuster, U1 (path) |
Order Completed | Sales | ftXRef (order ID), ftXValue, ftXCurrency |
Signed Up | Counter | U1 (method) |
Lead Generated | Counter | ftXValue, ftXCurrency |
Conversion parameters use Flashtalking’s standard naming:
| Parameter | Meaning |
|---|---|
cachebuster | Per-request random value (added automatically by Signal). |
ftXRef | Order / transaction reference. |
ftXValue | Transaction amount / conversion value. |
ftXCurrency | ISO currency code. |
ftXType | Conversion / order type classification. |
U1–U20 | Advertiser-defined custom variables. |
Example: Purchase Event
Datafly.js call:
datafly.track("Order Completed", {
order_id: "ORD-001",
revenue: 129.99,
currency: "USD"
});Request fired by Signal:
GET https://servedby.flashtalking.com/container/1234567;987654;5;num/?cachebuster=8472913&ftXRef=ORD-001&ftXValue=129.99&ftXCurrency=USDThe visitor’s IP and User-Agent are forwarded as request headers so Flashtalking attributes the conversion to the genuine user rather than the Signal server.
Testing Your Integration
- Trigger a tracked event (for example complete a test purchase) on a page running Datafly.js.
- In Signal’s event debugger, confirm the Flashtalking request was built with the correct path IDs and a populated
cachebuster,ftXRef,ftXValueandftXCurrency. - In the Flashtalking platform, open Spotlight reporting for the activity and confirm the conversion appears (allow for reporting latency).
Troubleshooting
| Problem | Solution |
|---|---|
| Conversions missing from Spotlight reporting | Verify the three IDs match the tag snippet exactly (Advertiser, Spotlight, Spotlight Group), in that order. |
| Duplicate or undercounted conversions | Confirm cachebuster is present on every request — Flashtalking caches aggressively without it. Signal adds it automatically. |
| All conversions geo-resolve to one location | Confirm the visitor IP is being forwarded; check the X-Forwarded-For header in the event debugger. |
| Sales Spotlight shows no value | Ensure properties.revenue and properties.currency are populated on the Order Completed event. |