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:
- Define your needs – Reach out to your Dailymotion Account Manager to discuss in detail your targeting needs and your specifications
- 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 |
Ad macro example
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:
AdForm | Brightroll | Google Ad Manager | Nexx360 |
Smart Ad Server | SpotXchange | Springserver | SunMedia |