Table of content

Improve ad targeting using ad macros


What are advertising macros?

An ad macro is a placeholder you can add in your VAST ad tag and which will dynamically insert values before the ad is served to your Player.

These ad macros are using tag variables, which are predefined values that can be used to pass information about the content, the user or the device.

Ad macros allow Dailymotion to optimize fill rate and ad targeting on your content inventory.

Implement ad macros

Ad macros can be implemented following these steps:

  1. Define your needs – Reach out to your Dailymotion Account Manager to discuss in detail your targeting needs and your specifications
  2. Define the right tag variables – Dailymotion will define the tags fitting your requirements and implement them in your VAST tag

Supported tag variables

The tables below provide a non-exhaustive list of tag variables that we support, and examples illustrating how they are replaced with real values at runtime in an ad request.

Ad request data

[CACHEBUSTING]The correlator parameter is used to associate multiple ad requests from the same page view, ensuring competitive exclusions, even without cookies.

– If the IMA SDK is used: The SDK automatically sets the value of the correlator. If your Player attempts to set it, the SDK will override it with its own value.
– If the IMA SDK is not used: You must set this parameter with a unique, positive, random integer value.

Example:
correlator=2843743232552991
${DMX_VPA}VPA = Video Play Automatic
Indicates if the ad starts with autoplay or on click.

Possible values are click if the ad waits for the user to click, or auto if it plays automatically.

Example:
Click: vpa=click
Autoplay: vpa=auto
${DMX_VPMUTE}Indicates whether the ad video was played with sound (0) or without sound (1).

Example:
vpmute=0
vpmute=1
${context.position}Indicates the ad position.

Possible values:
preroll midroll postroll

Example:
content.position=preroll
${context.realautoplay}Indicates if the ad is set to play automatically (1) or not (0)

Example:
context.realautoplay=0
context.realautoplay=1
${context.height}Height of the current creative in pixels.
${context.width}Width of the current creative in pixels.

GDPR

${reader.gdpr.flag}Indicates if GDPR is required (1) or not (0).
This must be used with the gdpr_consent macro below.

The IAB Europe Transparency Consent Framework must be implemented on your site/app for this macro to work.

Examples:
GDPR required: gdpr=1
GDPR not required: gdpr=0
${reader.gdpr.consent}User GDPR consent string.

Example:
gdpr_consent=CQHuct[...]AA.f_wACHwAAA

Player data

${context.embedder}The URL of the website on which the Player is embedded.

Example:
description_url=https%3a%2f%2fdailymotion.com
${context.publisher.reference}Indicates the Partner’s Player ID. Each Player has a unique ID that allows them to be identified.

Example:
context.publisher.reference=xbzld
${context.autoplay}Indicates if the Player starts automatically when the user is landing on the page, even if the Player is not visible.

Possible values are true if the Player starts automatically, or false if the Player does not start automatically.

Example:
context.autoplay=false
${context.playervolume}Indicates the volume at which the video is played:
– -1 indicates a video on mute
– 0 to 10 indicates the volume range

Content data

${owner.id}Dailymotion profile ID.

Example:
owner.id=20684807
${owner.name}Dailymotion profile name.

Example:
owner.name=canalplus
${content.id}The ID of the content.

Example:
content.id=560837706
${content.xid}The ID of the video.

Example:
content.xid=x99wp56
${content.title}Title of the video.

Example:
content.title=En décembre sur CANAL+
${content.description}Description of the content.

Example:
content.description=Your video description
${content.lang}Video language.

Example:
lang=fr
${content.tags}Keywords that Partner defined in their Dailymotion Studio to describe a video.

Example:
content.tags=cinéma,le cercle cinéma, canalplus
${content.type}The type of content.

Possible values:
vod or live

Example:
content.type=vod
${content.duration}Content duration in seconds.

Example:
content.duration=479
Note:

For optimal performance, only use tag variables supported by your ad server. See below the ad servers that Dailymotion supports.

More customization options:

If you have specific needs that go beyond standard macros, you can further optimize your ad targeting and dynamically send additional custom values through the Player parameters using our Custom Config solution.

Please contact your Dailymotion Account Manager for more information.

Ad macro example

Reminder:

As a publisher, you don’t have to handle variables. This process is entirely managed by our team.

Once you’ve defined your needs and communicated them to your Account Manager, Dailymotion will add dedicated tag variables in your VAST tag. For example, we might add ${context.embedder} and [CACHEBUSTING].

Your VAST with tag variables will look like this on Dailymotion side:

https://pubads.g.doubleclick.net/gampad/ads?description_url=${context.embedder}&correlator=[CACHEBUSTING]&iu=/123456/test&sz=640x360&env=vp&impl=s&gdfp_req=1&output=vast&unviewed_position_start=1

At runtime, the tag variables will dynamically be replaced with actual values.

For example, ${context.embedder} might be replaced by https://dailymotion.com and [CACHEBUSTING] might be replaced by a unique value like 2843743232552991, which will look like this:

https://pubads.g.doubleclick.net/gampad/ads?description_url=https%3a%2f%2fdailymotion.com&correlator=2843743232552991&iu=/123456/test&sz=640x360&env=vp&impl=s&gdfp_req=1&output=vast&unviewed_position_start=1

Supported ad servers

Dailymotion may integrate ad servers that are compliant with the IAB’s VAST standard. Dailymotion supports – but is not restrictive to – the following ad servers:

AdFormBrightrollGoogle Ad ManagerNexx360
Smart Ad ServerSpotXchangeSpringserverSunMedia