FreeWheel

Learn how to define the following FreeWheel ad configurations:

FreeWheel Ad Requests

Upon setting the Server URL parameter, our service constructs the following GET request in order to request ads for your content:

http://[customerId].v.fwmrm.net/ad/g/1?[globalParams];[keyValues];[ParamsForSlot1];[ParamsForSlot2];...;[ParamsForSlotN];

The query string for the above request is constructed according to the parameters passed to our service as described below.

Toggling Ad Units

Ad placement is handled slightly different between live and on-demand streaming.

Live Streaming

Toggle ad units by setting the Ad Units parameter (ad.slau) to a comma-separated list of ad unit types. Only ad unit types that are defined within this parameter will be requested.

Example:

The following value will only request mid-roll ads during this playback session of the live stream.

ad.slau=,midroll

On-Demand Content

By default, ads will be requested for pre-roll, mid-roll, and post-roll ad units.

FreeWheel Ad Parameters

This section describes parameters that our service will insert into the GET request sent to the FreeWheel ad server.

Name

Parameter

Description

Server URL

ad.serverurl

Required

Defines the base URL to the desired FreeWheel ad decision server.

Example:

ad.serverurl=http://g1.v.fwmrm.net/ad/p/1?

A default value for this parameter may be defined from within the CMS. Take advantage of this functionality to avoid exposing your FreeWheel custom ID.
Learn how to set a default value for this parameter.

This parameter takes precedence over the Customer ID parameter (ad.customer_id).

Location Description (Custom Site Section ID)

ad.locationDesc

Required

Defines a description for the playback location.

Example:

ad.locationDesc=web

Learn how to set a default value for this parameter.

This parameter takes precedence over the Custom Site Section ID parameter (ad.csid).

Network ID

ad.nw

Required

Sets the distributor’s FreeWheel network ID (adRequest@networkId).

Example:

ad.nw=14611

Learn how to set a default value for this parameter.

Player Profile

ad.prof

Required

Sets the player's profile (adRequest@profile).

Example:

ad.prof=14611:Vod

Learn how to set a default value for this parameter.

Maximum Pre-Roll Ads

ad.pre_maxads

Sets the maximum number of pre-rolls ad units that may be returned by the ad server.

Minimum Pre-Roll Duration

ad.pre_mind

Sets the minimum duration, in seconds, for pre-roll ad units within a live stream. This duration is only used when the duration of the ad unit is unknown.

This parameter only supports integers.

Example:

ad.pre_mind=15

Maximum Pre-Roll Duration

ad.pre_maxd

Sets the maximum duration, in seconds, for pre-roll ad units within a live stream.

This parameter only supports integers.

Example:

ad.pre_maxd=50

Pre-Roll Duration

ad.predur

Required for Live Streaming Only

Sets the duration, in seconds, of a live stream's pre-roll ad unit.

Example:

ad.predur=45

Duration

ad.rdur

Defines a default duration. This duration is only applicable for ad breaks without an explicitly defined duration.

Default Value:

240

Example:

ad.rdur=120

Minimum Mid-Roll Duration

ad.mind

Sets the minimum duration, in seconds, for mid-roll ad units within a live stream. This duration is only used when the duration of the ad unit is unknown.

This parameter only supports integers.

Example:

ad.mind=15

Default Value:

The default minimum duration is set by the Duration parameter (ad.rdur). If it is not set, then the default duration is determined by the duration passed to the Live Slicer.

Maximum Mid-Roll Duration

ad.maxd

Sets the maximum duration, in seconds, for mid-roll ad units within a live stream.

This parameter only supports integers.

Example:

ad.maxd=50

Default Value:

By default, the maximum duration is the duration passed to the Live Slicer.

Use Live Break Duration

ad.ulbd

Sets ad unit duration for on-demand content to the duration defined when the source live stream was sliced. Set this parameter to 1.

Example:

ad.ulbd=1

Mode

ad.mode

Overrides the default request mode (adRequest@mode) for ad units. Valid values are:

live | ondemand

Learn how to set a default value for this parameter.

Flags

ad.flags

Enables one or more flag(s) that define the player's capabilities.

This value should be URL encoded.

The set of flags that will be enabled varies by syntax.

  • Append Flags: Enable specific flags along with the default set of flags by setting this parameter to the desired set of flags.

    Example:

    ad.flags=+play+sync
  • Specified Flags Only: Only enable specific flags by setting this parameter to a colon followed by the desired set of flags.

    Example:

    ad.flags=:+amcb

    The Advanced Callbacks parameter (ad.ametr) determines whether FreeWheel will use impressions with advanced callbacks instead of quartile callbacks. If you choose to only enable specific flags, then the Advanced Callbacks parameter will only work when you include the Advanced Callbacks flag (amcb).

    The plus symbol (+) in the above examples represent URL-encoded spaces.

