Skip to main content
The v3 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. Supply assignAccount 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:
The response includes the stable linkId needed to modify or remove the link. Accounts that come from a connection, such as a Spotify, Google Ad Manager, or Meta connection you authorized, are not linked with assignAccount. 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:
This is the same operation the Connections page uses. If nothing is selected on the connection yet, the first mapped account also becomes the connection’s selected account.

Errors

A failed account operation returns the error code 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. Supply unassignAccount 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:
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:
The response includes an accounts array with linkId and advertiserId, plus accountsTotal for the untruncated count. Provider-supplied fields are excluded from the response.

Preview a brand domain

Use resolveBrand to check what domain a brand resolves to before linking it to a new advertiser. Supply the domain alone with no other fields:
The response structuredContent has the shape {action: "brand_resolved", brand: {domain, resolved}}. No advertiser is created or modified. 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, or updateReportingBucket).
  • Account-mapping operations require advertiserId and a buyer account (or seller with own_supply_campaigns for resolveBrand).
  • These operations cannot be combined with advertiser field updates (name, brand, primaryCurrency, etc.) in a single call.