# Add Ad Keywords

Source: https://docs.launchfastlegacyx.com/mcp/ads-changes/add-ad-keywords

Add exact-match or phrase keywords with bids to a Sponsored Products ad group from your AI app. Changes apply right away, and you can ask your AI app to undo a change.

> **This tool changes your Amazon Ads account**
> `add_ad_keywords` adds keywords to your Amazon Ads account. Changes apply right away in your Amazon Ads account. Launch Fast records each change with what changed, when, and which AI app made it. To undo a change, ask your AI app to undo it. It uses [`undo_ad_change`](https://docs.launchfastlegacyx.com/mcp/ads-changes/undo-ad-change). Launch Fast tells the assistant to confirm each change with you first, unless you named the change exactly. Your AI app may also ask before it runs a change tool.

| Field             | Value                                                                                                                                                                                                      |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| MCP tool          | `add_ad_keywords`                                                                                                                                                                                          |
| Behavior          | Makes a change in your Amazon Ads account. Marked destructive, so your AI app may ask before it runs. It adds keywords and does not remove or replace anything, but a new keyword can start spend at once. |
| Cost              | Free                                                                                                                                                                                                       |
| Permission        | **Change Amazon Ads** (Amazon Ads tools). Amazon verification is necessary.                                                                                                                                |
| Sign-in           | OAuth only. API keys cannot make Ads changes. Your last Amazon verification (the code from your authenticator app) must be from the last 30 days.                                                          |
| Ad type           | Sponsored Products only                                                                                                                                                                                    |
| Amazon connection | Amazon Ads                                                                                                                                                                                                 |
| App view          | None. The assistant shows the result as text and a table.                                                                                                                                                  |

## What It Does

`add_ad_keywords` adds keywords to one Sponsored Products ad group. Each keyword has a match type (`exact` or `phrase`) and a bid. One call takes up to 100 keywords.

## When To Use It

Use it to harvest a search term that sold. Find these terms in the [search term report](https://docs.launchfastlegacyx.com/mcp/ads/search-term-performance) or in the harvest list of an [Ads diagnostic](https://docs.launchfastlegacyx.com/mcp/ads/ads-diagnostics). To build a full new campaign, use [`create_ad_campaign`](https://docs.launchfastlegacyx.com/mcp/ads-changes/create-ad-campaign).

## Inputs

| Input                | Required                                     | Values                                                                                                           | Example                      |
| -------------------- | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------- |
| `campaign`           | Yes                                          | The campaign name, or its `campaign_id`                                                                          | `SP Garlic Exact`            |
| `ad_group`           | When the campaign has more than one ad group | The ad group name                                                                                                | `Garlic Press Exact`         |
| `keywords`           | Yes                                          | A list of 1 to 100 keywords                                                                                      | See the rows below           |
| `keywords[].keyword` | Yes                                          | The keyword text                                                                                                 | `garlic press stainless`     |
| `keywords[].match`   | Yes                                          | `exact` or `phrase`                                                                                              | `exact`                      |
| `keywords[].bid`     | Yes                                          | The bid, more than 0                                                                                             | `0.90`                       |
| `marketplace`        | No                                           | Two letters, such as `US`, `CA`, `UK`, or `DE`. Give it only when you advertise in more than one marketplace.    | `US`                         |
| `reason`             | No                                           | One line on why, up to 300 characters. Launch Fast saves it with the change. The default is "Asked for in chat." | `Add search terms that sold` |

## What The Answer Contains

* A status: `applied`, `partly applied`, `not applied`, `going through`, or `unconfirmed`.
* A table with the keywords added to the campaign, and the result.
* The change id (it starts with `ac-`). Use it with [`get_ad_changes`](https://docs.launchfastlegacyx.com/mcp/ads-changes/get-ad-changes) and [`undo_ad_change`](https://docs.launchfastlegacyx.com/mcp/ads-changes/undo-ad-change).
* Notes about large changes, and the currency when it is not USD.
* The day that the result is due. Ask for it then with [`get_ad_changes`](https://docs.launchfastlegacyx.com/mcp/ads-changes/get-ad-changes). Launch Fast compares the two weeks before the change with the two weeks after it, so the result shows about three weeks later.

| Status           | Meaning                                                                                                                                                                                                                                                              |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `applied`        | All changes reached Amazon Ads.                                                                                                                                                                                                                                      |
| `partly applied` | Some changes reached Amazon Ads. The table shows what happened to the rest.                                                                                                                                                                                          |
| `not applied`    | Nothing changed in Amazon Ads. The table shows why.                                                                                                                                                                                                                  |
| `going through`  | Amazon was still applying the change when the answer came back. The answer waits up to 45 seconds. Launch Fast keeps applying the change, and if the call was cut off, it carries the change on within about 15 minutes. Check it in a minute with `get_ad_changes`. |
| `unconfirmed`    | Amazon accepted the change but then showed a different value. Check the value in Amazon Ads before you change it again.                                                                                                                                              |

## Example Prompts

```text
Add "garlic press stainless" as an exact-match keyword in SP Garlic Press at $0.90.
```

```text
Add my three best search terms from last month as exact-match keywords. Bid their average cost for each click.
```

## Common Errors

| Error                                                    | What it means                                                                                                                                                                                | What to do                                                                                                                                                       |
| -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `invalid_input`: Amazon Ads will not take these keywords | A keyword is in the ad group now, is listed twice, breaks an Amazon rule, or has a bid outside Amazon's minimum or maximum for the marketplace. The answer names each keyword and the cause. | Remove those keywords. The answer gives the call without them.                                                                                                   |
| `invalid_input`: match is `exact` or `phrase`            | A keyword has no match type, or it has `broad`.                                                                                                                                              | Give `exact` or `phrase`.                                                                                                                                        |
| `invalid_input`: say which ad group                      | The campaign has more than one ad group.                                                                                                                                                     | Add `ad_group`.                                                                                                                                                  |
| `invalid_input`: more than 100 items                     | The call has more than 100 keywords.                                                                                                                                                         | Put the rest in another call.                                                                                                                                    |
| `not_found`                                              | No Sponsored Products campaign has that name, or the campaign has no ad group with that name. The answer lists similar campaign names, or the ad groups of the campaign.                     | Use a name from the answer, or find it with [`amazon_ads_entity_graph_lookup`](https://docs.launchfastlegacyx.com/mcp/ads/entity-graph).                                                           |
| `oauth_required`                                         | You connected Launch Fast with an API key. API keys cannot change Amazon Ads.                                                                                                                | Add Launch Fast as a connector in your AI app and sign in. See [Getting started](https://docs.launchfastlegacyx.com/mcp/getting-started).                                                          |
| `mfa_required`                                           | Your last Amazon verification is more than 30 days old, or Amazon access for this app ended.                                                                                                 | Connect the app again and enter your authenticator code on the Launch Fast sign-in page. See [Authentication](https://docs.launchfastlegacyx.com/mcp/authentication#how-long-amazon-access-lasts). |
| `not_enabled`                                            | Ad changes through Launch Fast are paused for now, or Amazon access for the app needs a fresh verification. The message says which.                                                          | For a fresh verification, verify again in [Settings > MCP & API keys](https://launchfastlegacyx.com/settings/mcp). For a pause, make the change in Amazon Ads.   |
| `busy`                                                   | Another change on this Amazon Ads account is in progress.                                                                                                                                    | Wait a minute and try again. Check the change with [`get_ad_changes`](https://docs.launchfastlegacyx.com/mcp/ads-changes/get-ad-changes).                                                          |
| Rate limit: `amazon_ads rate limit exceeded`             | Your account made more than 10 Ads change calls in one minute. The limit counts all the change tools together.                                                                               | Wait the number of seconds in the message, then try again.                                                                                                       |

## Related Tools

* [`add_negative_keywords`](https://docs.launchfastlegacyx.com/mcp/ads-changes/add-negative-keywords) adds the same search as a negative in your broad or auto campaign.
* [`undo_ad_change`](https://docs.launchfastlegacyx.com/mcp/ads-changes/undo-ad-change) removes the added keywords.