Equativ
Datafly Signal delivers conversions to Equativ (formerly Smart AdServer) server-to-server using Equativ’s click-ID-based conversion postback. When a user clicks an Equativ-served ad, Equativ generates a unique transaction ID (the [sas_transactionid]) and stamps it on the clickthrough URL. Signal captures that ID and, when the user converts, fires a postback back to Equativ keyed on the transaction ID. Equativ matches the postback to the original click and counts the conversion — no client-side pixel required.
Equativ conversion tracking is click-ID based, not a rich conversion API. A conversion is only attributed when the user clicked an Equativ ad and the sas_transactionid was captured. Equativ matches purely on its own transaction ID — no email, phone, or other identity signals are sent.
Prerequisites
Before configuring Equativ in Signal you need:
-
An active Equativ (Smart AdServer) advertiser account with at least one live campaign.
-
Your Equativ campaign clickthrough URLs templated with the transaction-ID macro so the click ID reaches your landing pages. Ask your Equativ trafficker to append the macro to the clickthrough URL, for example:
https://www.example.com/landing?transactionid=[sas_transactionid]Equativ replaces
[sas_transactionid]with a unique Base64-encoded value for each click. Confirm with your account manager which parameter name your campaign uses —transactionid,clickid, andcidare all accepted. -
Confirmation of your conversion postback host. The standard endpoint is
https://www.smartadserver.com/track/download; some accounts use a regional tracking host. Confirm with Equativ before going live.
Capturing the Equativ click ID
For the postback to attribute correctly, Signal must receive the Equativ transaction ID on the conversion event. The Datafly.js collector reads the transaction ID from the landing URL (and persists it to a first-party cookie so it survives navigation) and forwards it as equativ_transaction_id on your conversion events.
Make sure your conversion calls include the captured ID:
datafly.track("Order Completed", {
order_id: "ORD-001",
equativ_transaction_id: "U2FtcGxlVHJhbnNhY3Rpb25JZA"
});If equativ_transaction_id is missing or was not generated by Equativ, the postback is dropped (the mapping is required) or rejected by Equativ. Conversions from users who did not click an Equativ ad are not tracked — this is expected behaviour for click-ID attribution.
Configure in Signal
Equativ requires no credentials. The transaction ID is the only attribution surface and Equativ validates it server-side.
Add the integration
- Go to Integrations > Add Integration > Equativ.
- Choose the Default preset (click-ID conversion postback).
- Select consent categories (typically
advertising). - Click Save.
Confirm the click-ID parameter
If your campaign uses clickid or cid instead of transactionid, edit the integration’s Field Mappings in the Management UI and change the target parameter accordingly.
API Endpoint
GET https://www.smartadserver.com/track/download?transactionid={sas_transactionid}The request is a URL with query-string parameters only — there is no request body and no Authorization header. A correct postback returns HTTP 200 with a 1x1 pixel.
Signal forwards two HTTP headers so the postback matches the original ad call, as Equativ requires for server-side integrations:
| Header | Source | Purpose |
|---|---|---|
User-Agent | Visitor’s User-Agent, forwarded from the original request | Must match the original ad call. |
X-Forwarded-For | Visitor’s IP, forwarded from the original request (leftmost value) | Ensures Equativ sees the end user’s IP, not the server’s. |
Identity Signals
Equativ’s conversion postback matches on a single signal:
| Signal | Field | Description |
|---|---|---|
| Transaction ID | transactionid | The Equativ click ID ([sas_transactionid]) captured when the user clicked an Equativ ad. This is the only matching key. |
No hashed PII (email, phone) is sent — Equativ does not accept identity signals on this endpoint. Attribution depends entirely on the captured click ID.
Event Mapping
Default preset
| Signal event | Equativ action |
|---|---|
Order Completed | Conversion postback (download) |
Lead Generated | Conversion postback (download) |
All other events (page views, product views, cart events) are dropped — Equativ has no analytics or pageview ingestion endpoint, only conversion postbacks.
Example: Order Completed
Datafly.js call:
datafly.track("Order Completed", {
order_id: "ORD-001",
total: 129.99,
currency: "USD",
equativ_transaction_id: "U2FtcGxlVHJhbnNhY3Rpb25JZA"
});Postback sent by Signal:
GET https://www.smartadserver.com/track/download?transactionid=U2FtcGxlVHJhbnNhY3Rpb25JZA
User-Agent: Mozilla/5.0 ...
X-Forwarded-For: 203.0.113.50Equativ matches transactionid to the originating click and counts the conversion.
Testing Your Integration
Generate a real click ID
Click one of your live Equativ ads and land on your site. Confirm the landing URL carries the transaction ID parameter (e.g. ?transactionid=...) and that Datafly.js has captured it (check the first-party cookie / event payload in Signal’s event debugger).
Fire a conversion
Complete a conversion (e.g. an order) in the same session. In Signal’s event debugger, confirm the outbound postback to smartadserver.com/track/download carries the captured transactionid and returns HTTP 200.
Verify in Equativ
Check your Equativ campaign reporting after the platform’s processing window. The conversion should appear attributed to the originating click.
Deduplication is the responsibility of the converting system — Equativ does not deduplicate postbacks. Ensure conversions only fire once per order before they reach Signal.
Troubleshooting
| Problem | Solution |
|---|---|
| Postback rejected / server error | The transactionid was not generated by Equativ. Confirm the click ID was captured from a genuine Equativ ad click and not synthesised. |
| Conversions not appearing in Equativ | Verify the campaign clickthrough URLs are templated with [sas_transactionid] and that Datafly.js is capturing the value into equativ_transaction_id. |
| Event dropped before delivery | equativ_transaction_id is missing on the conversion event (the mapping is required). Confirm the click ID survived navigation via the first-party cookie. |
| Wrong parameter name | If your campaign uses clickid or cid, update the integration’s Field Mapping target accordingly. |
| Postback going to the wrong host | Confirm your account’s conversion tracking host with Equativ — some accounts use a regional tracking domain rather than www.smartadserver.com. |