👋 Welcome
Getting Started
Sign Up & Add GamesSDK Setup & UpdatesSharing & PermissionsProducts
Popmall (Catalog)Music PlayerData Store EditorCustom EventsAnalyticsProduct OptimizationPopfeedBrand CollabCampaignsCampaign ControlSupport
Questions or FeedbackMetric DefinitionsSDK ChangelogAbout
Super Biz Campaigns are a collection of immersive campaign formats that help you easily monetize your game.
- About
- Billboards (Images, GIFs, Video)
- Step 1: Add the BloxbizSDK
- Step 2: Create an Ad Unit
- Step 3: Set up your Bloxbiz Config File
- Step 4: Use Brand Collab and Update Ads
- Editing Billboard Ad Fallbacks
- Loading Ad Units Dynamically
- DebugMode – check if impressions are being recorded
- GIF Ads
- Set a default to turn on/off GIF ads for all ad units
- Turn GIF ads on/off for specific ad units
- Dynamic loading and GIF ads
- Video Ads
- Set a default to turn on/off Video ads for all ad units
- Turn GIF ads on/off for specific ad units
- Dynamic Loading
- 3D Ads
- Step 1: Add the BloxbizSDK
- Step 2: Insert the Bloxbiz AdBox Unit
- Step 3: Setup your Bloxbiz Config File
- Step 4: Test 3D Ads
- Dynamically Loading 3D Ads
- Portal Ads
- Step 1: Add the BloxbizSDK
- Step 2: Allow Third Party Teleports
- Step 3: Insert the SuperbizPortalBox Unit
- Step 4: Setup your Bloxbiz Config File
- Step 5: Test Portal Ads
- Dynamically Loading Portal Ads
Billboards (Images, GIFs, Video)
Step 1: Add the BloxbizSDK
First make sure you have 1) signed up and 2) set up your SDK.
Step 2: Create an Ad Unit
You can either use a Bloxbiz template ad model or create your own.
Use a template ad model:
- Search for “BloxbizAM” in the Toolbox Models (Toolbox > Marketplace > Models).
- Insert one of the Bloxbiz ad models into your game (they’ll have “AM” in the name).
- https://www.roblox.com/library/5967212804/BloxbizAM01
- https://www.roblox.com/library/5967214325/BloxbizAM02
- https://www.roblox.com/library/5967206576/BloxbizAM03
- https://www.roblox.com/library/5967208591/BloxbizAM04
- https://www.roblox.com/library/5967210402/BloxbizAM05
- https://www.roblox.com/library/8987732145/BloxbizAM06
- https://www.roblox.com/library/8987730668/BloxbizAM07
- Position the ad model so the SurfaceGUI is visible to players.
Or, create your own ad model:
- Add a new part or find a part in your game. (Note: MeshParts are not supported)
- Add a SurfaceGui to the part and rename it "AdSurfaceGui".
- Position the ad model so the SurfaceGUI is visible to players.
Step 3: Set up your Bloxbiz Config File
- In your Explorer, add a ModuleScript to Replicated Storage and name it "BloxbizConfig"
- Open "BloxbizConfig" and delete any code in the file
- Copy and paste the below code snippet into "BloxbizConfig":
- Replace where it says
Account ID
with your Bloxbiz Account ID - Replace where it says
Reference to Ad Model
with the reference to your ad model - To get the reference to your ad model, you’ll need to type out the file hierarchy of a part by looking at your Explorer. It should look similar to this:
workspace.BloxbizAM01.AdUnit
- You can include more than one ad model reference by separating them with commas. It should look similar to this:
workspace.BloxbizAM01.AdUnit, workspace.BloxbizAM02.AdUnit
- Each of your references must be unique. The ads will not work if there are two parts with the same name at the same level in your file hierarchy (like
workspace.part
andworkspace.part
) - In your references, do not include AdSurfaceGui
local BloxbizConfig = {}
BloxbizConfig.AccountID = Account ID
BloxbizConfig.Ads = {Reference to Ad Models}
-- Set to true to enable GIF ads by default for all ad models
BloxbizConfig.GIFAdsDefault = true
-- Set to true to enable Video ads by default for all ad models
BloxbizConfig.VideoAdsDefault = true
-- Set to true to test if impressions are being recorded correctly
BloxbizConfig.DebugMode = false
-- Ad fallbacks are shown when there is no paid ad to display
BloxbizConfig.AdFallbackURL = {
"rbxassetid://7196921719",
"rbxassetid://7196945935",
"rbxassetid://7196966158",
}
return BloxbizConfig
Now you game is setup and ready for ads.
Step 4: Use Brand Collab and Update Ads
Ad Control has been renamed to Brand Collab.
In the Super Biz Dev Portal, go to the Brand Collab. Use Brand Collab to easily to manage the content in your experience.
After you’ve uploaded all your decals, go back to studio and press “Update Ads” in the Bloxbiz Plugin. Then publish your game for the new ads to go live.
Check back once a week in the Ad Control and repeat Step 4 to participate in new campaigns.
Editing Billboard Ad Fallbacks
Ad fallbacks are images that are shown when there is no ad available to display. You can customize your ad fallback images in your BloxbizConfig.
If you include multiple ad fallback images, an image will be selected at random. If you don't include any images, there will be no fallback and the surface will appear blank.
In your BloxbizConfig, edit or add the following code:
BloxbizConfig.AdFallbackURL = {
"rbxassetid://7196921719",
"rbxassetid://7196945935",
"rbxassetid://7196966158",
...
}
Loading Ad Units Dynamically
Only if your game has streaming enabled and/or you load maps or assets dynamically, you'll need to load ad units dynamically.
For ad units that you load dynamically, you'll need to tell the SDK to turn a part into an ad unit in a server-side script (i.e. in a Script and not a LocalScript) with the following code:
local ServerScriptService = game:GetService('ServerScriptService')
local BloxbizAPI = require(ServerScriptService:WaitForChild('BloxbizSDK').PublicAPI)
BloxbizAPI.dynamicLoadBillboardAd(<Reference to AdUnit Part>)
If you have streaming enabled but are not dynamically loading assets on the server-side, you should do this immediately on startup. If you are loading assets dynamically on the server-side, you need to do this right after you load the parts on the server-side.
The BloxbizSDK will automatically handle dynamic loading on the client side and will also automatically handle dynamic unloading on both the client and server-side.
DebugMode – check if impressions are being recorded
After you've placed ads in your game, you can check if impressions are being recorded by changing the DebugMode
value to true
:
local BloxbizConfig = {}
...
-- Set to true to test if impressions are being recorded correctly
BloxbizConfig.DebugMode = true
return BloxbizConfig
When DebugMode is active, you'll see that ad placements are highlighted with a color that maps to values on a GUI along the bottom of the screen:
- Angle – the angle (a combination of horizontal and vertical) of an ad relative to the screen. A valid impression is only recorded for angles less than or equal to 55°.
- Time – the number of seconds exposed to an ad (note: the time displayed in the GUI will reset to 0 when an ad switches). A valid impression is 10 seconds of cumulative exposure time. For example, a player can view an ad for 5 seconds, look away, and then view it for another 5 seconds for a total of 10 cumulative seconds.
- Screen Coverage - the percentage of the screen covered by an ad. A valid impression is only recorded when an ad covers at least 1.5% of the screen.
When a value is green, that means it is in the range that qualifies for a valid impression. You can see the total count of impressions in the bottom right corner of the screen.
GIF Ads
GIF ads are up to 6 second GIFs that offer additional revenue. You can enable GIF ads for all, some, or none of the ad units within your game.
Set a default to turn on/off GIF ads for all ad units
By default, GIF ads will be turned off. You can change the default to on by setting the property GIFAdsDefault
to true
. Here is how:
local BloxbizConfig = {}
...
-- Set to true to enable GIF ads by default for all ad models
BloxbizConfig.GIFAdsDefault = true
return BloxbizConfig
You can override your default value by turn GIF ads on/off for a specific ad unit (see the next section).
Turn GIF ads on/off for specific ad units
You can turn GIF ads on or off for specific ad units and override the GIFAdsDefault
value. Here is an example:
local BloxbizConfig = {}
...
BloxbizConfig.Ads = {
{
partInstance = workspace.AdPart2,
GIFAdsEnabled = true
},
{
partInstance = workspace.AdPart3,
GIFAdsEnabled = false
},
workspace.AdPart4 -- if you don't supply here, it will use the default value
}
return BloxbizConfig
Dynamic loading and GIF ads
If you are dynamically loading ad units, you can turn GIF ads on/off for those ad units or use the default value:
local ServerScriptService = game:GetService('ServerScriptService')
local BloxbizAPI = require(ServerScriptService:WaitForChild('BloxbizSDK').PublicAPI)
BloxbizAPI.dynamicLoadBillboardAd({
partInstance = workspace.AdPart2,
GIFAdsEnabled = true
})
BloxbizAPI.dynamicLoadBillboardAd(
workspace.AdPart3 -- if you don't supply here, it will use the default value
)
Video Ads
Video ads are 6-15 second videos that offer additional revenue and pay more than image and GIF ads.
Video ads use the same technology as GIF ads, but with audio. By default, the audio is off and then players can click on the ad to turn audio on or off.
Video ads can be turned on/off in the same way as GIF ads – you can enable Video ads for all, some, or none of the ad units within your game.
Set a default to turn on/off Video ads for all ad units
By default, video ads will be turned off. You can change the default to on by setting the property VideoAdsDefault
to true
. Here is how:
local BloxbizConfig = {}
...
-- Set to true to enable Video ads by default for all ad models
BloxbizConfig.VideoAdsDefault = true
return BloxbizConfig
You can override your default value by turn Video ads on/off for a specific ad unit (see the next section).
Turn GIF ads on/off for specific ad units
You can turn video ads on/off for specific ad units and override the VideoAdsDefault
value. Here is an example:
local BloxbizConfig = {}
...
BloxbizConfig.Ads = {
{
partInstance = workspace.AdPart2,
VideoAdsEnabled = true
},
{
partInstance = workspace.AdPart3,
VideoAdsEnabled = false
},
workspace.AdPart4 -- if you don't supply here, it will use the default value
}
return BloxbizConfig
Dynamic Loading
If you are dynamically loading ad units, you can turn video ads on/off for those ad units:
local ServerScriptService = game:GetService('ServerScriptService')
local BloxbizAPI = require(ServerScriptService:WaitForChild('BloxbizSDK').PublicAPI)
BloxbizAPI.dynamicLoadBillboardAd({
partInstance = workspace.AdPart,
VideoAdsEnabled = true
})
BloxbizAPI.dynamicLoadBillboardAd(
workspace.AdPart -- if you don't supply here, it will use the default value
)
3D Ads
3D ads go beyond billboards and allow brands to advertise engaging experience for players like NPCs and other interactive 3D models.
Step 1: Add the BloxbizSDK
First make sure you have 1) signed up and 2) set up your SDK.
Step 2: Insert the Bloxbiz AdBox Unit
- Download the AdBox
- Insert the AdBox into your game and position it so that the “front” label faces the appropriate direction (suggested size: 20, 20, 20 to support all ads)
Step 3: Setup your Bloxbiz Config File
- Make sure you have added the BloxbizConfig file. If you have not, follow the instruction here.
- In your BloxbizConfig, add the following code:
local BloxbizConfig = {}
...
BloxbizConfig.Ads3D = {Reference to AdBox Part}
-- Example Reference: workspace.BloxbizAdBoxUnit.AdBox
-- Set to true to test 3D ads with an interactive character
BloxbizConfig.DebugModeCharacterAd = false
return BloxbizConfig
Step 4: Test 3D Ads
After you've placed the AdBox in your game and set up your config file, you can check if 3D ads are working properly by changing the DebugModeCharacterAd
value to true
:
local BloxbizConfig = {}
...
-- Set to true to test 3D ads with an interactive character
BloxbizConfig.DebugModeCharacterAd = true
return BloxbizConfig
When DebugModeCharacterAd
is active and you run your game, you should see an interactive character.
Dynamically Loading 3D Ads
If your game has streaming enabled and/or you load maps or assets dynamically, you'll need to load 3D ad units dynamically.
For 3D ad units that you load dynamically, you'll need to tell the SDK to turn a part into an ad unit in a server-side script (i.e. in a Script and not a LocalScript) with the following code:
local ServerScriptService = game:GetService('ServerScriptService')
local BloxbizAPI = require(ServerScriptService:WaitForChild('BloxbizSDK').PublicAPI)
BloxbizAPI.dynamicLoadBoxAd(<Reference to AdBox Part>)
If you have streaming enabled but are not dynamically loading assets on the server-side, you should do this immediately on startup. If you are loading assets dynamically on the server-side, you need to do this right after you load the parts on the server-side.
The BloxbizSDK will automatically handle dynamic loading on the client side and will also automatically handle dynamic unloading on both the client and server-side.
Portal Ads
Step 1: Add the BloxbizSDK
First make sure you have 1) signed up and 2) set up your SDK.
Step 2: Allow Third Party Teleports
Turn on “Allow Third Party Teleports” in your Game Settings (File > Game Settings).
Step 3: Insert the SuperbizPortalBox Unit
- Download the AdBox
- Insert the box into your game and position it so that the “front” label faces the appropriate direction
Step 4: Setup your Bloxbiz Config File
- Make sure you have added the BloxbizConfig file. If you have not, follow the instruction here.
- In your BloxbizConfig, add the following code:
local BloxbizConfig = {}
...
BloxbizConfig.AdsPortals = {Reference to PortalBox Part}
-- Example Reference: workspace.SuperbizPortalBox:WaitForChild('AdBox')
-- Set to true to test portals ads
BloxbizConfig.DebugModePortalAd = false
return BloxbizConfig
Step 5: Test Portal Ads
After you've placed the Portal AdBox in your game and set up your config file, you can check if Portal ads are working properly by changing the DebugModePortalAd
value to true
:
local BloxbizConfig = {}
...
-- Set to true to test portals ads
BloxbizConfig.DebugModePortalAd = true
return BloxbizConfig
When DebugModePortalAd
is active and you run your game, you should see a test portal.
Dynamically Loading Portal Ads
If your game has streaming enabled and/or you load maps or assets dynamically, you'll need to load portal ad units dynamically.
For portal ad units that you load dynamically, you'll need to tell the SDK to turn a part into an ad unit in a server-side script (i.e. in a Script and not a LocalScript) with the following code:
local ServerScriptService = game:GetService('ServerScriptService')
local BloxbizAPI = require(ServerScriptService:WaitForChild('BloxbizSDK').PublicAPI)
BloxbizAPI.dynamicLoadPortalAd(<Reference to AdBox Part>)
If you have streaming enabled but are not dynamically loading assets on the server-side, you should do this immediately on startup. If you are loading assets dynamically on the server-side, you need to do this right after you load the parts on the server-side.
The BloxbizSDK will automatically handle dynamic loading on the client side and will also automatically handle dynamic unloading on both the client and server-side.