---
title: brand_attach_advertiser
description: Attach an ad account to a brand, so agents can resolve brand context from the account.
---

Attaches an **ad account** to a brand, so that anyone calling [`brand_resolve`](/mcp/tools/brand-resolve) on that account finds this brand's context. [`brand_detach_advertiser`](/mcp/tools/brand-detach-advertiser) removes the link again.

## Input

Both tools take the same two fields:

| Field           | Type     | Required | Description                  |
| --------------- | -------- | -------- | ---------------------------- |
| `brand_name`    | `string` | yes      | The brand slug.              |
| `advertiser_id` | `string` | yes      | The ad account id (`acc_…`). |

## Notes

- **Attaching twice is harmless** — the second call says the same thing as the first.
- **An account can belong to several brands.** Attaching to a second brand doesn't detach the first; `brand_resolve` will return both.
- **Detaching removes only the link.** The brand, its context and its files are untouched.

:::warning[Only your own ad accounts]

You can only attach accounts already connected to your organization. Anything else is rejected — check [`list_advertisers`](/mcp/tools/list-advertisers) for what's available.

:::

Requires the `brand:write` scope.

## Reference

Attach an ad account to a brand, so an agent working on that account can find this brand context with brand_resolve. Attaching twice is harmless.

### Input

| Argument | Type | Required | Description |
| --- | --- | --- | --- |
| `advertiser_id` | string | yes | The ad account id (`acc_…`). Discover ids with list_advertisers. |
| `brand_name` | string | yes | The brand slug. |

### Failure codes

A failed call has `isError` set, and `structuredContent.error` holds one of these codes. [Errors](/mcp/errors) describes the shape of a failed call.

- `not_found`
- `advertiser_not_owned`
- `forbidden`
- `invalid_request`
- `internal_error`

### Scope

The token must hold `brand:write`. [Auth & scopes](/mcp/auth) lists each scope.

### Annotations

A client reads these hints. A hint that the tool does not declare has the default value of the MCP specification.

- **Writes.** The tool can change data.
- **Destructive.** The tool can make a change that you cannot undo. A client can ask you to confirm before it calls the tool.
- **Idempotent.** A second call with the same arguments changes nothing more.
- **Closed world.** The tool reads and writes the data of AdCrunch only.
