ads_keyword_create
Add a keyword to an ad group while preventing duplicate or conflicting entries; dry run shows guard trips before any change is made.
Instructions
Add one keyword to an ad group. This is the only tool here that creates rather than changes, and it is guarded differently for that reason: there is no current value to compare against, so it is a duplicate check instead. It refuses a keyword that already exists in the target ad group, including a removed one, since a removed criterion still holds the text and Google rejects the create with an error naming a resource the interface does not show. A copy elsewhere in the account trips a guard rather than refusing, because two copies compete for the same budget. EXACT by default; PHRASE and BROAD buy more than the text written and each trips a guard. Dry run unless dryRun is false, and the keyword is read back afterwards
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bid | Yes | The max CPC bid in dollars. There is no current bid to compare against on a create, so the only size check is the ceiling | |
| dryRun | No | Report what would be added and which guards it trips, without adding anything | |
| adGroup | Yes | The ad group to add it to. It must match exactly one or nothing is added | |
| confirm | No | Add it even though a guard tripped. The dry run lists every reason, so this confirms something already read | |
| keyword | Yes | The keyword text to add. It is created as written; this tool does not guess at variants | |
| matchType | No | How the keyword matches. EXACT by default because it is the one that buys what it says; PHRASE and BROAD buy more than the text written here and each trips a guard | EXACT |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bid | Yes | ||
| notes | Yes | ||
| guards | Yes | A create is guarded by a duplicate check rather than a before-and-after comparison, because there is no before | |
| adGroup | Yes | ||
| applied | Yes | ||
| keyword | Yes | ||
| matches | Yes | ||
| campaign | Yes | ||
| readBack | Yes | The keyword as the account holds it after the write. Null when it could not be read back, which is not the same as not created | |
| matchType | Yes | ||
| customerId | Yes |