Skip to main content
An advertiser is the brand a buyer account purchases media for. Campaigns, creatives and delivery all belong to an advertiser, and its settings are the defaults every campaign starts from.

Key fields

integer
required
Stable numeric id. Tools accept it as a number or an integer string.
string
required
Display name, for example “Glaze & Co.”.
string
The brand’s domain (for example glazeandco.test). Used to resolve the brand card and to identify the brand to sellers.
object
The resolved brand card: name, logo, colors, industry, tagline and tone. Semi and the creative composer use the tone when writing copy.
string
required
ISO 4217 code. Every campaign budget uses it. It locks after the first campaign, so confirm it before creating.
boolean
required
Sandbox advertisers run the whole loop with simulated delivery and no real spend. Fixed at creation.
array
Preferred markets (ISO 3166-1 alpha-2) and channels. New campaigns start with these.
enum
ACTIVE or ARCHIVED. Archived advertisers can be restored.
object
Defaults copied into new campaigns: inventorySelection and rebriefing, each manual, propose or automatic. New advertisers start at manual for both. Change it with save_advertiser (advertiserId plus autonomy). What each mode does is on Autonomy and auto-select; every launch still needs a person’s confirmation.
array
Buyer-side caps for every campaign on the advertiser. Stored, never sent to sellers and not enforced; see Frequency caps.
object
Values from your account’s dimensions, such as { "market": ["us"] }. Set with save_advertiser; see Dimensions and labels.
object
Set once on the advertiser, applied to every buy. Exclusions live in the advertiser’s exclude property lists; the older exclusions field (a list of publisher website domains with an optional exclusionsListName) is still honoured alongside them. Both are enforced when you buy: products whose publisher domain is on the list, or is a subdomain of one, are left out of proposals, and a campaign that still has such a product staged won’t go live; the error names each conflicting product. App and CTV properties without a website domain aren’t matched. brandSafety is a note shown in Controls; it isn’t enforced.

Brand lookup

Before creating, preview the brand card without saving anything:
save_advertiser
Semicola checks the AdCP brand registry and the domain’s /.well-known/brand.json. The preview is never stored. The brand card carries: An unknown domain isn’t an error: the card says no brand is registered yet, and one is created from the domain when you save. See Identity documents.

Create, update, archive

If a required field is missing, save_advertiser returns needs_input with a question. Check the exact shapes in the v3 Tool Catalog.

Not available yet

  • Brand fonts, product catalog, disclaimers and contact details on the brand card; saving an enriched brand back to the registry; re-resolving the brand of an existing advertiser.