Tags V3 — Migration Guide

Vaida
Vaida
  • Updated

API Name (Version)

Deprecation Date

Sunset Date

Unified Tags (V1)

May 31, 2024

December 31, 2024

With Tags V3, you can create, update, and retrieve RTB (programmatic) and direct tags. Tags V3 categorizes tags based on their line item type, separating the workflows for direct and RTB tags. Therefore, you can work only with the tag type that is relevant to you — with direct tags for Ad Server, RTB tags for DSP, or both. In addition, while Unified tags (V1) endpoints accepted both tag IDs and UUIDs, Tags V3 only works with tag IDs.

If you have been using any Unified Tags (V1) endpoint, follow this guide to migrate Unified Tags to Tags V3 before the sunset date (December 31, 2024). For all the information about Tags V3 endpoints, see Tags V3 Setup.

Understand Affected API Endpoints

Endpoints to Deprecate

New Endpoints

Use Case

GET /v1/buyer/unifiedtags/single/{id}

GET /v3/buyer/tags/directtags/{id}

GET /v3/buyer/tags/rtbtags/{id}

Retrieve a direct tag by tag ID.

Retrieve an RTB tag by tag ID.

GET /v1/buyer/unifiedtags/single/{uuid}

The new endpoints only accept tag IDs. To retrieve a tag, use the endpoints:

GET /v3/buyer/tags/directtags/{id}

GET /v3/buyer/tags/rtbtags/{id}

Retrieve a direct tag by tag ID.

Retrieve an RTB tag by tag ID.

DELETE /v1/buyer/unifiedtags/{uuid}

The new endpoints only accept tag IDs. With Tags V3 you can't delete tags, only deactivate them. To deactivate a tag, use the endpoints:

PUT /v3/buyer/tags/directtags/{id}/active

PUT /v3/buyer/tags/rtbtags/{id}/active

Update a direct tag’s active status by tag ID.

Update an RTB tag’s active status by tag ID.

POST /v1/buyer/unifiedtags/list

POST /v3/buyer/tags/list

Retrieve a list of existing tags.

GET /v1/buyer/unifiedtags/{campaignId}

To retrieve tags by campaign ID, use the endpoint with campaignId in the filter:

POST /v3/buyer/tags/list

Retrieve a list of existing tags from a specific campaign.

POST /v1/buyer/unifiedtags

POST /v3/buyer/tags/directtags

POST /v3/buyer/tags/rtbtags

Create a new direct tag.

Create a new RTB tag.

PUT /v1/buyer/unifiedtags

PUT /v3/buyer/tags/directtags/{id}

PUT /v3/buyer/tags/rtbtags/{id}

Update a direct tag by tag ID.

Update an RTB tag by tag ID.

POST /v1/buyer/unifiedtags/async

Tags V3 doesn't provide the functionality to create tags in bulk. To create a tag, use the endpoints:

POST /v3/buyer/tags/directtags

POST /v3/buyer/tags/rtbtags

Create a new direct tag.

Create a new RTB tag.

PUT /v1/buyer/unifiedtags/async

Tags V3 doesn't provide the functionality to update tags in bulk. To update a tag, use the endpoints:

PUT /v3/buyer/tags/directtags/{id}

PUT /v3/buyer/tags/rtbtags/{id}

Update a direct tag by tag ID.

Update an RTB tag by tag ID.

PUT /v1/buyer/unifiedtags/{uuid}/activationstatus

The new endpoints only accept tag IDs. To update a tag's active status, use the endpoints:

PUT /v3/buyer/tags/directtags/{id}/active

PUT /v3/buyer/tags/rtbtags/{id}/active

Update a direct tag’s active status by tag ID.

Update an RTB tag’s active status by tag ID.

PUT /v1/buyer/unifiedtags/activationstatus/async

Tags V3 doesn't provide the functionality to update tags in bulk. To update a tag's active status, use the endpoints:

PUT /v3/buyer/tags/directtags/{id}/active

PUT /v3/buyer/tags/rtbtags/{id}/active

Update a direct tag’s active status by tag ID.

