---
title: "Google Ads AI agent in Slack: check spend, pause a campaign | Chickpea"
description: "Give a Slack channel an AI teammate connected to Google Ads. Ask what a campaign spent, pause one, change a budget after it asks. Open source."
canonical: https://chickpea.co/connectors/google-ads
keyword: "Google Ads AI agent in Slack"
verified: 2026-09-17
---

# A Google Ads AI agent in Slack, bound to the client accounts an Admin picked.

> Chickpea gives a channel a named AI teammate that holds its own Google Ads connection. You sign in with Google on a page Chickpea serves, then an Admin picks the client accounts it may reach. Ask what a campaign spent last week, or ask it to pause one that is not working, and it answers in the thread. Most of what people call a Google Ads Slack integration pushes a report out on a timer. This one waits to be asked, and it asks you back before it touches a budget.

Facts checked against the sources on September 17, 2026. The HTML page is at https://chickpea.co/connectors/google-ads; every connector is listed at https://chickpea.co/connectors; the site index for agents is at https://chickpea.co/llms.txt.

**Google Ads** (Google LLC, https://ads.google.com): Analyze and manage campaigns for explicitly selected client accounts. Category: Business and support. Lane: Hosted sign-in. Sign in: OAuth, managed.

**Chickpea**: an open source Slack app that gives a workspace named AI teammates, each with its own handle, instructions, memory, connected accounts, schedules, and model, deployed to your own Cloudflare account or a Node host.

## What people ask it
The teammate in these examples is @growth, published to #growth.

### Spend and conversions over a period
- @growth what did Brand Search spend last week, and what did it get us
- @growth cost, clicks, and conversions by campaign for September on the retail account

Reads never need confirmation, and a long answer comes back as a table in the thread. One report covers a date range of at most 366 days, returns at most 500 rows, and carries up to eight metrics from a fixed list: impressions, clicks, cost, conversions, conversion value, CTR, average CPC, and average CPM.

### Which campaigns, keywords, or ads moved
- @growth which keywords took more of the spend this month than last
- @growth which campaigns are over $100 a conversion since the first, and by how much

There are four report families, one each for campaigns, ad groups, ads, and keywords, and each can filter to enabled or paused and sort by one metric. Each period is its own report, so the arithmetic happens in the thread where you can see both rows. The teammate can read a client account's currency and time zone first, so a figure means what it says.

### Pause a campaign, ad group, keyword, or ad
- @growth pause Nonbrand Search CA on the retail account
- @growth pause the waterproof boots keyword in the Winter Gear ad group

Pausing one thing is reversible, so it applies at once and the reply names what stopped. There is no bulk capability, so two campaigns are two writes. Your message still has to name the action, because a managed capability that is not a read is refused unless the request itself asks for it. Turning something back on is publishing, so that direction asks first.

### Change a daily budget
- @growth put the brand search budget up to $700 a day for the holiday push
- @growth create a $250 a day budget on the outdoor account

Budgets are the spend lane, so the teammate proposes and waits. The confirmation names the client account, the currency, and the amount before anything changes. Google calls this number the average daily budget, "the average amount that you set for each ad campaign on a per-day basis". Creating a budget asks first for the same reason.

### On a schedule
- @growth every weekday at 8am Pacific, post yesterday's spend by campaign here
- @growth every Monday at 9am Eastern, list the campaigns over $100 a conversion

A schedule saves on the spot. It needs an explicit time zone and runs under the Google Ads connection of the person who asked. Before each run Chickpea re-reads the teammate, the channel grant, and that connection, and a missing one fails the run with a named reason rather than running it. Ask for a read, not a change.

### Example conversations

**What did we spend**
> **Dana:** @growth what did Brand Search spend last week on Northwind Retail, and what did it get us?
> **@growth:** Mon 8 Sep to Sun 14 Sep on Northwind Retail. Brand / Search / US spent $4,182 for 96 conversions, so $43.56 each. Cost is up 6% on the week before and conversions are up 11%.
>
> | Campaign | Cost | Clicks | Conv. | Cost / conv. |
> |---|---|---|---|---|
> | Brand / Search / US | $4,182 | 3,140 | 96 | $43.56 |
> | Nonbrand / Search / US | $9,904 | 5,612 | 71 | $139.49 |
> | Shopping / Retail / US | $2,455 | 1,988 | 34 | $72.21 |
> | Nonbrand / Search / CA | $1,120 | 702 | 9 | $124.44 |

**What moved**
> **Priya:** @growth which keywords moved on Nonbrand Search this month? Sorted by cost.
> **@growth:** Two keywords carried the change. [insulated work jacket] took 31% more of the spend and held its cost per conversion. "waterproof boots" doubled its cost and converted once.
>
> | Keyword | Match | Cost | Conv. | vs. August |
> |---|---|---|---|---|
> | insulated work jacket | Exact | $3,104 | 28 | +31% cost |
> | waterproof boots | Phrase | $1,876 | 1 | +104% cost |
> | work boots near me | Broad | $1,402 | 17 | -8% cost |
> | steel toe boots | Exact | $1,188 | 14 | flat |

**Pause one campaign**
> **Marco:** @growth pause Nonbrand / Search / CA on Northwind Retail. It is nine conversions on eleven hundred dollars.
> **@growth:** Paused. Nonbrand / Search / CA on Northwind Retail, campaign 7214880935, is no longer serving. Its budget is untouched. Say "enable it again" when you want it back and I will ask you to confirm first, because turning a campaign on is publishing.

**Raise a budget**
> **Sofia:** @growth put the Brand Search budget up to 700 a day for the holiday push.
> **@growth:** That one spends money, so I will not do it on my own. Budget Brand search daily on Northwind Retail is $500.00 USD a day today, shared by one campaign. You are asking for $700.00 USD a day.
> Buttons: Change to $700.00 USD · Leave it

**Every morning**
> **Dana:** @growth every weekday at 8am Pacific, post yesterday’s spend and conversions by campaign here.
> **@growth:** Saved. Weekdays at 8:00 AM Pacific I’ll post cost, clicks, and conversions per campaign for both selected accounts in #growth. First run is Thu Sep 18. It reads only, and it runs on your Google Ads connection, so say "pause the morning digest" whenever you want it to stop.

## Connect Google Ads
1. In Chickpea Admin, open the teammate, then **Connections**, find **Google Ads**, and choose **Connect**. Or ask in Slack, `@growth connect Google Ads`, and follow the link it posts. That link is good for one action, for one teammate, for 24 hours.
2. Choose who uses it. **Team** is one shared Google account that everyone who can use the teammate acts through, and it needs the Owner or Admin role. **Personal** means each member signs in as themselves, and the teammate uses your account only for your requests.
3. Choose **Continue to sign in**. A hosted sign-in opens in a second tab and Google asks you to approve the account. There is no token to paste anywhere in this connector, and nothing goes into Slack. Read the permissions on that screen, because the grant you approve there can be wider than the capability list the teammate is handed. The attempt stays open for 30 minutes.
4. An Admin selects the **client accounts**. Until that is saved the connection stays pending and the teammate is given no Google Ads tools at all. Select **Choose**, tick the accounts, then **Save access**. Manager accounts are never offered, so pick the client accounts sitting under one.
5. Ask something. `@growth what did Brand Search spend last week` is a good first question, because it reads and cannot change a thing.

A connection belongs to one teammate. Giving a second teammate Google Ads means a second sign-in, with its own consent and its own account selection. Chickpea stores an opaque local handle and a display label for each client account, so the Google Ads customer ID never reaches the teammate.

## What the teammate is handed with Google Ads
A managed connector has no discovered tool list. The teammate is handed a fixed list of capabilities that Chickpea curates, not Google's whole Ads API. Twenty-three cover Google Ads. Seven read: a client account's identity, currency, time zone, and status, one campaign by its ID, bounded reports over campaigns, ad groups, ads, and keywords, and the state of the account's budgets. Sixteen write, one record at a time: pause, enable, or rename a campaign, ad group, keyword, or ad, create any of those paused, and create or change a daily budget. Billing, access administration, conversion upload, deletion, bulk edits, raw mutations, and free-form queries are absent.

The capability list is in the product source: https://github.com/pejmanjohn/chickpea/blob/main/src/connections/catalog/google-ads.ts

## Beside Google Ads
- **Google Analytics:** Spend on one side, sessions and signups on the other, answered in one question
- **Meta Ads:** Both ad accounts read by one teammate, in the channel that argues about them
- **Google Search Console:** What you pay for a query, beside what you already rank for
- **HubSpot:** The click on one side, the deal it turned into on the other
- All 37 connectors: https://chickpea.co/connectors

## Questions people ask

### Is there an MCP for Google Ads?
Yes, and Google publishes it. The googleads/google-ads-mcp repository describes a server that "provides a standardized bridge to the Google Ads API, which lets AI agents analyze and retrieve campaign data using natural language". Google's own page for it says the implementation is "strictly read-only. It cannot modify bids, pause campaigns, or create new assets." You run it with pipx or on Cloud Run and point a coding client at it, such as Claude Code, Cursor, or VS Code. That puts Google Ads on one person's machine.

### Does it use Google's MCP server?
No. Google Ads is a managed connector here. The teammate calls a fixed, curated list of Google Ads capabilities, and no MCP server is involved anywhere in it. The practical difference is that Google's server is read-only by design, while this one can pause a campaign, rename it, or change a budget after you say yes.

### Is there any AI for Google Ads already?
Google has its own. Ask Advisor is described by Google as "an agentic conversational experience built within Gemini capabilities, designed to help maximize performance based on your unique business goals". You reach it from an icon in the top-right navigation of a Google Ads account, it is in beta, and Google says it is not available in MCC accounts. It lives inside Google Ads. A Chickpea teammate lives in a Slack channel, holds other accounts beside Google Ads, and answers where the argument about spend already happens.

### Can an AI agent pause a Google Ads campaign from Slack?
Yes. Mention the teammate, name the campaign and the client account, and it pauses that one campaign and replies with what stopped. Your message has to name the action, because a write is refused when the request itself does not ask for it. There is no bulk capability, so several campaigns are several writes, and a broad change is proposed first and applied after someone says yes.

### Will it change a budget on its own?
No. Budget changes are the spend lane on this connector, so the teammate proposes the change and waits in the thread. The confirmation names the client account, the currency, and the amount. Creating a new daily budget works the same way. Saved teammate instructions are the only thing that can pre-authorize a class of action, and they are stored state, not something anyone can write by talking to the teammate.

### Can it delete a campaign, an ad, or a keyword?
No. Nothing in the capability list deletes anything, runs a bulk edit, uploads conversions, touches billing, or administers account access. Those are absent rather than blocked, so the teammate has nothing to call however it is asked. Everything it creates is created paused: campaigns, ad groups, keywords, and responsive search ads all arrive switched off, and turning one on is a separate request that asks first.

### Can it use my Google Ads manager account?
No. Manager accounts are never offered in the selection list, so pick the client accounts sitting under one instead. Google describes a manager account as "a Google Ads account that lets you easily view and manage multiple Google Ads accounts ... from a single location". Selecting six client accounts is six explicit choices, and the teammate sees no others.

### Why is the connection still pending?
Because nobody has picked the client accounts yet. Signing in with Google is not enough on this connector. An Admin has to select one or more client accounts before the teammate receives any Google Ads tools. Open the connection row, select Choose, tick the accounts, and select Save access.

### Is there an official Google Ads app for Slack?
Nothing checked on this page's date showed one built by Google. What Google documents is a Google Ads Scripts example: "You can send messages to a user or group in Slack using a webhook URL", with the sample retrieving a report and posting it. The Slack Marketplace listings for Google Ads are third party, such as AdHelp, which says it "helps you to link your Google Ads account with Slack". Keep one of those if you want alerts, because a Chickpea teammate posts nothing unprompted.

### Can it post a morning spend digest?
Yes. Ask for it in the channel and name a time zone. The schedule saves on the spot and runs under the Google Ads connection of whoever asked for it. Every run re-reads the teammate, the destination grant, and that connection, so a disconnected account stops the digest with a named reason instead of posting something stale.

## Sources
- [Chickpea docs: connector catalog, the Google Ads row and the pending-selection table](https://docs.chickpea.co/reference/connector-catalog/)
- [Chickpea docs: managed connectors, the hosted sign-in, client-account selection, and the Google Ads limits](https://docs.chickpea.co/agents/managed-connectors/)
- [Chickpea docs: connections, team and personal accounts, the binding as a ceiling](https://docs.chickpea.co/agents/connections/)
- [Chickpea docs: authority and confirmation, including the managed-capability effect gate](https://docs.chickpea.co/security/authority-and-confirmation/)
- [Chickpea docs: connect a service, the sign-in flow and the Slack link](https://docs.chickpea.co/agents/connect-a-service/)
- [Chickpea docs: schedules, time zones and what each run rechecks](https://docs.chickpea.co/agents/schedules/)
- [Chickpea source: the twenty-three Google Ads capabilities and their input schemas](https://github.com/pejmanjohn/chickpea/blob/main/src/connections/catalog/google-ads.ts)
- [Chickpea source: the bounded-range guard the report schemas call](https://github.com/pejmanjohn/chickpea/blob/main/src/connections/catalog/ranges.ts)
- [Chickpea source: the Google Ads preset (managed toolkit, provider, category)](https://github.com/pejmanjohn/chickpea/blob/main/src/config/presets.ts)
- [Google: the Google Ads API, the programmatic interface to Google Ads](https://developers.google.com/google-ads/api/docs/start)
- [Google: the Google Ads API MCP server, which Google states is strictly read-only](https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server)
- [Google: the googleads/google-ads-mcp repository](https://github.com/googleads/google-ads-mcp)
- [Google Ads Help: Ask Advisor in Google Ads (beta)](https://support.google.com/google-ads/answer/16574983)
- [Google Ads Help: about manager accounts](https://support.google.com/google-ads/answer/6139186)
- [Google Ads Help: average daily budget](https://support.google.com/google-ads/answer/6312)
- [Google: the Google Ads Scripts Slack example, posting a report through a webhook URL](https://developers.google.com/google-ads/scripts/docs/examples/slack)
- [Slack Marketplace: AdHelp, a third-party Google Ads app](https://slack.com/marketplace/AP8D198PP-adhelp)
- [Chickpea source on GitHub](https://github.com/pejmanjohn/chickpea)

## More
- [Ahrefs MCP in Slack](https://chickpea.co/connectors/ahrefs.md)
- [Airtable MCP in Slack](https://chickpea.co/connectors/airtable.md)
- [Asana AI agent in Slack](https://chickpea.co/connectors/asana.md)
- [Jira and Confluence MCP in Slack](https://chickpea.co/connectors/atlassian.md)
- [BugSnag MCP in Slack](https://chickpea.co/connectors/bugsnag.md)
- [Cloudflare MCP in Slack](https://chickpea.co/connectors/cloudflare-api.md)
- [Exa MCP in Slack](https://chickpea.co/connectors/exa.md)
- [Firecrawl MCP in Slack](https://chickpea.co/connectors/firecrawl.md)
- [Fireflies MCP in Slack](https://chickpea.co/connectors/fireflies.md)
- [Gamma MCP in Slack](https://chickpea.co/connectors/gamma.md)
- [Gmail AI agent in Slack](https://chickpea.co/connectors/gmail.md)
- [Gong AI agent in Slack](https://chickpea.co/connectors/gong-managed.md)
- [Google Analytics AI agent in Slack](https://chickpea.co/connectors/google-analytics.md)
- [Google Calendar AI agent in Slack](https://chickpea.co/connectors/google-calendar.md)
- [Google Docs AI agent in Slack](https://chickpea.co/connectors/google-docs.md)
- [Google Drive AI agent in Slack](https://chickpea.co/connectors/google-drive.md)
- [Google Search Console AI agent in Slack](https://chickpea.co/connectors/google-search-console.md)
- [Google Sheets AI agent in Slack](https://chickpea.co/connectors/google-sheets.md)
- [Google Slides AI agent in Slack](https://chickpea.co/connectors/google-slides.md)
- [Granola MCP in Slack](https://chickpea.co/connectors/granola.md)
- [HubSpot AI agent in Slack](https://chickpea.co/connectors/hubspot-managed.md)
- [Hugging Face MCP in Slack](https://chickpea.co/connectors/huggingface.md)
- [incident.io MCP in Slack](https://chickpea.co/connectors/incident-io.md)
- [Intercom MCP in Slack](https://chickpea.co/connectors/intercom.md)
- [Linear MCP in Slack](https://chickpea.co/connectors/linear.md)
- [LunarCrush MCP in Slack](https://chickpea.co/connectors/lunarcrush.md)
- [Meta Ads MCP in Slack](https://chickpea.co/connectors/meta-ads.md)
- [Monday.com MCP in Slack](https://chickpea.co/connectors/monday.md)
- [Neon MCP in Slack](https://chickpea.co/connectors/neon.md)
- [Notion Slack integration with an AI agent](https://chickpea.co/connectors/notion-managed.md)
- [PostHog MCP in Slack](https://chickpea.co/connectors/posthog.md)
- [Sentry MCP in Slack](https://chickpea.co/connectors/sentry.md)
- [Stripe MCP in Slack](https://chickpea.co/connectors/stripe.md)
- [Supabase MCP in Slack](https://chickpea.co/connectors/supabase.md)
- [YouTube AI agent in Slack](https://chickpea.co/connectors/youtube-managed.md)
- [Zendesk AI agent in Slack](https://chickpea.co/connectors/zendesk.md)
- [All connectors](https://chickpea.co/connectors.md)

## Try Chickpea
- Site: https://chickpea.co/
- Deploy to Cloudflare: https://deploy.workers.cloudflare.com/?url=https://github.com/pejmanjohn/chickpea
- Source, Apache 2.0: https://github.com/pejmanjohn/chickpea
- Docs: https://docs.chickpea.co
