You can now manage instream video monetization directly from the platform. This guide explains how to create and configure your instream adunits, and map your bidders.
β What is Instream Monetization?
Instream monetization lets you serve video ads through a programmatic workflow based on Prebid and GAM. The entire setup of adunit is integrated into the platform β no manual coding required.
You only need to call a dedicated function to trigger an auction before your initialize your video player.
It works with any video player and supports both server-side and client-side bidders.
π Activation
To access instream, your account must have the Instream feature enabled.
If you donβt see the options described below, please contact your CS or Country manager.
π§± 1. Create an Instream Adunit
Go to Ad units > add Adunit
Set Identification and devices section.
Choose the type: Instream
By default, the adunit includes:
- Size: 640Γ480
- Duration: min 1 sec, max 30 sec
You can then configure the video-specific settings:
You can expand the Advanced settings section to configure your video playback behavior:
Option | Description |
---|---|
Start playing when | Choose when the ad should start (e.g. page load with sound off) |
Position on screen | Define where the player appears (optional) |
Allow skippable ads | Enable or disable skip functionality |
Placement (plcmnt) | Choose between Instream or Accompanying content |
Video bitrate settings | Set a min and max bitrate (e.g. 750β6000 kbps) |
Protocols allowed | Select which video standards are accepted (VAST 2/3/4, VPAID, SIMID) |
π 2. Add Bidders
Once the adunit is created, go to the Mapping section to add bidders.
- You can use client-side or server-side bidders.
- For each bidder, enter the required
bids.params
values (like placement ID, zone IDβ¦).
βοΈ 3. Deploy in a Stack
To activate your adunit:
- Make sure it is included in a live stack
- Ensure the stack is deployed
β If the adunit is not linked to a deployed stack, it wonβt be initialized on page load.
π» 4. Trigger the Auction with kleanads.monetize()
On the page, you must call the kleanads.monetize()
function to launch the auction and get the targeting values used to call GAM.
monetize()
returns the targeting object- You must pass this info to your player or GAM via macros (
cust_params
) - The ad is then played using the wrapped VAST
More details - Pubstack generic Instream integration
π 5. Analytics
Basic metrics are available in your platform dashboards:
- Impressions
- Revenue
- CPM
These are tracked via events injected into the VAST.
More video-specific KPIs (quartiles, errors, playback events) will be added in a future update.
π§ͺ 6. Troubleshooting
If your instream ad is not displaying or not monetizing correctly, here are the most common issues to check:
Issue | What to check |
---|---|
β Ad is not showing | Ensure the monetize() function is called before the player is initialized. |
β No bid is returned | Make sure the adunit is correctly mapped to at least one bidder. |
β GAM call is missing | Verify that the targeting object returned by monetize() is passed to GAM (via cust_params or macro). |
β Adunit not monetized | Confirm the adunit is part of a live and deployed stack. |
β Instream option not visible in UI | Check that the Instream feature flag is enabled for your account. |
βΉοΈ If everything looks correct and the issue persists, contact your TAM or open a support request through the platform.