Update an RTB tag’s active status by tag ID.

PUT /v1/buyer/unifiedtags/{uuid}/pausestatus

The new endpoints only accept tag IDs. You can pause only direct tags. To update a direct tag's pause status, use the endpoint:

PUT /v3/buyer/tags/directtags/{id}/paused

Update a direct tag’s pause status by tag ID.

PUT /v1/buyer/unifiedtags/pausestatus/async

Tags V3 doesn't provide the functionality to update tags in bulk. You can pause only direct tags. To update a direct tag's pause status, use the endpoint:

PUT /v3/buyer/tags/directtags/{id}/paused

Update a direct tag’s pause status by tag ID.

DELETE /v1/buyer/unifiedtags/{uuid}/destinationurl

The new endpoints only accept tag IDs. Tags V3 can accept multiple destination URLs. To delete a tag's destination URLs, use the endpoints with empty destinationUrl:

PUT /v3/buyer/tags/directtags/{id}/destinationurls

PUT /v3/buyer/tags/rtbtags/{id}/destinationurls

Update a direct tag’s destination URLs by tag ID.

Update an RTB tag's destination URLs by tag ID.

PUT /v1/buyer/unifiedtags/{uuid}/destinationurl

The new endpoints only accept tag IDs. Tags V3 can accept multiple destination URLs. To update a tag's destination URLs, use the endpoints:

PUT /v3/buyer/tags/directtags/{id}/destinationurls

PUT /v3/buyer/tags/rtbtags/{id}/destinationurls

Update a direct tag’s destination URLs by tag ID.

Update an RTB tag's destination URLs by tag ID.

PUT /v1/buyer/unifiedtags/destinationurls/async

PUT /v3/buyer/tags/directtags/{id}/destinationurls

PUT /v3/buyer/tags/rtbtags/{id}/destinationurls

Update a direct tag’s destination URLs by tag ID.

Update an RTB tag's destination URLs by tag ID.

PUT /v1/buyer/unifiedtags/trackingpixels/async

PUT /v3/buyer/tags/directtags/{id}/trackingpixels

PUT /v3/buyer/tags/rtbtags/{id}/trackingpixels

Update a direct tag’s tracking pixels by tag ID.

Update an RTB tag’s tracking pixels by tag ID.

PUT /v1/buyer/unifiedtags/externalscripts/async

PUT /v3/buyer/tags/directtags/{id}/externalscripts

PUT /v3/buyer/tags/rtbtags/{id}/externalscripts

Update a direct tag’s external scripts by tag ID.

Update an RTB tag’s external scripts by tag ID.

PUT /v1/buyer/unifiedtags/{uuid}/ad

The new endpoints only accept tag IDs. To update a tag's ad, use the endpoints:

PUT /v3/tags/directtags/{id}/ad

PUT /v3/tags/rtbtags/{id}/ad

Update a direct tag’s ad by tag ID.

Update an RTB tag’s ad by tag ID.

PUT /v1/buyer/unifiedtags/{uuid}/lineitem

The new endpoints only accept tag IDs. You can update only the line items of direct tags. To update a line item of a direct tag, use the endpoint:

PUT /v3/buyer/tags/directtags/{id}/lineitem

Update a direct tag’s line item by tag ID.

PUT /v1/buyer/unifiedtags/{uuid}/name

The new endpoints only accept tag IDs. To update a tag name, use the endpoints:

PUT /v3/buyer/tags/directtags/{id}

PUT /v3/buyer/tags/rtbtags/{id}

PUT /v3/buyer/tags/directtags/{id}/settings

PUT /v3/buyer/tags/rtbtags/{id}/settings

Update a direct tag by tag ID.

Update an RTB tag by tag ID.

PUT /v1/buyer/unifiedtags/{uuid}/servingproperties

The new endpoints only accept tag IDs. To update a tag's settings, use the endpoints:

PUT /v3/buyer/tags/directtags/{id}/settings

PUT /v3/buyer/tags/rtbtags/{id}/settings

Update a direct tag's settings by tag ID.

Update an RTB tag's settings by tag ID.

