> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add Keyword to Ad Group

> Add keywords to Google Ads ad groups

The **Add Keyword to Ad Group** node lets you add keywords to Google Ads ad groups with specified match types and statuses. Supports both single keyword additions and bulk operations.

***

## When to Use It

* Add new keywords to existing ad groups based on keyword research
* Bulk import keywords from keyword research tools or analyses
* Add seasonal or trending keywords to ad groups automatically
* Expand ad groups with relevant keywords based on performance data

***

## Inputs

| Field           | Type          | Required | Description                             |
| --------------- | ------------- | -------- | --------------------------------------- |
| **Account**     | Single-select | Yes      | Select one Google Ads account           |
| **Update Type** | Tabs          | Yes      | Choose single keyword or bulk additions |

### Single Update Mode

| Field          | Type           | Required | Description                               |
| -------------- | -------------- | -------- | ----------------------------------------- |
| **Ad Group**   | Dynamic-select | Yes      | Select the ad group to add keyword to     |
| **Keyword**    | Dynamic-text   | Yes      | Enter the keyword text                    |
| **Match Type** | Select         | Yes      | Choose the keyword match type             |
| **New Status** | Select         | Yes      | Choose the initial status for the keyword |

### Bulk Update Mode

Choose how to provide keyword data:

#### Option 1: Use Structured Data

| Field               | Type         | Required | Description                                                                   |
| ------------------- | ------------ | -------- | ----------------------------------------------------------------------------- |
| **Structured Data** | Dynamic-text | Yes      | Data source with `ad_group_id`, `keyword`, `match_type`, and `status` columns |

**Requirements:**

* Data must contain exactly these column names: `ad_group_id`, `keyword`, `match_type`, and `status`
* Match type values must be: `EXACT`, `BROAD`, or `PHRASE` (case-sensitive)
* Status values must be: `ENABLED` or `PAUSED` (case-sensitive)

**Example structured data format:**

| ad\_group\_id | keyword                | match\_type | status  |
| ------------- | ---------------------- | ----------- | ------- |
| 123456789     | running shoes          | BROAD       | ENABLED |
| 987654321     | "nike sneakers"        | PHRASE      | ENABLED |
| 456789123     | \[exact match keyword] | EXACT       | PAUSED  |

#### Option 2: Map Fields Individually

| Field            | Type         | Required | Description                 |
| ---------------- | ------------ | -------- | --------------------------- |
| **Ad Group IDs** | Dynamic-text | Yes      | Source of ad group IDs      |
| **Keywords**     | Dynamic-text | Yes      | Source of keyword texts     |
| **Match Types**  | Dynamic-text | Yes      | Source of match type values |
| **Statuses**     | Dynamic-text | Yes      | Source of status values     |

**Requirements:**

* All fields are matched by position (first ad group ID with first keyword, first match type, first status, etc.)
* Match type values must be: `EXACT`, `BROAD`, or `PHRASE` (case-sensitive)
* Status values must be: `ENABLED` or `PAUSED` (case-sensitive)

### Match Type Options

| Match Type | Description                                                    | Example                                                                 |
| ---------- | -------------------------------------------------------------- | ----------------------------------------------------------------------- |
| **BROAD**  | Shows ads for searches that include your keyword or variations | "running shoes" matches "best running shoes for men"                    |
| **PHRASE** | Shows ads for searches that include your keyword phrase        | "running shoes" matches "red running shoes" but not "shoes for running" |
| **EXACT**  | Shows ads only for searches that match your exact keyword      | "running shoes" matches only "running shoes"                            |

### Status Options

| Status      | Description                                   |
| ----------- | --------------------------------------------- |
| **ENABLED** | Keyword is active and eligible to trigger ads |
| **PAUSED**  | Keyword is paused and won't trigger ads       |

***

## Output

Returns confirmation of the keyword addition operation with details of which keywords were added to which ad groups.

***

## Credit Cost

* **Cost per run**: 1 credit (regardless of number of keywords added)

***

## FAQs

<Accordion title="Can I add the same keyword with different match types?">
  Yes. You can add the same keyword text with different match types (e.g., "running shoes" as both BROAD and EXACT). Each match type will be treated as a separate keyword in Google Ads.
</Accordion>

<Accordion title="How do I bulk add keywords from keyword research?">
  1. Export your keyword research data with ad group IDs, keywords, match types, and desired statuses
  2. Use **AI Analyze Data** if you need to process or categorize the keywords
  3. Connect the output to this node using structured data format
  4. Ensure your data includes `ad_group_id`, `keyword`, `match_type`, and `status` columns
</Accordion>

<Accordion title="What's the difference between structured data and manual mapping?">
  * **Structured data**: Your data source contains all required fields (ad group IDs, keywords, match types, statuses) in a single dataset
  * **Manual mapping**: You have separate data sources for each field (matched by position)

  Use structured data when your keyword research output includes all fields. Use manual mapping when you have separate lists.
</Accordion>

<Accordion title="Can I add keywords to multiple ad groups at once?">
  Yes. In bulk mode, you can specify different ad group IDs for different keywords. Each keyword will be added to its corresponding ad group.
</Accordion>

<Accordion title="What happens if an ad group ID doesn't exist?">
  The node will report an error for invalid ad group IDs but continue processing valid ones. Check the output for any failed additions.
</Accordion>

<Accordion title="Can I add duplicate keywords to the same ad group?">
  Google Ads will reject duplicate keywords within the same ad group and match type. The node will report this as an error, but continue processing other valid keywords.
</Accordion>

<Accordion title="Should I start keywords as ENABLED or PAUSED?">
  * **ENABLED**: Use when you're confident about the keywords and want them to start serving immediately
  * **PAUSED**: Use when you want to review or set up additional targeting before activating

  You can always change keyword status later using other Google Ads management tools.
</Accordion>

<Accordion title="How do match types affect keyword formatting?">
  You don't need to add match type symbols in the keyword text:

  * Broad match: Just enter "running shoes" (no symbols needed)
  * Phrase match: Just enter "running shoes" (quotes are added automatically)
  * Exact match: Just enter "running shoes" (brackets are added automatically)

  The match type is controlled by the Match Type field, not the keyword text formatting.
</Accordion>
