Adform

Datafly Signal delivers events to Adform Site Tracking server-to-server using the tracking-points API. Page views and conversions are sent as named tracking points scoped to your advertiser’s Tracking Setup, with cookie- and click-id-based attribution — no client-side Adform pixel required.

Prerequisites

Before configuring Adform in Signal you need:

  • An Adform Ad Server or DSP account with Site Tracking enabled.
  • A Tracking Setup ID for the advertiser (see below).
  • Your tracking domain (the global default is a1.adform.net; you may have a custom or regional domain).
  • One or more tracking points configured in Adform, with names that match the event names Signal will send (tracking-point names are case-sensitive).

Find your Tracking Setup ID

  1. In the Adform UI, open Site Tracking for your advertiser.
  2. Note the Tracking Setup ID — this is the advertiser’s tracking identifier used in every API request.

Find your tracking domain

The global tracking domain is a1.adform.net. If your advertiser uses a custom or regional tracking domain, use that value instead — it must match the domain configured for your tracking points and ad serving.

Configure your tracking points

Each conversion or event you want to record must exist as a tracking point in Adform Site Tracking. The tracking-point name you set in Adform is the value Signal sends in the name field, so keep the names aligned with the blueprint’s event mapping (e.g. Purchase, Add To Cart).

Adform matches server-side tracking points to users via the Adform cookie (adfuid) and the Adform click ID (_adfcd). For best match rates, ensure Signal is capturing the Adform cookie as a first-party identifier.

Configure in Signal

Configuration Fields

FieldRequiredDescription
tracking_setup_idYesThe advertiser’s Tracking Setup ID from Site Tracking in the Adform UI.
tracking_domainYesYour Adform tracking domain. Global default is a1.adform.net.

Management UI Setup

Add the integration

Go to Integrations > Add Integration > Adform.

Enter your configuration

Provide your tracking_setup_id and tracking_domain.

Select the consent categories that gate advertising delivery (typically advertising or marketing). Signal forwards the IAB TCF consent signal to Adform’s compliance block.

Save

Click Save. Signal begins delivering matching events as Adform tracking points.

API Endpoint

POST https://{tracking_domain}/v2/sitetracking/{tracking_setup_id}/trackingpoints/

Requests are sent as JSON with Content-Type: application/json. The tracking-points ingestion endpoint is public — attribution is established by the cookie and click-id values carried in the payload, so no API key or access token is required.

Identity Signals

Adform attributes server-side tracking points using cookie and click identifiers, plus the request context. Signal sends these automatically:

SignalFieldDescription
Adform cookieidentity.cookieIdThe Adform user cookie value (adfuid), when captured by Signal as a first-party identifier.
Adform click IDidentity.clickIdThe Adform click identifier (_adfcd) from the landing URL.
IP addressuserContext.userIpVisitor IP, forwarded from the original request.
User-AgentuserContext.userAgentVisitor User-Agent, forwarded from the original request.
Browser languageuserContext.browserLanguageVisitor locale.

Adform does not require hashed PII for server-side tracking — matching is cookie- and click-id-based. Signal does not hash or send email/phone to Adform.

Signal forwards consent to Adform’s compliance block:

FieldSource
compliance.gdprWhether GDPR applies (IAB TCF gdprApplies).
compliance.gdprConsentThe IAB TCF consent string.

Delivery is also gated by the consent categories you select on the integration, so events are only sent when the visitor has granted the relevant category.

Event Mapping

The Default preset maps Signal’s standard events to Adform tracking points:

Signal eventAdform tracking point (name)
pagePage Visit
Product ViewedProduct View
Product AddedAdd To Cart
Checkout StartedBegin Checkout
Order CompletedPurchase

Conversion data is sent under Adform’s advertiser-defined variables object (for example variables.orderid, variables.sales, variables.currency). The variable names must match the variables configured on your Adform tracking point. To customise, edit the integration’s Field Mappings in the Management UI.

Example: Purchase Event

Datafly.js call:

datafly.track("Order Completed", {
  order_id: "ORD-001",
  revenue: 129.99,
  currency: "GBP",
  products: [
    { product_id: "SKU-A", name: "Widget", price: 49.99, quantity: 2 },
    { product_id: "SKU-B", name: "Gadget", price: 30.01, quantity: 1 }
  ]
});

Adform tracking-point payload sent by Signal:

{
  "name": "Purchase",
  "pageUrl": "https://example.com/checkout/confirmation",
  "identity": {
    "cookieId": "8f3c1a2b-...",
    "clickId": "AbCdEfGhIjKl"
  },
  "userContext": {
    "userAgent": "Mozilla/5.0 ...",
    "userIp": "203.0.113.50",
    "browserLanguage": "en-GB"
  },
  "compliance": {
    "gdpr": true,
    "gdprConsent": "CPx..."
  },
  "variables": {
    "orderid": "ORD-001",
    "sales": 129.99,
    "currency": "GBP",
    "subVariables": [
      { "product_id": "SKU-A", "name": "Widget", "price": 49.99, "quantity": 2 },
      { "product_id": "SKU-B", "name": "Gadget", "price": 30.01, "quantity": 1 }
    ]
  }
}

Testing Your Integration

Trigger a tracked event

Trigger a mapped event on your site (for example complete a test order).

Check Adform Site Tracking

In the Adform UI, open Site Tracking and review incoming tracking points for your Tracking Setup. The tracking point should appear with the name and variables Signal sent.

Confirm the variables

Verify that conversion variables (orderid, sales, currency) populated correctly against the tracking point’s configured variables.

Troubleshooting

ProblemSolution
Tracking points not appearing in AdformConfirm the tracking_setup_id and tracking_domain are correct, and that a tracking point with the matching name exists in Adform Site Tracking (names are case-sensitive).
Conversions recorded but variables emptyThe variable names in the blueprint must match the variables configured on the Adform tracking point. Edit the integration’s Field Mappings to align them.
Low match / attribution ratesEnsure Signal is capturing the Adform cookie (adfuid) so identity.cookieId is populated; click-id-only matching attributes fewer conversions.
Events not sent at allCheck that the visitor granted the consent category gating the integration, and that the event is mapped and enabled in the active preset.