# Adform

[Adform](https://site.adform.com/) is a global digital media advertising technology company specializing in real-time programmatic marketing automation technologies. Using this destination you can implement [server-side tracking](https://www.adformhelp.com/hc/en-us/articles/9740579489041-Use-Server-Side-Tracking).

## Key features

The Adform destination provides the following key features:

* **Events structure**: our [Events reference](https://community.commandersact.com/platform-x/developers/tracking/events-reference) covers [Adform server-side tracking](https://www.adformhelp.com/hc/en-us/articles/9740579489041-Use-Server-Side-Tracking), meaning that your data is properly bridged to the expected fields in an optimized way.
* **Prebuilt mappings**: data mapping for event-based destinations happens automatically, which simplifies user inputs.
* **Smart mapping**: data mapping can be readjusted using your datalayer defined fields.
* **Support for multi-item data**: information included in the [item ](https://community.commandersact.com/platform-x/developers/tracking/events-reference#item)array is bridged to Partnerize.

## Destination setup

{% hint style="info" %}
A client-side tag template named `Adform - Get 3rd Party Cookie ID` is available in our library to help you retrieve the Adform Third-Party Identifier.
{% endhint %}

### Configuration

<table><thead><tr><th width="345">Settings</th><th>Description</th></tr></thead><tbody><tr><td><code>Tracking Domain</code></td><td><em><strong><code>Required</code></strong></em><br>Your tracking domain as set on Adform UI (E.g. <code>a1.adform.net</code> ). More details are available following this <a href="https://www.adformhelp.com/hc/articles/9740579553169#UUID-f565672b-d386-6014-c06e-054f43b67a2d">LINK</a>.</td></tr><tr><td><code>Tracking Setup Id</code></td><td><em><strong><code>Required</code></strong></em><br>Your client tracking ID, which can be found under <code>Site Tracking</code> in Adform UI (E.g. <code>1257163</code> ).</td></tr><tr><td><code>Tracking Point Name Property</code></td><td>Your property holding the tracking point name. In case it's not set, the property mapped in the <code>Smart Mapping</code> named <code>Page URL (pageUrl)</code> will be used.</td></tr><tr><td><code>Select your Adform third-party holder</code></td><td>This can be either <code>Cookie</code> or <code>Event</code> <code>property</code>, depending on how you provide Adform third-party identifier value. A client-side tag template named <code>Adform - Get 3rd Party Cookie ID</code> is available in our library to help you retrieve this value.</td></tr><tr><td><code>Third-Party Id Cookie Name</code></td><td>If you select <code>Cookie</code> in <code>Select your Adform third-party holder</code>, you can set your Adform third-party cookie name in this field.</td></tr><tr><td><code>Third-Party Id Property</code></td><td>If you select <code>Event</code> <code>property</code> in <code>Select your Adform third-party holder</code> , you can set your Adform third-party property name in this field.</td></tr><tr><td><code>Select your Adform first-party holder</code></td><td>This can be either <code>Cookie</code> or <code>Event property</code> , depending on how you provide Adform first-party identifier value.</td></tr><tr><td><code>First-Party Id Cookie Name</code></td><td>If you select <code>Cookie</code> in <code>Select your Adform first-party holder</code> , you can set your Adform first-party cookie name in this field. Only use for hybrid setups, where part of site tracking is implemented client-side to be able to pass its value that Adform has set previously.</td></tr><tr><td><code>First-Party Id Cookie Domain</code></td><td>If you select <code>Cookie</code> in <code>Select your Adform first-party holder</code>, you can set your Adform first-party cookie domain in this field. Only use for hybrid setups, where part of site tracking is implemented client-side to be able to pass its value that Adform has set previously.</td></tr><tr><td><code>First-Party Id Property</code></td><td>If you select <code>Event property</code> in <code>Select your Adform first-party holder</code>, you can set your Adform first-party property name in this field.</td></tr><tr><td><code>Custom Event Properties</code></td><td>Map your custom event properties by setting their field names in <code>Adform property name</code> and adding the field name holding the value in <code>Your event property</code>. In the column <code>Your event property path</code> you should keep the default value <code>Default (root)</code> as it fits most scenarios. In case you select either <code>In "items" {items.X}</code> or <code>In "product" {items.X.product}</code> this destination will look for the input event property starting from the <a href="https://community.commandersact.com/platform-x/developers/tracking/events-reference#item">items </a>or <a href="https://community.commandersact.com/platform-x/developers/tracking/events-reference#product">product </a>level respectively and add its value as a custom entry in the "subVariables" array. The advanced operation <code>As Adform subVariables Data</code> can be paired with the property path option <code>Default (root)</code> so your property value is set as a custom entry in the "subVariables" array for each item. More details on Adform custom variables are available following this <a href="https://www.adformhelp.com/hc/en-us/articles/9740579489041-Use-Server-Side-Tracking">LINK</a> (section: "Add Custom Variables").</td></tr></tbody></table>

## Quick reference

| Commanders Act Events  | Adform Tracking          |
| ---------------------- | ------------------------ |
| `[Any Event]` **\[1]** | `[Tracking Point Names]` |

{% hint style="info" %}
**\[1]** Ensure to apply [**Destination filters**](https://doc.commandersact.com/features/destinations/destination-filters) configuring your relevant events for this destination. Custom events are also supported.
{% endhint %}

## Field mappings

{% hint style="info" %}
Properties can be remapped using our [Smart Mapping](https://doc.commandersact.com/features/destinations/advanced-mapping#smart-mapping) feature.\
For audience building and retargeting, make sure to pass a user identifier.\
Geo and device information come from the provided user ip and agent.\
Adform standard attribution works only if <mark style="color:blue;">`identity.cookieId`</mark> (Adform 3rd party cookie) or <mark style="color:blue;">`identity.advertisingId`</mark> (mobile advertising ID) is passed correctly.\
Adform Cookieless Insights reporting is enabled by passing values in both <mark style="color:blue;">`userContext.userAgent`</mark> and <mark style="color:blue;">`userContext.userIp`</mark> .
{% endhint %}

<table><thead><tr><th width="347">Commanders Act Properties</th><th>Adform Properties</th></tr></thead><tbody><tr><td><p><code>Third-Party Id Cookie Name</code></p><p><code>Third-Party Id Property</code></p></td><td><code>identity.cookieId</code> <strong>[1]</strong></td></tr><tr><td><p><code>First-Party Id Cookie Name</code></p><p><code>First-Party Id Property</code></p></td><td><code>identity.firstPartyId.id</code> <strong>[1]</strong></td></tr><tr><td><p><code>First-Party Id Cookie Domain</code></p><p><code>(context.page.url)</code></p></td><td><code>identity.firstPartyId.domain</code> <strong>[2]</strong></td></tr><tr><td><code>Tracking Point Name Property</code></td><td><code>name</code></td></tr><tr><td><code>context.page.url</code></td><td><code>pageUrl</code></td></tr><tr><td><code>context.page.referrer</code></td><td><code>refererUrl</code></td></tr><tr><td><code>context.device.advertising_id</code></td><td><code>identity.advertisingId</code></td></tr><tr><td><code>partners.adform.provider_id</code></td><td><code>identity.eids.0.source</code></td></tr><tr><td><code>user.id</code></td><td><code>identity.eids.0.uids.0.id</code></td></tr><tr><td><code>context.device.user_agent</code></td><td><code>userContext.userAgent</code></td></tr><tr><td><code>context.device.ip</code></td><td><code>userContext.userIp</code></td></tr><tr><td><code>value</code></td><td><code>variables.sales</code></td></tr><tr><td><code>id</code></td><td><code>variables.orderid</code></td></tr><tr><td><code>items.X.id</code></td><td><code>variables.subVariables.X.productid</code></td></tr><tr><td><code>items.X.product.price</code></td><td><code>variables.subVariables.X.productsales</code></td></tr><tr><td><code>partners.adform.consent_string</code></td><td><code>compliance.gdprConsent</code> <strong>[3]</strong></td></tr></tbody></table>

{% hint style="info" %}

> **1.** Cookie name or property is used based on your [Configuration](#configuration).\
> **2.** Priority order is listed in the left column.\
> **3.** IAB TCF consent string.
> {% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.commandersact.com/features/destinations/destinations-catalog/adform.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
