Hi Developers,
Earlier this year, we rolled out Immersive Ads as a new monetization opportunity for publishers and a new way for advertisers to reach their audience on Roblox. Today we are testing a new ad format, Video Ads, which we expect will increase developer payouts and advertiser value per impression.
Test Details
Starting today, some 13+ users will start seeing Video Ads in experiences. Experiences that have Image Ad units will start showing Video Ads in those ad units to eligible users. During this test, all pre-existing Image Ad units are eligible to show both Image and Video Ads by default. To opt out of showing Video Ads, you can change the EnableVideoAds property on the AdGUI Instance.
Users under the age of 13 do not see Ads on Roblox. During the first few weeks, we will test Roblox-created Video Ads and pay a revenue share to experiences that show these ads. Later in November and through December, we will start showing ads from brands. We expect the Video Ads test to run for several months. Please note, given how early it is, we expect payouts for Video Ads to fluctuate until budgets are stabilized.
User Experience
Users who are in the test will see the following:
- Video will play only after the user views the video ad for at least 0.5 seconds to signal intent.
- Video plays muted by default unless user unmutes or opens the video in full screen.
- Opening the video in full screen will unmute the video.
- When a video is unmuted and user walks away from the screen, the volume is proximity based.
- Video is not clickable (does not link to a webpage or other CTA).
All video ad content will be subject to the Roblox Advertising Standards.
Developer Experience
Developers that have Image Ad units and have not opted out will start showing Video Ads to eligible users in the test; these developers will start to earn based on these Video Ads.
Earning from the Video Ad Format
Publishers have the opportunity to earn in two ways:
-
Video impression: 2 second video view following the criteria below (applies during the test and subject to change)
- Ad should occupy at least 1.5% of screen size.
- The angle between an ad and the plane is at most 55 degrees.
- Greater than or equal to 50% of the pixels in the advertisement are viewable.
- Video pixels are rendered and play for 2 total seconds.
-
Video completion: A video that is watched from start to finish for the full 15 second duration while satisfying the above impression viewability criteria
Roblox plans to split Video ad budgets equally to pay for video impressions and video completions. Payouts for video impressions will be shown on the Creator Dashboard and paid out automatically on the 25th day of the following month. Payouts for video completions will not be shown in the Creator Dashboard (during this test) but will be paid out the following month through deposits into the Roblox user account that owns the experience (or the group). Longer-term, we plan to include new metrics including video completion metrics in Ads Manager and will automate all payouts.
Rewarded Video
To incentivize users to watch the full 15 second video, developers may choose to implement a reward mechanism in their experience using the AdEventType API. Developers can grant in-experience currency or an in-experience item to reward users who watch the full 15 second video. Because Video Ads will only be served to 13+ users, those under the age of 13 will not be eligible for the experience’s reward since they will not see any ads on Roblox.
Note: Video Impressions and Video Completions must happen while the player is active. Manipulation of idle user state in the server to inflate ad impressions and completions will result in removal from the test. If your API implementation creates a risk to users or Roblox, we reserve the right to revoke your participation in the test.
Below is an example snippet that can be placed in a Server Script:
local function grantReward(PlayerId)
-- grant an in-game reward
end
local AdGui = script.Parent
AdGui.OnAdEvent = function(eventData)
local AdEventType = eventData.AdEventType
local PlayerId = eventData.PlayerId
if AdEventType == Enum.AdEventType.UserCompletedVideo then
grantReward(PlayerId)
return true
end
return false
end
What to expect next
We are excited about testing Video Ads on Roblox and expect to learn and iterate on the product in preparation for launching globally.
Please note that not all users are eligible to see Video Ads and not all developers are eligible to show Immersive Ads in experiences. We are working on the latter and should have updates in the coming weeks. Finally, if you are a developer who is eligible to show Immersive Ads and wants to show Video Ads, make sure you have an Image Ad unit in your experience.
Thank you.