AdRoll
Datafly Signal sends page views and conversions to AdRoll (NextRoll) through the server-to-server (S2S) Event API.
Why route AdRoll through Datafly Signal
- Conversions survive ad blockers and tracking prevention. A browser tag served from an advertising domain is blocked outright for part of your traffic. Signal sends the event from your own server, so the conversions AdRoll optimises against are not filtered by the browser.
- One consent decision governs every destination. AdRoll is gated by the same consent state as the rest of your stack, so a withdrawal applies everywhere at once.
- No vendor tag on the page. Removing it removes its page weight and its independent access to your visitors.
Prerequisites
Get a Server Access Token
Your AdRoll account manager issues the Server Access Token (SAT) for the S2S API and shares it through 1Password.
Find your advertisable and pixel EIDs
Both are required in every event. The pixel EID is available through GET /api/v1/advertisable/get_pixel or from your account manager.
Collect an AdRoll identifier
Every event needs the AdRoll first-party cookie or the adct click ID. Signal reads the cookie from vendor_ids.adroll_id and the click ID from an ID provider named adct. An event with neither is not sent.
Configure in Signal
Configuration fields
| Field | Required | Description |
|---|---|---|
advertisable_eid | Yes | The EID of the AdRoll advertisable that events are attributed to. Sent as the ‘advertisable’ query parameter and as advertisable_eid in every event. |
server_access_token | Yes | Server Access Token for the S2S Event API. Issued by your AdRoll account manager (not self-served) and shared securely via 1Password. Sent as ‘Authorization: Token <SAT>’. |
pixel_eid | Yes | The AdRoll pixel EID of the advertisable. Required in every S2S event. Retrieve it via GET /api/v1/advertisable/get_pixel or from your AdRoll account manager. |
dry_run | No | Set to ‘true’ to validate payloads without affecting audiences or attribution. Remove or set to ‘false’ before going to production. |
Management UI setup
- Go to Integrations > Add Integration > AdRoll.
- Choose a preset: Default (
default), E-commerce (ecommerce), SaaS / B2B (saas), Insurance (insurance). - Fill in the fields above and click Save.
Request format
POST https://srv.adroll.com/api?advertisable=ADV_EID
Authorization: Token <SAT>
[{"advertisable_eid":"ADV_EID","pixel_eid":"PIX_EID","event_name":"purchase",
"page_location":"https://shop.example.co.uk/checkout/done","ip":"203.0.113.9","user_agent":"Mozilla/5.0 ...",
"timestamp":1758500000,"conversion_value":259.99,"currency":"GBP",
"identifiers":{"first_party_cookie":"...","adct":"...","email_sha256":"86e0b9e5...","user_id":"crm-user-9"},
"event_attributes":{"order_id":"ORD-1001","products":[{"product_id":"SKU_1","category":"Jackets","price":120,"quantity":2}]}}]Up to 100 events per request. Set dry_run to true to validate without affecting audiences or attribution.
Event mapping
| Signal event | Vendor event | Presets |
|---|---|---|
page | pageView | Default, E-commerce, SaaS / B2B, Insurance |
search | productSearch | Default, E-commerce |
view_item | pageView | Default, E-commerce |
add_to_cart | addToCart | Default, E-commerce |
purchase | purchase | Default, E-commerce, Insurance |
view_item_list | pageView | E-commerce |
view_search_results | productSearch | E-commerce |
view_cart | pageView | E-commerce |
plan_viewed | highValuePage | SaaS / B2B |
content_downloaded | gatedContent | SaaS / B2B |
demo_requested | demoRequest | SaaS / B2B |
generate_lead | formFill | SaaS / B2B, Insurance |
trial_started | signupTrial | SaaS / B2B |
subscription_started | signupPlan | SaaS / B2B |
quote_completed | highValuePage | Insurance |
contact_requested | contactSales | Insurance |
Events not listed are not sent (the presets drop unmapped events). Each preset turns on the strict output contract, so only the mapped fields are sent.
Identity
Identifiers: the AdRoll first-party cookie, the adct click ID, your user ID, a SHA-256 of the normalised (trimmed, lower-case) email and the mobile advertising ID.
Limitations
- Do not send pageView from Signal for pages that also run the AdRoll pixel: AdRoll would count the page twice.
Vendor documentation
AdRoll (read 2026-09-22).