Please refer to FreeWheel's documentation for more information (e.g., valid flag combinations).

Default Value:

+slcb+sltp+fbad+qtcb+vicb+emcr

Suppress supportsSlotTemplate

ad.suppress_pre_sltp

Removes supportsSlotTemplate from the pre-roll ad request. The supportsSlotTemplate sub-element allows the Freewheel ad server to generate slots and deliver ads according to the Commercial Break Pattern settings.

Advanced Callbacks

ad.ametr

Allows FreeWheel to use impressions with advanced callbacks. Set this flag to 1.

FreeWheel may not be configured to use impressions with both advanced and quartile callbacks.

By default, the Flags parameter includes the Requires Quartile Callback URLs flag (qtcb). Override the default value to enable the Advanced Callback flag instead of the Requires Quartile Callback URLs flag.

Example:

ad.ametr=1

HyLDA

ad.hylda

Activates FreeWheel’s HyLDA feature. Set this flag to 1.

Use this flag with the Acid flag.

Upon enabling these flags, the system will automatically generate: aiid, abid, and abwct.

Example:

ad.hylda=1

Acid

ad.acid

Adds Acid as a value in the HyLDA keyword.

This parameter is only applicable when the HyLDA flag has been enabled.

Example:

ad.acid=Acid

Default Ad Capabilities

ad.metr

Defines the default capabilities for all ads. Set this parameter to an integer that maps bits to capabilities.

Please refer to FreeWheel's documentation on the metr parameter for more information.

Example:

ad.metr=8

Default Value:

7

Asset Network ID

ad.asnw

Adds a video asset network ID (videoAsset@videoAssetNetworkId) to the FreeWheel GET ad request.

Learn how to set a default value for this parameter.

Example:

ad.asnw=14611k

Custom Asset ID

ad.caid

Sets the custom asset ID (videoAsset@customId) that will be included with the FreeWheel GET ad request.

Syntax:

  • @[Key-Value-Name]: Sends the value assigned to an asset's key-value pair to FreeWheel.

    Example:

    ad.caid=@custom_id
  • $[Field-Name]: Sends the value defined within an asset's metadata field to FreeWheel.

    Example:

    ad.caid=$my_custom_id_field
  • Custom Value: Sends a custom value to FreeWheel.

    Example:

    ad.caid=Asset123456

Default Value:

By default, the custom asset ID sent to FreeWheel is determined by the first available value from the following list:

  1. The external ID defined in the asset's metadata (asset.ad_meta.external_id)
  2. Asset's external ID (asset.external_id)
  3. Asset ID (asset.id)

Key-Value Pairs

ad.kv

Passes or retrieves key-value pair(s) using the FreeWheel GET ad request.

By default, use a comma to delimit:

  • A key from a value.
  • Key-value pairs

Retrieve a field value by using the "$" macro. For example, ad.kv=genre,$genre will attempt to retrieve the value assigned to the "genre" field for the current asset.

Use the Key-Value Separator parameter (ad.kvsep) to define a different delimiter.

Example:

ad.kv=key_1,value_1,key_2,value_2

Key-Value Separator

ad.kvsep

Determines the delimiter that must be used when defining key-value pairs through the Key-Value Pairs parameter.

Example:

ad.kvsep=/

Default Value:

,

Site Section Network ID

ad.ssnw

Sets the site section network ID (siteSection@siteSectionNetworkId) included with the FreeWheel GET ad request.

Example:

ad.ssnw=112233

Learn how to set a default value for this parameter.

Video Asset Fallback ID

ad.afid

Sets the video asset fallback ID (videoAsset@fallbackId) included with the FreeWheel GET ad request. This ID is used when an ad request's video asset ID is not recognized.

Example:

ad.afid=AssetFallBackId

Learn how to set a default value for this parameter.

Visitor Custom ID

ad.vcid

Sets the visitor's custom ID included with the FreeWheel GET ad request. This ID is the equivalent to the visitor/@customId attribute in the XML request.

Example:

ad.vcid=CustomVisitorID

Learn how to set a default value for this parameter.

This parameter takes precedence over the End-User ID parameter (ad.euid).

Site Section Fallback ID

ad.sfid

Sets the site section fallback ID included with the FreeWheel GET ad request. This ID is used when an ad request's site section ID is not recognized.

Example:

ad.sfid=global

Learn how to set a default value for this parameter.

Pre-Roll Ad Unit

ad.preroll

Requests a pre-roll ad unit. Set this parameter to 1.

Example:

ad.preroll=1

Default Value:

0

Ad Units

ad.slau

