In short. ChatGPT ad branding is configured on the OpenAI Ads account with `brand_name` and an uploaded icon assigned through `favicon_file_id`.
Definition: ChatGPT ad branding is configured on the OpenAI Ads account. The public advertiser name is the account's
brand_name, while the logo is an advertiser icon uploaded as an account favicon and assigned withfavicon_file_id.
Key facts
- OpenAI's account management documentation identifies the account's brand name and advertiser icon as the values that identify the advertiser in ads.
brand_nameis the public advertiser name shown in ads.legal_nameis the legal business name, andaccount_nameis the internal name shown in Ads Manager.- The branding update is
POST /v1/ad_account/brand, and it accepts individual name fields plusfavicon_file_id. - The icon is uploaded through
POST /v1/uploadwith the purposeaccount_favicon, then its returned file ID is sent to the branding update. - OpenAI says that changing the legal or public brand name pauses ad delivery until the account passes review.
Where is the advertiser name stored?
The name shown in an ad is the account-level brand_name field. OpenAI distinguishes it from legal_name, which identifies the legal business, and account_name, which is the internal label shown in Ads Manager. The account response also includes name, retained for compatibility with the legal business name.
The API reference documents independent updates. Send brand_name when only the public advertiser name changes. Omitted name fields remain unchanged. The legacy name field sets all three names to the same value, and combining it with an individual name field returns 422.
curl -X POST "https://api.ads.openai.com/v1/ad_account/brand" \
-H "Authorization: Bearer $OPENAI_ADS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"brand_name": "Acme"
}'
The API reference says names must contain 2 to 1000 characters after trimming and cannot contain < or >. It rejects null and blank names. The branding operation must be enabled for the ad account; a 403 response means that OpenAI directs the advertiser to contact its partner representative.
Where is the logo uploaded and assigned?
OpenAI calls the logo an advertiser icon or account favicon. The files reference documents account_favicon as the upload purpose. A local image can be sent as multipart form data, and the returned file_id is then assigned through POST /ad_account/brand.
curl -X POST "https://api.ads.openai.com/v1/upload" \
-H "Authorization: Bearer $OPENAI_ADS_API_KEY" \
-F "purpose=account_favicon" \
-F "file=@acme-favicon.png"
The account-management page says to use JPEG, PNG, or WebP with dimensions of at least 256 × 256 pixels. The separate files reference says an account favicon must be at least 128 × 128 pixels. The pages therefore give different minimum dimensions, so the applicable requirement should be verified before an upload.
How can you check the configured values?
Retrieve the account with GET /v1/ad_account and inspect legal_name, account_name, brand_name, url, preview_url, and review. OpenAI documents preview_url as a preview of the advertiser icon when one is available. The account-management page cautions that this preview URL is not a permanent asset URL for the branding file.
Brand changes can trigger review. OpenAI separates the account's configured status from its brand review fields, including review.status and review.reason. A change to the legal or public brand name can pause ad delivery until review passes.
Related terms
- Ads in ChatGPT
- Where can an advertiser inspect why a ChatGPT ad is not serving?
- OAI-AdsBot
- ChatGPT search
FAQ
Is the advertiser name configured on each ad?
OpenAI documents the public name as account-level brand_name. The account owns campaigns and creative assets, while the branding endpoint updates the account metadata.
Is the logo the same field as the advertiser name?
No. The name is sent in brand_name; the icon is uploaded separately and assigned with favicon_file_id. The account response exposes an icon preview through preview_url when available.
Can the internal account name differ from the public advertiser name?
Yes. OpenAI gives account_name the purpose of an internal name shown in Ads Manager and brand_name the purpose of a public advertiser name shown in ads. The API lets those fields be updated independently.
What happens after a branding change?
Brand changes can trigger review, and changing the legal or public brand name pauses ad delivery until the account passes review. Retrieve the account again to inspect its values and review fields.
Sources
- OpenAI Developers, "Account Management, Ads", undated
- OpenAI Developers, "Ad Account", undated
- OpenAI Developers, "Files", undated
Check how a page reads to answer engines. Open the GEO score analyzer