Blocklists and ad quality controls

Blocklists stop advertisers, categories, creatives, and competitors you name from ever rendering in your placements, and ad quality controls set the floor for creative standards; both apply across Genuin Ad Server, partner ad servers, and Paid Partner content. Reading time about 4 minutes.

What you can block

  • Advertiser domains and brands (competitive exclusions for retailers and brands).
  • IAB content categories and sensitive categories.
  • Creative attributes: audio on load, expandable, heavy file size, mismatched size.
  • Landing-page behaviors: redirects, auto-downloads, pop-ups.
  • Specific creatives after the fact, with one click from the report.

Steps

  1. In BCC open Monetize → Blocklists.
  2. Upload a CSV of advertiser domains or type them; choose a category baseline.
  3. Set creative quality rules; the defaults match the major exchanges' standards.
  4. Choose Apply. Lists sync to Genuin Ad Server within minutes. For partner ad servers, BCC shows the list to hand to your ad ops (or your Genuin CSM applies it on a managed plan).

Reading the effect

Reports → Ad quality shows blocked bids by reason and the eCPM you gave up for each rule, so you can judge whether a rule is worth its cost.

How it runs

The demand setup, packages, agreements, and seller files described here are drafted for you, priced against your floors and brand safety profile, and switched on only with your approval; money never moves on a change you did not approve.

Support. Help is available 24/7 from Brand Control Center and from every page of these docs. Ask in plain language; when a person is needed, an account manager, developer, or Ops engineer joins the same thread and stays on it until it is resolved. Every Business Account owner has this on every plan (see 24/7 Octo-enabled support: how Octo brings in account managers, developers, and Ops).

API & SDK

Access: the calls in the table are the proposed Business Account API (see Business Account API: provisioning, OAuth, and the resource map), authenticated with a key scoped to the account and a role or an OAuth client acting for it; every confirmation in this article becomes a proposal you can approve by API (POST /proposals/{proposalId}:approve). Live today, the server API under /api/thirdparty authenticates with a gn-access-token (see Generate an access token), and Live API today and the Business Account API roadmap maps what is live to what is proposed.

CallPurpose
PUT /brands/{brandId}/blocklistsKeyword, topic, advertiser, and domain blocklists
PUT /brands/{brandId}/brand-safetyGARM-aligned brand safety profile and competitive exclusions
GET /brands/{brandId}/moderation/queueItems waiting for a human decision
js
js
// proposed server SDK (Business Account API)
import { Genuin } from '@genuin/sdk';
const genuin = new Genuin({ apiKey: process.env.GENUIN_KEY });
await genuin.blocklists.update(brandId, { keywords, advertisers });
await genuin.brandSafety.update(brandId, profile);
await genuin.moderation.queue(brandId);

Live today: Add moderators to a community · Update a group and its members.

SDKs: Web SDK 2.0.6 (see Embed the Genuin Web SDK on your website), iOS SDK 2.1.5 (see Integrate the Genuin iOS SDK), Android SDK 2.1.5 (see Integrate the Genuin Android SDK), React Native 3.0.3 (see Integrate the Genuin SDK with React Native apps), and Flutter (see Integrate the Genuin SDK with Flutter apps) render Genuin and sign members in; the Node (@genuin/sdk) and Python (genuin) server SDKs are proposed with Business Account API: provisioning, OAuth, and the resource map.

TRUST AND COMPLIANCE

© 2026 Genuin Inc.

Genuin Footer