Determines whether pre-roll, mid-roll, and post-roll ad units will be requested from FreeWheel.

Valid values are:

  • preroll
  • midroll
  • postroll

Asset Duration

ad.vdur

Overrides an asset's duration (videoAsset@duration).

Example:

ad.vdur=3600

Default Value:

By default, this duration is determined by the CMS asset.

Tag (FreeWheel Ad Request)

ad.tag

Sets a FreeWheel GET ad request URL that will be used instead of a POST Smart XML request.

Example:

ad.tag=http://demo.v.fwmrm.net/ad/g/1?flag=+emcr+slcb+sltp&nw=96749&prof=global-as3&csid=CBPTestSite.02&caid=[CUSTOM_ASSET_ID]&vdur=[VIDEO_DURATION]&resp=xml;module=DemoPlayer&feature=simpleAds;

Primary Content Type

ad.prct

Defines a global primary content type for all non-temporal, user-generated ad units.

Override this global value for a specific ad unit by assigning it a primary content type.

Example:

ad.prct=text/html_lit_js_wc_nw

Default Value:

text/html_lit_js_wc_nw

Client IP Address

ad.vip

Overrides the client's IP address that will be included with the FreeWheel GET ad request.

This parameter is typically used for testing.

Example:

ad.vip=192.168.1.1

Default Value:

The IP address of the device that requested the playback of your content.

Client Referrer

ad._fw_h_referer

Overrides the Referer header value that will be included with the FreeWheel GET ad request.

This value should be URL encoded.

Example:

ad._fw_h_referer=http://www.sampledomain.com

Default Value:

By default, the value of the Referer header included with the playback request will be included with the FreeWheel GET ad request.

Client User Agent

ad._fw_h_user_agent

Overrides the value of the User-Agent header that will be included with the FreeWheel GET ad request.

This value should be URL encoded.

Example:

Default Value:

By default, the playback request's User-Agent header value will be included with the FreeWheel GET ad request.

Customer ID

ad.customer_id

Required when Server URL is undefined.

The Server URL parameter (ad.serverurl) takes precedence over this parameter. This parameter should not be specified if you plan on passing the Server URL parameter.

Sets the fourth-level domain, as indicated by [customerId] below, in the FreeWheel GET ad request.

FreeWheel GET ad request:

http://[customerId].v.fwmrm.net/ad/g/1

Example:

ad.customer_id=demo

This example configures the FreeWheel GET ad request URL to: http://demo.v.fwmrm.net/ad/g/1.

Custom Site Section ID

ad.csid

Required when Location Description is undefined.

The Location Description parameter (ad.locationDesc) takes precedence over this parameter. This parameter should not be specified if you plan on passing the Location Description parameter.

Defines a description for the playback location.

Example:

ad.csid=web

End-User ID

ad.euid

The Visitor Custom ID parameter (ad.vcid) takes precedence over this parameter. This parameter should not be specified if you plan on passing the Visitor Custom ID parameter.

Sets the custom visitor ID included with the FreeWheel GET ad request. This ID is the equivalent to the visitor/@customId attribute in the XML request.

Example:

ad.euid=CustomVisitorID
Skip Preroll skippreroll

If the ad.preroll=1 URL parameter is specified in the Uplynk playback URL, the URL parameter skippreroll=1 forces Uplynk to look ahead in the stream and skip the pre-roll ad if the mid-roll is within 60 seconds of the stream start.

skippreroll=1

Enabling FreeWheel Video View Feature

The parameter to enable FreeWheel's Video View by Callback feature differs depending on which version of the ping API will be used. This feature requires that you use the Preplay and Ping APIs.

This feature also requires that you use the Smart XML response type as Video Views are not supported by VAST.

FreeWheel Creative Parameters

An ad response sent by FreeWheel may include creative parameters, such as the ones listed below:

Creative parameters provided with an ad response are automatically included in preplay and ping responses to the client. The client may then leverage these parameters for use with a custom integration (e.g., Integration of FreeWheel with Moat Analytics).

Ad Configuration

An ad configuration allows you to define default values for use with third-party ad servers (e.g., FreeWheel).

Define an ad configuration by performing the following steps:

  1. Navigate to the Ad Server page. ClosedHow?From the main menu, navigate to Settings | Ad Server .
  2. Click + Ad Config.
  3. In the Ad config name option, type the name that will be assigned to your ad configuration.
  4. From the Select ad server option, select "FreeWheel."
  5. Click Create
  6. In the serverURL option, type your FreeWheel GET ad request URL.
  7. In the networkID option, type the distributor’s FreeWheel network ID (adRequest@networkId).
  8. Define default values for any other desired FreeWheel parameters.
  9. Click Save.