Adform
Datafly Signal sends page visits and conversions to Adform Site Tracking as tracking points through the server-side tracking API (v2).
Why route Adform 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 Adform optimises against are not filtered by the browser.
- One consent decision governs every destination. Adform 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
Find your tracking setup ID and domain
In Adform open Site Tracking: the tracking setup ID is shown on the setup, and the tracking domain is set per advertiser (a1.adform.net unless you use a custom or regional domain).
Create the tracking points
Tracking points cannot be created through the API. Create one per vendor event name in the preset (for example Purchase, Add To Cart); names are case-sensitive.
Collect the Adform cookie ID
Adform attributes a server-side tracking point only with its third-party cookie ID or a mobile advertising ID. Add the adfcookieid=__ADFUID__ macro to your landing-page URLs (Adform tags > URL append) and collect it in Signal with an ID provider named adform_uid. An event with neither ID is not sent.
Configure in Signal
Configuration fields
| Field | Required | Description |
|---|---|---|
tracking_setup_id | Yes | The advertiser’s Tracking Setup ID, found under Site Tracking in the Adform UI. Used as the path segment in the trackingpoints API. |
tracking_domain | Yes | Your Adform tracking domain. The global default is a1.adform.net. Use your custom or regional tracking domain if one is configured for your advertiser. |
Management UI setup
- Go to Integrations > Add Integration > Adform.
- Choose a preset: Default (
default), E-commerce (ecommerce), Insurance (insurance), Travel (travel). - Fill in the fields above and click Save.
Request format
POST https://a1.adform.net/v2/sitetracking/1257163/trackingpoints/
[{"name":"Purchase","pageUrl":"https://shop.example.co.uk/checkout/done",
"identity":{"cookieId":"5561975860057581265"},
"userContext":{"userAgent":"Mozilla/5.0 ...","userIp":"203.0.113.9","browserLanguage":"en-GB"},
"compliance":{"gdpr":1,"gdprConsent":"CPHHBKG..."},
"variables":{"orderid":"ORD-1001","sales":259.99,"currency":"GBP",
"subVariables":[{"productid":"SKU_1","productname":"Parka","categoryname":"Jackets","productcount":2}]}}]No authentication. Up to 20 tracking points are sent per request.
Event mapping
| Signal event | Vendor event | Presets |
|---|---|---|
page | Page Visit | Default, E-commerce, Insurance, Travel |
view_item | Product View | Default, E-commerce, Travel |
add_to_cart | Add To Cart | Default, E-commerce |
begin_checkout | Begin Checkout | Default, E-commerce |
purchase | Purchase | Default, E-commerce |
view_item_list | Product List View | E-commerce |
remove_from_cart | Remove From Cart | E-commerce |
view_cart | Cart View | E-commerce |
add_to_wishlist | Add To Wishlist | E-commerce |
quote_started | Quote Start | Insurance |
quote_completed | Quote Complete | Insurance |
generate_lead | Lead | Insurance |
purchase | Policy Purchase | Insurance |
flight_searched | Search | Travel |
hotel_searched | Search | Travel |
booking_started | Booking Start | Travel |
purchase | Booking | Travel |
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
Adform matches on its cookie ID (identity.cookieId), click ID and mobile advertising ID. No hashed personal data is sent. The IAB TCF string and gdpr flag are forwarded from the visitor’s consent.
Limitations
- productsales (sales per product line) is not sent: it is price times quantity, which a blueprint cannot compute yet.
Vendor documentation
Adform (read 2026-09-22).