👋 Welcome

Getting Started

Sign Up & Add Games

SDK Setup & Updates

Sharing & Permissions

Products

Popmall (Catalog)

Music Player

Data Store Editor

Custom Events

Analytics

Product Optimization

Popfeed

Brand Collab

Campaigns

Campaign Control

Support

Questions or Feedback

Metric Definitions

SDK Changelog

<aside> 🔓 Ads requires approval. Apply here.

</aside>

<aside> ℹ️ Some ad formats are deprecated. Instead, use Roblox’s Immersive Ads.

</aside>

About

Super Biz Campaigns are a collection of immersive campaign formats that help you easily monetize your game.

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:

  1. Search for “BloxbizAM” in the Toolbox Models (Toolbox > Marketplace > Models).

  2. Insert one of the Bloxbiz ad models into your game (they’ll have “AM” in the name).

    1. https://www.roblox.com/library/5967212804/BloxbizAM01
    2. https://www.roblox.com/library/5967214325/BloxbizAM02
    3. https://www.roblox.com/library/5967206576/BloxbizAM03
    4. https://www.roblox.com/library/5967208591/BloxbizAM04
    5. https://www.roblox.com/library/5967210402/BloxbizAM05
    6. https://www.roblox.com/library/8987732145/BloxbizAM06
    7. https://www.roblox.com/library/8987730668/BloxbizAM07

    <aside> ⚠️ Only horizontal ad units are supported – ads will only be displayed on SurfaceGUIs on the side of parts that have a 2:1 aspect ratio (i.e. 40x20).

    </aside>

    Search for "BloxbizAM" in the Toolbox to find ad model templates or use the links above

    Search for "BloxbizAM" in the Toolbox to find ad model templates or use the links above

  3. Position the ad model so the SurfaceGUI is visible to players.

Or, create your own ad model:

  1. Add a new part or find a part in your game. (Note: MeshParts are not supported)

  2. Add a SurfaceGui to the part and rename it "AdSurfaceGui".

  3. Position the ad model so the SurfaceGUI is visible to players.

    <aside> ⚠️ When creating your own ad model or editing a template ad model, ads will only be displayed on SurfaceGUIs on the side of parts that have a 2:1 aspect ratio (i.e. 40x20).

    </aside>

Step 3: Set up your Bloxbiz Config File

  1. In your Explorer, add a ModuleScript to Replicated Storage and name it "BloxbizConfig"

  2. Open "BloxbizConfig" and delete any code in the file

  3. Copy and paste the below code snippet into "BloxbizConfig":

    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](<https://www.roblox.com/library/7196921727/>)",
    	"[rbxassetid://7196945935](<https://www.roblox.com/library/7196945940/>)",
    	"[rbxassetid://7196966158](<https://www.roblox.com/library/7196966166/>)",
    }
    
    return BloxbizConfig
    
  4. Replace where it says Account ID with your Bloxbiz Account ID

  5. Replace where it says Reference to Ad Model with the reference to your ad model

    <aside> ℹ️ If your game has streaming enabled and/or you load maps or assets dynamically, you'll need to load ad units dynamically. See the section on "Loading Ad Units Dynamically."

    </aside>

    1. 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

      <aside> đź’ˇ Tip: give your ad unit a descriptive name so that it's easy to differentiate when looking at your game's analytics in the Dev Portal.

      </aside>

    2. 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

    3. 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 and workspace.part)

    4. In your references, do not include AdSurfaceGui

Now you game is setup and ready for ads.

Step 4: Use Brand Collab and Update Ads

<aside> ℹ️

Ad Control has been renamed to Brand Collab.

</aside>

In the Super Biz Dev Portal, go to the Brand Collab. Use Brand Collab to easily to manage the content in your experience.

The Ad Control is in the Super Biz Dev Portal and streamlines uploading decals to Roblox.

The Ad Control is in the Super Biz Dev Portal and streamlines uploading decals to Roblox.

<aside> ℹ️ Make sure to regularly check on new ads that are added in the Ad Control in order to participate in new campaigns.

</aside>

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.

After uploading decals in the Ad Control, use the Bloxbiz Plugin to update the ads in your game.

After uploading decals in the Ad Control, use the Bloxbiz Plugin to update the ads in your game.

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](<https://www.roblox.com/library/7196921727/>)",
	"[rbxassetid://7196945935](<https://www.roblox.com/library/7196945940/>)",
	"[rbxassetid://7196966158](<https://www.roblox.com/library/7196966166/>)",
	...
}

<aside> đź’ˇ Tip: you can make an ad unit invisible rather than show an ad fallback by not including an ad fallback and then detecting when the AdSurfaceGui is blank. Just make sure to unhide the ad unit when the AdSurfaceGui is not blank.

</aside>

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:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d70cf7b4-a9a7-47b9-911f-4dfaebcce0ba/Screen_Shot_2021-03-01_at_5.15.28_PM_2.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/76fefa9b-b7c2-49be-b469-093bfaafd103/Slice_5.png

  1. 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°.
  2. 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.
  3. 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 GIFAdsDefaultto 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.

Untitled

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 VideoAdsDefaultto 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.

Charli XCX as a 3D ad

Charli XCX as a 3D ad

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

<aside> ℹ️ Only include 1 AdBox unit in your game.

</aside>

  1. Download the AdBox
  2. 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

  1. Make sure you have added the BloxbizConfig file. If you have not, follow the instruction here.
  2. 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