save_advertiser tool exposes account-mapping operations that connect provider accounts (Meta, Google Ads, TikTok, and others) to an advertiser. Use these operations when configuring a campaign so that media buys route to the right provider account.
Link a provider account
SupplyassignAccount with advertiserId to create a new link. accountId is the provider account ID returned by account discovery — it is an arbitrary string (e.g. "act_123456789" or "acc_acme_pinnacle"). credentialId is optional and, when supplied, must be the numeric-string credential ID from account discovery — it is required only when the same seller storefront exposes more than one credential:
linkId needed to modify or remove the link.
Link an account on a connection
Accounts that come from a connection, such as a Spotify, Google Ad Manager, or Meta connection you authorized, are not linked withassignAccount. Read the
connection with get(kind:"connection", id) and use the id of the account in
its accounts list, not its externalAccountId. Then call save_connection
with the connection ID and an advertiserMapping:
Errors
A failed account operation returns the errorcode and a message that says why
it failed, for example that the account was not found or that its currency does
not match the advertiser. Internal failures return a generic message. When
assignAccount cannot find the account, the message also points to
save_connection, because the account is most often on a connection. If the
link was saved but could not be read back, the message says so instead: read
the advertiser with include: ["accounts"] before retrying.
Remove a provider account link
SupplyunassignAccount with the linkId returned by a prior assignment or by get(kind:"advertiser", include:["accounts"]):
Set or clear a reporting bucket
updateReportingBucket configures a customer-owned object-storage bucket to receive offline delivery reports, or clears one already set:
bucket: null to clear a previously configured bucket.
Read linked accounts inline
Include"accounts" in the include array when reading an advertiser to receive linked accounts in the same response:
accounts array with linkId and advertiserId, plus accountsTotal for the untruncated count. Provider-supplied fields are excluded from the response.
Preview a brand domain
UseresolveBrand to check what domain a brand resolves to before linking it to a new advertiser. Supply the domain alone with no other fields:
structuredContent has the shape {action: "brand_resolved", brand: {domain, resolved, identity}}, where identity carries the brand’s name, logo and source. The lookup accepts any AAO registry record, enrichment data and the brand’s website; identity.source is set only when the brand publishes its own identity. No advertiser is created or modified. See Identity and brands for the full lookup rules. This operation is also available to seller workspaces with own_supply_campaigns capability.
Constraints
- Each call may supply at most one account-mapping operation (
assignAccount,unassignAccount, orupdateReportingBucket). - Account-mapping operations require
advertiserIdand a buyer account (or seller withown_supply_campaignsforresolveBrand). - These operations cannot be combined with advertiser field updates (
name,brand,primaryCurrency, etc.) in a single call.