Google Ads tools in Cogny
Cogny's Google Ads integration exposes 66 tools (7 read, 48 write, 11 destructive) to an AI agent over MCP. The same tools are available on every plan, from your own AI client or inside the Cogny app.
- Read (7): only reads data.
- Write (48): creates or changes something.
- Destructive (11): deletes, removes or replaces something.
Over MCP your own AI client asks before it runs a write. To take a tool away from your agent, block it in Settings → Integrations. Plans, approvals and limits.
Connecting and limits
Connecting requests one Google OAuth scope, https://www.googleapis.com/auth/adwords. It is the only scope Google offers for the Ads API and covers read and write. You do not need your own developer token or Google Cloud project.
Reading is done with GAQL through tool_execute_gaql, which reaches every reporting view, including search terms, asset performance, Shopping products and Performance Max listing groups.
A workspace can make 2,000 Google Ads tool calls per day.
Known gaps
- Product filters and product groups are written one level deep: all products, or include or exclude by brand, item ID, product type, custom label or condition. Nested trees and a separate bid per product group are set up in the Google Ads UI. Writing a filter with the tool replaces the existing tree.
- Editing a responsive search ad replaces its headline and description lists. Pinned positions are not kept.
- No tools for editing responsive display ads in place, video ad creation, labels, experiments or account-level settings such as billing and user access.
All tools
| Tool | Kind | What it does |
|---|---|---|
tool_list_accessible_accounts | Read | Lists Google Ads accounts directly accessible by the user. |
tool_execute_gaql | Read | Executes a Google Ads Query Language (GAQL) query to get reporting data. |
tool_get_gaql_doc | Read | Get Google Ads Query Language (GAQL) guides. |
tool_get_reporting_view_doc | Read | Get Google Ads API reporting view docs. |
tool_update_campaign_status | Write | Update the status of a campaign. |
tool_update_campaign_budget | Write | Update the daily budget of a campaign. |
tool_create_campaign_budget | Write | Create a standalone campaign budget. |
tool_assign_campaign_budget | Write | Assign a different budget to a campaign. |
tool_remove_campaign_budget | Destructive | Remove (delete) a campaign budget. |
tool_update_campaign_bidding_strategy | Write | Update the bidding strategy of a campaign. |
tool_create_portfolio_bidding_strategy | Write | Create a portfolio (shared) bidding strategy. |
tool_update_portfolio_bidding_strategy | Write | Update a portfolio bidding strategy's name or CPA/ROAS target. |
tool_update_campaign_location_targets | Write | Add or remove location targeting criteria on an existing campaign. |
tool_search_geo_targets | Read | Search for geographic targeting locations by name. |
tool_create_campaign | Write | Create a new campaign with a budget. |
tool_update_ad_group_status | Write | Update the status of an ad group. |
tool_update_ad_group_cpc_bid | Write | Set the default max CPC bid on an existing ad group (Manual CPC). |
tool_update_ad_group_target_roas | Write | Set or clear the Target ROAS override on an ad group. |
tool_update_keyword_cpc_bid | Write | Set the max CPC bid on an existing keyword (Manual CPC). |
tool_create_ad_group | Write | Create a new ad group in a campaign. |
tool_add_keywords_to_ad_group | Write | Add keywords to an ad group. |
tool_update_ad_status | Write | Update the status of an ad. |
tool_update_keyword_status | Destructive | Update the status of a keyword (pause/enable), or remove it entirely. |
tool_add_negative_keywords_to_campaign | Write | Add negative keywords to a campaign. |
tool_add_negative_keywords_to_ad_group | Write | Add negative keywords to an ad group. |
tool_remove_negative_keyword_from_campaign | Destructive | Remove a negative keyword from a campaign. |
tool_create_responsive_search_ad | Write | Create a new Responsive Search Ad (RSA) in an ad group. |
tool_add_placements_to_ad_group | Write | Add managed placements (specific websites) to a Display ad group. |
tool_add_webpage_target_to_ad_group | Write | Add a dynamic ad target (WEBPAGE criterion) to a Dynamic Search Ads ad group. |
tool_remove_webpage_target_from_ad_group | Destructive | Remove a dynamic ad target or exclusion from a DSA ad group. |
tool_create_responsive_display_ad | Write | Create a Responsive Display Ad (RDA) in a Display ad group. |
tool_generate_keyword_ideas | Read | Generate keyword ideas for research and campaign planning. |
tool_upload_asset | Write | Upload an asset (text, callout, sitelink, structured snippet, image, or YouTube video) to a Google Ads account. |
tool_create_app_ad | Write | Create an App Ad in an ad group. |
tool_link_asset_to_campaign | Write | Link an existing asset to a campaign. |
tool_link_asset_to_ad_group | Write | Link an existing asset to an ad group. |
tool_link_asset_to_customer | Write | Link an existing asset at the account (customer) level. |
tool_create_asset_group | Write | Create an asset group for a Performance Max campaign. |
tool_add_asset_to_asset_group | Write | Add an existing asset to a Performance Max asset group. |
tool_update_asset_group | Write | Update an existing Performance Max asset group. |
tool_remove_asset_from_asset_group | Destructive | Unlink an asset from a Performance Max asset group. |
tool_create_asset_group_signal | Write | Add an audience signal or search theme to a Performance Max asset group. |
tool_remove_asset_group_signal | Destructive | Remove an audience signal or search theme from a Performance Max asset group. |
tool_add_negative_keyword_list_to_campaign | Write | Link a shared negative keyword list to a campaign. |
tool_remove_negative_keyword_list_from_campaign | Destructive | Unlink a shared negative keyword list from a campaign. |
tool_create_negative_keyword_list | Write | Create a shared negative keyword list, optionally seeded with keywords and linked to campaigns in the same call. |
tool_add_keywords_to_negative_keyword_list | Write | Add negative keywords to an existing shared negative keyword list. |
tool_remove_keywords_from_negative_keyword_list | Destructive | Remove negative keywords from a shared negative keyword list. |
tool_delete_negative_keyword_list | Destructive | Delete a shared negative keyword list. |
tool_create_conversion_action | Write | Create a new conversion action. |
tool_update_conversion_action | Write | Update an existing conversion action's settings. |
tool_list_audience_segments | Read | List available remarketing audience segments (user lists) for a Google Ads account. |
tool_add_audience_to_campaign | Write | Add a remarketing audience (user list) to a campaign. |
tool_add_audience_to_ad_group | Write | Add a remarketing audience (user list) to an ad group. |
tool_update_audience_bid_modifier | Write | Update the bid modifier on an existing audience criterion. |
tool_set_campaign_targeting_setting | Write | Set the audience targeting mode for a campaign. |
tool_update_app_campaign_setting | Write | Update the bidding strategy goal type on an existing App campaign (MULTI_CHANNEL). |
tool_update_customer_conversion_goal | Write | Change a conversion goal between primary (biddable) and secondary (observation-only). |
tool_update_campaign_conversion_goal | Write | Change a campaign-level conversion goal between primary (biddable) and secondary (observation-only). |
tool_set_campaign_goal_config_level | Write | Switch a campaign between account-level and campaign-level conversion goals. |
tool_update_campaign_ad_schedule | Write | Create an ad schedule (dayparting) criterion on a campaign with a bid modifier. |
tool_update_campaign_device_bid_modifier | Write | Update the bid modifier for a device type (MOBILE, DESKTOP, TABLET) on a campaign. |
tool_update_campaign_location_bid_modifier | Write | Update the bid modifier on a campaign's LOCATION criterion. |
tool_update_responsive_search_ad | Write | Edit an existing Responsive Search Ad (RSA) in place. |
tool_set_asset_group_listing_groups | Destructive | Replace the product filter (listing groups) of a Performance Max asset group. |
tool_set_shopping_product_groups | Destructive | Replace the product groups (listing group tree) of a standard Shopping ad group. |
Exact input schemas come from tools/list once Google Ads is connected; the free plan is enough to check. Missing something? Your agent can ask for it with request_feature.
This page as markdown · All integrations · How Cogny uses Google Ads