# Google Ads

Your Toolhouse AI Worker can connect to Google Ads using 9 specialized tools.

## Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under [Auth Connections](https://toolhouse.app/auth-connections?authkit_slugs=googleads).

## Tools (9)

### `Google Ads Add Or Remove To Customer List`

Integration name: **GOOGLEADS\_ADD\_OR\_REMOVE\_TO\_CUSTOMER\_LIST**

AddOrRemoveToCustomerList Tool will add a contact to a customer list in Google Ads. Note: It takes 6 to 12 hours for changes to be reflected in the customer list. Email addresses must comply with Google Ads policies and applicable privacy/consent laws.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                                                                                                                                              |
| --------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `emails`        | array  |     ✅    | —       | Array of emails of the contacts to be added to the customer list. Emails must be valid, normalized strings (lowercase, trimmed); malformed addresses reduce match rates. |
| `operation`     | string |          | —       | Operation to be performed on the customer list. Either create or remove.                                                                                                 |
| `resource_name` | string |     ✅    | —       | Resource name of the customer list. For example: customers/1234567890/userLists/1234567890                                                                               |

***

### `Google Ads Create Customer List`

Integration name: **GOOGLEADS\_CREATE\_CUSTOMER\_LIST**

Creates a customer list in Google Ads. Note: Requires an authenticated Google Ads connection with customer\_id configured. Email-based lists must comply with Google Ads policies and applicable privacy/consent laws. Membership updates can take many hours to propagate; targeting eligibility is not immediate after creation.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example | Description                       |
| ------------- | ------ | :------: | ------- | --------------------------------- |
| `name`        | string |     ✅    | —       | Name of the customer list.        |
| `description` | string |          | —       | Description of the customer list. |

***

### `Google Ads Get Campaign By Id`

Integration name: **GOOGLEADS\_GET\_CAMPAIGN\_BY\_ID**

GetCampaignById Tool returns details of a campaign in Google Ads. Requires an active Google Ads OAuth connection with the correct customer\_id configured; missing or mismatched customer\_id will cause empty results.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                |
| --------- | ------ | :------: | ------- | ------------------------------------------ |
| `id`      | string |     ✅    | —       | id of the campaign to search on GoogleAds. |

***

### `Google Ads Get Campaign By Name`

Integration name: **GOOGLEADS\_GET\_CAMPAIGN\_BY\_NAME**

Queries Google Ads via SQL to retrieve a campaign by its exact name. Requires an active Google Ads connection with valid customer\_id and appropriate OAuth scopes.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                                                                                                      |
| --------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `name`    | string |     ✅    | —       | name of the campaign to search on GoogleAds. Matched using exact SQL equality; paused or inactive campaigns may return no results — an empty result means no matching active campaign was found. |

***

### `Google Ads Get Customer Lists`

Integration name: **GOOGLEADS\_GET\_CUSTOMER\_LISTS**

GetCustomerLists Tool lists all customer lists (audience/remarketing lists) in Google Ads. These are user segments for targeting, not Google Ads accounts — list IDs are distinct from account IDs. When multiple lists share similar names, review all returned results before selecting one for downstream operations.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

*No parameters required.*

***

### `Google Ads List Accessible Customers`

Integration name: **GOOGLEADS\_LIST\_ACCESSIBLE\_CUSTOMERS**

ListAccessibleCustomers retrieves all Google Ads customer accounts accessible to the authenticated user. Returns resource names of customers (e.g., customers/1234567890) that can be accessed with the current OAuth credentials. Use this action to discover which customer IDs are available before making other API calls. Use this action when you need to determine which customer accounts the authenticated user has access to, or when you want to populate a dropdown of available accounts for the user to select from.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

*No parameters required.*

***

### `Google Ads Mutate Ad Groups`

Integration name: **GOOGLEADS\_MUTATE\_AD\_GROUPS**

Create, update, or remove ad groups within Google Ads campaigns. Supports batch operations with multiple ad group changes in a single request. Use when you need to manage ad groups programmatically, such as creating new ad groups for campaigns, updating ad group settings or status, or removing ad groups that are no longer needed. This action is irreversible for remove operations — deleted ad groups cannot be recovered once removed.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type    | Required | Example | Description                                                                                        |
| ----------------- | ------- | :------: | ------- | -------------------------------------------------------------------------------------------------- |
| `operations`      | array   |     ✅    | —       | List of ad group operations (create, update, or remove). At least one operation is required.       |
| `validate_only`   | boolean |          | —       | If true, validates the request without executing. Useful for testing before making actual changes. |
| `partial_failure` | boolean |          | —       | If true, valid operations succeed even if other operations fail. Defaults to false.                |

***

### `Google Ads Mutate Campaigns`

Integration name: **GOOGLEADS\_MUTATE\_CAMPAIGNS**

Create, update, or remove Google Ads campaigns in batch. Supports multiple operations (create, update, remove) in a single request. Use when managing campaign lifecycle, applying bulk changes, or automating campaign management workflows. This action is irreversible for remove operations — deleted campaigns cannot be recovered. Plan accordingly and consider using validate\_only=true to test changes before applying them.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter               | Type    | Required | Example | Description                                                                                                                  |
| ----------------------- | ------- | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `operations`            | array   |     ✅    | —       | List of campaign operations to perform. Each operation can be create, update, or remove. At least one operation is required. |
| `validate_only`         | boolean |          | —       | If true, validates the request without executing. Useful for testing before making actual changes.                           |
| `partial_failure`       | boolean |          | —       | If true, valid operations succeed even if others fail. Partial failures will be reported in the response.                    |
| `response_content_type` | string  |          | —       | Whether to return full resource or just resource name. Options: 'RESOURCE\_NAME\_ONLY' or 'MUTABLE\_RESOURCE'.               |

***

### `Google Ads Search Stream Gaql`

Integration name: **GOOGLEADS\_SEARCH\_STREAM\_GAQL**

Execute a Google Ads Query Language (GAQL) query and stream all results in a single response. This method is more efficient than paginated search for bulk data retrieval of campaigns, ad groups, and performance metrics (clicks, impressions, cost). Use this action when you need the entire result set without pagination. Results are returned as a single response containing all matching rows.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter             | Type   | Required | Example                                                                                                                | Description                                                                                                                                                                                                          |
| --------------------- | ------ | :------: | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `query`               | string |     ✅    | `"SELECT campaign.name, campaign.id, metrics.clicks, metrics.impressions, metrics.cost_micros FROM campaign LIMIT 50"` | The Google Ads Query Language (GAQL) query string. Must follow SELECT ... FROM ... WHERE ... format. Example: SELECT campaign.name, campaign.id, metrics.impressions FROM campaign WHERE campaign.status = 'ENABLED' |
| `summary_row_setting` | string |          | `"UNSPECIFIED"`                                                                                                        | Whether to include a summary row with aggregated metrics. Use 'UNSPECIFIED' for default, 'DONOT\_POST' to skip summary, or 'GENERATE' to include it.                                                                 |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/integrations/google-ads.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
