Measure & earn

Brand safety & categories

Brand safety works both ways. You decide which kinds of brands can appear in your game. Brands decide which kinds of games they appear in. Every Bonus Round is reviewed before it runs.

Your game's rating

Each game has a content rating: everyone, teen or mature. Our play agent proposes one after it plays your game; you can change it and your choice sticks (later learning runs won't overwrite it). Brands target ratings, so an accurate rating gets you better-matched ads.

Game categories

Categories describe your game to brands, e.g. ["arcade", "casual", "party"]. The agent derives them from what it saw; you can edit them (up to 12). Available categories:

party casual arcade racing sports scifi shooter sim cozy puzzle rpg adventure horror strategy

Blocking advertiser categories

Block whole categories of brands from your game with settings.blockedCategories. Blocking applies to every format, and takes effect on the next ad request. Each brand is assigned one category when our agent learns it.

SlugCategoryLimits
alcoholAlcoholOnly in mature-rated games for adults
gamblingGambling & bettingOnly in mature-rated games for adults
tobaccoTobacco & vapingOnly in mature-rated games for adults
cannabisCannabis & CBDOnly in mature-rated games for adults
adultAdult contentOnly in mature-rated games for adults
weaponsWeaponsOnly in mature-rated games for adults
datingDatingOnly in mature-rated games for adults
energy-drinksEnergy drinksNot in games for kids
pharmaPharma & health claimsNot in games for kids
financeFinanceNot in games for kids
beverageSoft drinks
snacksSnacks & candy
foodFood & restaurants
petPets
sportswearSportswear
outdoorOutdoor
techTech
gamingGaming & hardware
toysToys
apparelFashion
beautyBeauty
autoAuto
travelTravel
entertainmentMovies, TV & music
educationEducation
curl -X PATCH https://bonusround.io/api/games/gm_… \
  -H "Authorization: Bearer $BONUSROUND_API_KEY" -H "content-type: application/json" \
  -d '{ "settings": { "blockedCategories": ["energy-drinks", "beverage"] } }'

The list replaces the previous one. Use the slugs above exactly (GET /api/games/_meta returns the current list as brandCategories, plus the defaults for every setting); a slug that isn't on the list blocks nothing.

Some categories are limited for everyone, whatever you block: brands in the first seven rows only run in mature-rated games with no kids or teens in the audience, and the first ten never run in a game for kids. Crypto and political ads aren't accepted on Bonus Round at all.

Games for kids

Answer Is this game made for kids? in Game → Settings (or PATCH /api/games/:id { "settings": { "madeForKids": "yes" | "mixed" | "no" } }). Yes and Mixed audience block the restricted categories above automatically. Those games, games you haven't answered for, and Everyone-rated or unrated games get contextual ads only: no player IDs, cookies or local storage, no behavioural targeting, frequency caps per session. Our agent suggests Yes when it sees a game made for children under 13; you confirm it. Full rules.

What brands control

Creative review

Every Bonus Round is generated for one brand and one game, and it can only serve once it has been approved. The brand plays it in your game first, as a preview, and approves or rejects it. Our generation pipeline also play-tests each round against a QA checklist (scale, readability, the round fits the arena) before it reaches review.

A round's assets are self-contained: models, textures, music and sound effects are loaded from Bonus Round, and the round runs no third-party code in your page.

Report a problem

See something in your game that shouldn't be there? Pause the format right away from the dashboard (Settings → formats), or pause the whole game with PATCH /api/games/:id { "paused": true }, and tell us which brand it was. The end event and your stats both name the brand.