DELETE /v1/buyer/unifiedtags/{uuid}/trackingpixels

POST /v1/buyer/unifiedtags/{uuid}/trackingpixels

The new endpoints only accept tag IDs. Tags V3 can accept multiple tracking pixels. To update a tag's tracking pixels, use the endpoints:

PUT /v3/buyer/tags/directtags/{id}/trackingpixels

PUT /v3/buyer/tags/rtbtags/{id}/trackingpixels

Update a direct tag’s tracking pixels by tag ID.

Update an RTB tag’s tracking pixels by tag ID.

DELETE /v1/buyer/unifiedtags/{uuid}/externalscripts

PUT /v1/buyer/unifiedtags/{uuid}/externalscripts

The new endpoints only accept tag IDs. Tags V3 can accept multiple external scripts. To update a tag's external scripts, use the endpoints:

PUT /v3/buyer/tags/directtags/{id}/externalscripts

PUT /v3/buyer/tags/rtbtags/{id}/externalscripts

Update a direct tag’s external scripts by tag ID.

Update an RTB tag’s external scripts by tag ID.

GET /v1/buyer/unifiedtags/{uuid}/script

The new endpoints only accept tag IDs. To retrieve a direct tag's script, use the endpoint:

GET /v3/buyer/tags/directtags/{id}/script

Retrieve a direct tag's script by tag ID.

POST /v1/buyer/unifiedtags/scripts

The new endpoints only accept tag IDs. To retrieve a direct tag's script, use the endpoint:

GET /v3/buyer/tags/directtags/{id}/script

Retrieve a direct tag's script by tag ID.

POST /v1/buyer/unifiedtags/grouped/scripts

The new endpoints only accept tag IDs. To retrieve a direct tag's script, use the endpoint:

GET /v3/buyer/tags/directtags/{id}/script

Retrieve a direct tag's script by tag ID.

GET /v1/buyer/unifiedtags/operation/{uuid}

This endpoint is no longer relevant because Tags V3 doesn't support most of the previous bulk endpoints.

GET /v1/buyer/unifiedtags/create-operation/{uuid}

This endpoint is no longer relevant because Tags V3 doesn't support most of the previous bulk endpoints.

New Features Introduced With Tags V3

  • Endpoint categorization based on the line item type, separating direct and RTB tags. This makes tag creation easier, because the request body now contains only the parameters that apply to either direct or RTB tags.

  • ClockNumber parameter for RTB tags. A clock number is a unique alphanumeric number that identifies a video ad and its source. It is used to ensure that a video ad complies with the requirements of UK broadcasters detailed in the UK Codes of Advertising.

  • Possibility to synchronize the tag name with the ad name using the updateName flag. This flag can be used to ensure that the tag name will always reflect the ad assigned to it.

Breaking Changes

See the new authorization scopes as well as request samples and field parameters that change when migrating from Unified Tags (V1) to Tags V3.

Authorization

To make API requests to Tags V3, you need a valid bearer token with appropriate scopes:

Previous Scopes

New Scopes

https://api.adform.com/scope/buyer.unified.tags: Yields full access to the API.

https://api.adform.com/scope/buyer.unified.tags.readonly: Yields read-only access to the API.

https://api.adform.com/scope/tags.direct: Yields full access to the direct tags endpoints of the API.

https://api.adform.com/scope/tags.direct.readonly: Yields read-only access to the direct tags endpoints of the API.

https://api.adform.com/scope/tags.rtb: Yields full access to the RTB tags endpoints of the API.

https://api.adform.com/scope/tags.rtb.readonly: Yields read-only access to the RTB tags endpoints of the API.

https://api.adform.com/scope/tags.readonly: Yields read-only access to list endpoint of the API.

For more information about authorizing with Adform APIs, see the Authorization Guide.

Create Tags

Unified Tags endpoint POST /v1/buyer/unifiedtags is replaced by Tags V3 endpoints POST /v3/buyer/tags/directtags and POST /v3/buyer/tags/rtbtags. Use the new endpoints to create a new direct or RTB tag. See the changes in the request body and the changed parameter described below.

