Immersive Ads: Video Ad Format

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:

  1. 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.
  2. 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
local AdGui = script.Parent
AdGui.OnAdEvent = function(eventData)
	local AdEventType = eventData.AdEventType
	local PlayerId = eventData.PlayerId
	if AdEventType == Enum.AdEventType.UserCompletedVideo then
		return true
	return false

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.


This topic was automatically opened after 10 minutes.

With VideoFrames, we currently have a limit of two videos playing at the same time, which afaik was due to performance concerns. Do these video ads count towards that limit? Are there any other performance considerations to take into account with this?


Great to hear more formats are coming, however what is noticeably missing is how much money we’ll be getting from this.

Current ad CPM rates are abysmal, well over 20x below the industry average of 4$ CPM (roblox is offering 20 cent CPM here).

Along with this, the % cut that roblox takes has still not been shared despite multiple complaints. Extremely disappointing.


This is pretty neat.

So historically we had paid ads just like this one, and the final result was that a set of users basically forced their users to watch ads to continue playing. Is there official guidance on what is, and isn’t allowed mechanically with these new types of ads?


Remember when roblox had mobile ads on mobile?


A few questions, first, are video ads counted in the 2 synchronous videos restriction, or does it use a separate ruleset.

Secondly, would it be possible to block video ads specifically in cases of low bandwidth or memory capacity. I’m not asking for an adblock, just the ability to disable video ads and have it fallback to image based ones.

The main question, given that Roblox wants to make ad-based incentives for players, how will this be restricted to stop abuse. I dont want the top game in a few years to be “Flex your ads watched minutes”


Sounds like Roblox wants developers to make ad rewards an actual feature in their game, for example being able to get an xp boost if you watch a full advertisement for it. One that is actually put in your face to fit the viewport so it actually counts as you watching it.
Is this actually the case? Are there any rules for where a video ad can be placed and how it can be used in an experience?


To further allow players to control their ad experience, I would love to see a feature introduces which allows an ad be requested to play, i.e. A game such as an obby can allow the user to choose to watch an ad to skip a level.

This ability to request ads being shown would allow the user to chose when they want to see an ad, but by giving them the choice they would be more likely to watch the ad.

Of course, rules on their implementation would need to be added such as a limit on how many ads the user can request per minute, etc but I’m sure the roblox player base would self-moderate this as players won’t want to be playing games which have pop-up ads every minute.


What occurs if a user / experience is not eligible to view immersive ads / an image ad is selected instead of a video ad? Does this event simply not fire; why is there a return of true / false? All of this isn’t documented in this new API. My biggest concern is around image ads, I can’t advertise to eligible players that “they can watch an ad for an in-experience reward” because Roblox very-well may display an image ad instead.

Also, is there any way to force a user out of a full screen interaction / detect a full-screen interaction with an immersive ad (even if it means sacrificing payouts). There are many cases in where immersive ads are in “lobbies” of an experience; preferably a user should either not be teleported into a game while watching an immersive ad, or more preferably; the experience should be able to force the player out of the immersive ad before teleport.


I would like to see additional ways of integrating immersive ads into our games. For a feature called “immersive ads” they really aren’t all that great at immersing themselves in our games.

For example, I find it extremely annoying that when no ad is showing, a simple grey screen with a Roblox logo on it is shown. However, from my testing, I’m unable to display a custom asset over the ad gui while it’s in this state without invalidating it.

Some sort of API event that fires when an ad is ready to play on a specific ad gui would be extremely beneficial, so that custom assets can be hidden while the ad is showing.


AdGui.FallbackImage? or do you mean something else


From a player standpoint:
This update sucks! Now I am going to be watching mobile game ads all the time to play my favourite games…

From a developer standpoint:
Honestly this is a mid update. Revenue from ads is still not so good but I hope this can somewhat improve on that. Furthermore, the revenue you get from immersive ads is ridiculous, as stated in several posts across the forum and even in this thread.

This might help with retention considering the fact that you would be able to implement an ad video if you say want to skip a stage or get extra money etc. I think that would help keep players in your game.


FallbackImage is one thing, but I’d like to be able to display more dynamic effects on top of an inactive ad, such as a SurfaceGui with my own art directed video playing on it. Attempting to do this currently will invalidate the ad and disallow ads from playing on it.


Dont tell me that ads have volume on by default…


NOOOO it’s finally coming out :sad: :sob:


As a player, I hope that this functionality will not turn into “Advertising that takes up the entire screen that you can’t get past” like Youtube for example. Because that would be truly Horrible.

I sincerely hope that advertising in Roblox remains optional and not obligatory.


I do appreciate the additional revenue steam for developers, but I am going to continue to reiterate how detrimental it is that share cut data is not publicly shared. This isn’t something we should have to beg for, it is an industry standard practice and a baseline of transparency to share pay cut.


totally not gonna be abused at all…
you say you’ll revoke it shall things go wrong but let’s be real- that’s not gonna happen as long as it brings in money…

there are 100% going to be devs who make these frequent or forced

  • [player joins] → [ad appears before menu screen]
  • [player’s casually playing] → [“unlock this stage by watching an ad!”]
  • [loop plays to give an ad every 5 minutes]

roblox is gonna become the app store / google play store… every game is filled with ads
“don’t want 10 ads a second? buy this gamepass to remove ads!”


I love this update, its honestly sick, I think this is one of the best ways to put advertisements on a game, by making them part of the environment, Can’t wait to see people build city maps and put billboards with these ads.