Update Tags

Unified Tags endpoint PUT /v1/buyer/unifiedtags is replaced by Tags V3 endpoints PUT /v3/buyer/tags/directtags/{id} and PUT /v3/buyer/tags/rtbtags/{id}. Use the new endpoints to update various tag parameters. However, Tags V3 doesn't provide httpsEnabled and universalId parameters. See the changes in the request body and the new or changed parameters described below.

Retrieve Tags

Unified Tags endpoint GET /v1/buyer/unifiedtags/single/{id} is replaced by Tags V3 endpoints GET /v3/buyer/tags/directtags/{id} and GET /v3/buyer/tags/rtbtags/{id}. Use the new endpoints to retrieve a tag by tag ID. However, Tags V3 doesn't provide httpsEnabled and universalId parameters. See the changes in the response body and the new or changed parameters described below.

Update Tag's Destination URLs

Unified Tags endpoint PUT /v1/buyer/unifiedtags/{uuid}/destinationurl is replaced by Tags V3 endpoints PUT /v3/buyer/tags/directtags/{id}/destinationurls and PUT /v3/buyer/tags/rtbtags/{id}/destinationurls. Use the new endpoints to update a tag's destinationurl. See the changes in the request body and the new parameters described below.

Replace Direct Tag's Line Items

Unified Tags endpoint PUT /v1/buyer/unifiedtags/{uuid}/lineitem is replaced by Tags V3 endpoint PUT /v3/buyer/tags/directtags/{id}/lineitem. Use the new endpoint to replace the baseLineItemId of a direct tag. See the changes in the request body and the changed parameter described below.

Update Tag's Settings

Unified Tags endpoints PUT /v1/buyer/unifiedtags/{uuid}/servingproperties and PUT /v1/buyer/unifiedtags/{uuid}/name are replaced by Tags V3 endpoints PUT /v3/buyer/tags/rtbtags/{id}/settings and PUT /v3/buyer/tags/directtags/{id}/settings. Use the new endpoints to update the settings of a direct or an RTB tag, including the tag name. However, Tags V3 doesn't provide httpsEnabled parameter. See the changes in the request body and the changed or new parameters described below.

Replace Tag's Ad

Unified Tags endpoint PUT /v1/buyer/unifiedtags/{uuid}/ad is replaced by Tags V3 endpoints PUT /v3/buyer/tags/rtbtags/{id}/ad and PUT /v3/buyer/tags/directtags/{id}/ad. Use the new endpoints to replace the ad of a direct or an RTB tag. See the changes in the request body and the new parameter described below.

Retrieve Tags List

Unified Tags list accepted only tag UUIDs while the Tags V3 endpoint POST /v3/buyer/tags/list is designed to retrieve an array of existing tags based on specified filters. These newly added filters include campaignId, baseLineItemIds, adUuid, active, tagIds, tagUuids, name and type. See the changes in the request body and the new parameters described below.

Retrieve Direct Tag's Script

Unified Tags endpoint GET /v1/buyer/unifiedtags/{uuid}/script is replaced by Tags V3 endpoint GET /v3/buyer/tags/directtags/{id}/script. Use the new endpoint to retrieve a direct tag's script by tag ID. You can also provide value for gdprEnabled query parameter to enable or disable GDPR values in tag’s script URLs when calling this endpoint.

Name

Required or Optional

Description

Direct or RTB

Example Value

Type

gdprEnabled

Optional

A value that indicates whether to add GDPR values to direct tag’s script URLs.

Direct

false

Boolean

However, Tags V3 doesn't return lightScript, campaignId and mediaId properties like Unified Tags did with POST /v1/buyer/unifiedtags/grouped/scripts and POST /v1/buyer/unifiedtags/scripts endpoints. In Tags V3, script is the same as Lightscript was in Unified Tags. In addition, Tags V3 direct tag script endpoint accepts and returns direct tag scripts for a single tag ID at a time. See the changes in the response body and the changes or new parameters described below.

Was this article helpful?

/
How we can make it better?

Thank you for your feedback!