---
title: "AdCtrl docs: connect Google Ads and Meta Ads to Claude or ChatGPT"
description: "How to connect Google Ads, Meta Ads, Google Analytics, Tag Manager and Search Console to Claude or ChatGPT with AdCtrl, how changes and approvals work, and how your data is handled."
url: https://adctrl.ai/docs/
last_updated: 2026-11-03
---

#### On this page

Documentation

# Everything you need to run your ads from Claude or ChatGPT.

AdCtrl connects your Google Ads, Meta Ads, Google Analytics, Tag Manager and Search Console accounts to the AI you already use. Your AI can then read your real numbers, explain what’s happening and prepare changes that you approve before they go live.

**Works in** Claude and ChatGPT

**Connects** 5 Google and Meta platforms

**Every change** Previewed and approved by you

**Hosted in** Helsinki, Finland (EU)

[**Set up in 5 minutes** Connect your accounts and ask your first question](https://adctrl.ai/docs/#getting-started) [**How changes work** Previews, approvals and confirmations](https://adctrl.ai/docs/#changes) [**For IT admins** Authentication, scopes, data handling](https://adctrl.ai/docs/#admins)

## How it works

AdCtrl is a connector (an MCP server) that sits between your AI assistant and your marketing accounts. You sign in to AdCtrl once, connect Google and Meta, and choose which accounts your AI may use. When you ask a question in Claude or ChatGPT, your assistant calls AdCtrl, AdCtrl talks to Google or Meta on your behalf, and the results come back into your conversation.

### Your AI does the thinking

Analysis, explanations and recommendations come from the Claude or ChatGPT model you already use. When those models improve, AdCtrl gets better with them.

### AdCtrl does the access

It holds the connections to Google and Meta, enforces which accounts your AI can use and carries out the changes you approve.

### The playbook guides the work

AdCtrl gives your AI step-by-step methods from a performance agency, so a request like “review this account” follows a real checklist.

## Getting started

You need a Claude or ChatGPT plan and access to at least one Google Ads or Meta ad account. Setup takes a few minutes.

1. ### Create your AdCtrl account
Open [app.adctrl.ai](https://app.adctrl.ai/app) and continue with Google or sign in with a one-time code sent to your email. Your account is created the first time you sign in.
2. ### Connect Google and Meta
Choose _Connect Google_ or _Connect Meta_ and sign in with the login you use for your ad accounts. Google and Meta show you exactly what you’re sharing before you agree. AdCtrl never sees your password.
3. ### Choose your accounts
Turn on the ad accounts, Analytics properties, Tag Manager containers and Search Console sites your AI may use. Anything you leave off stays invisible to your AI.
4. ### Add AdCtrl to your AI
**Claude:** open _Settings → Connectors_, search for AdCtrl and select _Connect_. **ChatGPT:** open the apps directory, search for AdCtrl and select _Connect_. Sign in with the same AdCtrl account when asked.
Prefer adding it by hand? Use this connector address:
`https://app.adctrl.ai/mcp`
5. ### Ask your first question
Start a new conversation and try one of these:
 - “Show me the accounts you can access through AdCtrl.”
 - “How did my Google Ads perform in the last 7 days compared with the week before?”
 - “Which search terms cost money last month without a single conversion?”

**Tip**

Start with a question that only reads data. Once you’re comfortable with the answers, ask for a change and look at the preview.

## Connecting accounts

### Google

Google Ads is connected first. Google Analytics, Tag Manager and Search Console each ask for their own permission, so you only share what you use. You can add them any time from the Connections page.

### Meta

Meta uses Login for Business. During sign-in, Meta lets you pick which ad accounts, Facebook Pages and Instagram accounts to share. Missing something later? Choose _Update Meta access_ on the Connections page and add it. New items show up marked as new, and your AI can’t use them until you turn them on.

### Choosing what your AI can use

Connecting an account and letting your AI use it are separate steps. On the Connections page, each account has its own switch, and each ad account can either allow changes or stay read only.

| Setting | What your AI can do |
| --- | --- |
| Off | Nothing. The account is invisible to your AI. |
| Read only | Read reports, settings and history, and prepare previews of changes. It can’t apply anything. |
| Changes allowed | Everything above, plus applying changes after you approve them in Claude or ChatGPT. |

Google Analytics, Tag Manager and Search Console don’t count toward your plan’s ad-account limit.

## Agencies and manager accounts

Connect a Google Ads manager account (MCC) and AdCtrl loads your whole client tree, including sub-managers. Search by client name or account ID, select clients one by one or choose an entire branch.

- **Include future clients.** Turn this on and clients added to your manager account later appear automatically as read only. Turning it off keeps the clients you already chose.
- **Large trees.** Trees with thousands of accounts load in pages and stay searchable.
- **Meta businesses.** Share client ad accounts and Pages through Meta Business Manager, then turn them on in AdCtrl.
- **Team members.** On the Agency plan, your team works in one AdCtrl account with shared client access. Each person connects AdCtrl to their own Claude or ChatGPT.

## How changes work

Your AI never changes an account in one step. Every change goes through four stages, and you see each one in your conversation.

1. **Preview** Your AI reads the current settings and prepares a preview: the account, what changes, before and after, and any effect on spend.
2. **Approve** Claude or ChatGPT asks you before applying it. You can say no, or ask for a different version.
3. **Apply** AdCtrl checks that nothing changed since the preview, then sends exactly what you approved to Google or Meta.
4. **Confirm** AdCtrl reads the account back and tells you what Google or Meta actually saved.

### Three kinds of change

Changes are grouped by risk, and each group has its own approval step in your AI.

| Kind | Examples |
| --- | --- |
| Edits | Names, ad text, keywords, negative keywords, targeting, assets, tracking settings, paused campaigns |
| Spending | Budgets, bids, bidding strategies and turning ads on |
| Customer data | Customer Match lists, audience uploads and offline conversions |

### Built-in safety rules

- New campaigns, ad sets and ads are created paused. Turning them on is a separate spending change.
- A preview expires if the account changes in the meantime. Your AI prepares a fresh one.
- If Google or Meta doesn’t confirm whether a change went through, AdCtrl never sends it again automatically. It checks the account and tells you what happened.
- Your AI can only act on accounts you turned on, and only where changes are allowed.

## Choosing when your AI asks

Approval happens inside Claude or ChatGPT, using their own permission settings. AdCtrl can’t see or change those settings, so here’s what we recommend.

### Claude

Open _Settings → Connectors → AdCtrl_. Each tool can be set to _Needs approval_, _Always allow_ or _Blocked_.

| Reading and previews | Always allow |
| --- | --- |
| Apply edits | Needs approval |
| Apply spending | Needs approval |
| Apply customer data | Needs approval |

Once you trust the routine, you can let edits through and keep spending on _Needs approval_.

### ChatGPT

Open AdCtrl in your ChatGPT app settings. ChatGPT uses one setting for the whole app: _Always ask_, _Allow read-only_, _Allow low-risk_ or _Allow all_.

| Recommended | Always ask |
| --- | --- |

ChatGPT can’t treat spending differently from edits, so _Always ask_ is the safe choice.

## What you can do

Your AI picks the right tools for each request. You don’t need to know tool names; ask the way you’d ask a colleague.

### Google Ads

- Performance reports for any period, campaign, ad group, keyword or search term
- Build Search and Performance Max campaigns, ad groups and responsive search ads
- Keywords, negative keywords and shared negative lists
- Sitelinks, callouts, call assets, images and videos
- Budgets, bids, bidding strategies and portfolio bidding
- Locations, radius targeting and ad schedules
- Audiences, Customer Match lists, conversion actions and goals
- Shopping product groups, labels and change history

### Meta Ads

- Performance reports by campaign, ad set, ad and placement
- Create campaigns, ad sets and ads with creative and targeting
- Upload images and videos
- Native lead forms
- Custom, website, engagement and lookalike audiences
- Duplicate campaigns and edit placements
- Catalogs, product sets and Advantage+ sales campaigns
- Conversions sent through the Conversions API

### Google Analytics 4

- Traffic, landing page and conversion reports
- Key events, custom dimensions and custom metrics
- Data streams, attribution, Google signals and data retention settings

### Google Tag Manager

- Review containers, tags, triggers and variables
- Create and edit tags, triggers and variables in a workspace
- Publishing stays with you in Tag Manager

### Search Console

- Search queries, pages, countries and devices
- Indexing and sitemap status

### Across platforms

- Compare ad results with website traffic and search data in one answer
- Check whether conversions are tracked before changing ads
- Account overviews and charts directly in your conversation

Some features depend on your account’s eligibility with Google or Meta, for example lead forms need a connected Facebook Page.

## Example questions

### Weekly review

- “What happened in my Google and Meta accounts last week, and what should I change?”
- “Which campaigns spent the most for the fewest leads this month?”

### Cut wasted spend

- “Find search terms that don’t fit my business and prepare negative keywords.”
- “Which placements on Meta have high spend and no results?”

### Launch something

- “Build a Google Search campaign for our emergency plumbing service in Copenhagen with a 300 DKK daily budget.”
- “Create a Meta lead campaign from this image with a short lead form.”

### Fix tracking

- “Our form fills don’t match the conversions in Google Ads. Check Analytics and Tag Manager.”
- “Is the purchase event set up as a key event in GA4?”

### Agencies

- “Go through every client under my manager account and flag anything that needs attention this week.”
- “Write a short performance update for Northfield Coffee that I can send the client.”

### Search and website

- “Which pages lost the most clicks in Search Console this month?”
- “Compare paid and organic traffic to our pricing page.”

## Security and data

### Your logins stay with us

AdCtrl connects through Google’s and Meta’s official sign-in. We never see your passwords, and the access tokens we receive are never included in anything sent to your AI.

### Your AI gets only what you ask for

Reports and settings you request are returned to your Claude or ChatGPT conversation. Accounts you haven’t turned on are never read.

### Stored in the EU, encrypted

The service runs on a server rented from Hetzner in Helsinki, Finland. Stored records are encrypted with AES-256-GCM.

### Personal data is handled separately

Lead form answers are filtered on our server and never stored. Customer lists for audiences are held encrypted for at most one hour, sent to the platform you choose and then made unreadable.

### How long data is kept

| Data | Kept for |
| --- | --- |
| AI assistant access | Access tokens 15 minutes, refresh tokens up to 30 days, or until you revoke access |
| Staged audience and conversion data | At most 1 hour |
| Lead form answers | Not stored |
| Google and Meta connections and account choices | Until you disconnect the provider or we delete your workspace |
| Previews, change history and confirmations | While your workspace exists, deleted on request |

AdCtrl shares data with Google and Meta to carry out your requests and with the AI app you connect. Hetzner hosts the service, Stripe handles payments, Google Workspace sends our email and Vercel hosts this website. Read the full [privacy policy](https://adctrl.ai/privacy/) and the [disconnect and deletion instructions](https://adctrl.ai/data-deletion/).

## For IT admins

Everything you need to review AdCtrl before approving it for your organization.

| Connector address | `https://app.adctrl.ai/mcp` |
| --- | --- |
| Type | Remote MCP server over HTTPS |
| Authorization | OAuth 2.1 authorization code flow with PKCE (S256) and refresh tokens. Issuer `https://app.adctrl.ai/` |
| Client registration | Dynamic client registration at `/register` and client ID metadata documents |
| Client authentication | `none` (public clients with PKCE), `client_secret_post`, `private_key_jwt` |
| Token binding | Tokens are bound to the exact `/mcp` resource and to one AdCtrl account |
| Token lifetime | Access 15 minutes, refresh up to 30 days, rotated on use |
| Hosting | Hetzner, Helsinki, Finland. Website on Vercel |
| Operator | mondaybrew ApS, CVR 45217779, Copenhagen, Denmark |

### Scopes

| Scope | Allows |
| --- | --- |
| `adctrl:read` | Read reports and settings on selected accounts and prepare previews |
| `adctrl:apply` | Apply previews the user approved in their AI app. Requested only when the user agrees to it during sign-in |
| `adctrl:execute` | Run changes covered by rules the account owner saved in AdCtrl |
| `offline_access` | Stay connected with refresh tokens |

### Controls you can rely on

- Every tool call checks the token, the AdCtrl account and that each referenced ad account is selected. An account ID supplied by the AI can’t widen access.
- Read tools are annotated as read only. Apply tools are annotated as making changes, so Claude and ChatGPT treat them with their stricter defaults.
- Users can disconnect any AI app from _Connected AI apps_ in AdCtrl. That revokes its tokens immediately without touching other connections.
- Google and Meta access can be removed in AdCtrl and revoked at Google or Meta at any time.
- Every applied change keeps its preview, the confirmation from Google or Meta and an audit record.

## Plans and billing

Every plan includes every feature. Plans differ by the number of ad accounts. Your Claude or ChatGPT subscription is billed separately.

| Plan | Ad accounts | Monthly | Yearly |
| --- | --- | --- | --- |
| Solo | 2, 1 user | $19 | $190 ($16 a month) |
| Pro | 10, 1 user | $39 | $390 ($33 a month) |
| Agency | 50, shared by your team | $99 per user | $990 per user ($83 a month) |

Try any plan free for 3 days, no card needed. If the trial ends or a subscription is cancelled or unpaid, AdCtrl's tools stop working and your AI app points you to Billing in AdCtrl; your connections and account choices are kept. While a payment is being retried, a subscription is paused or you have more ad accounts selected than your plan covers, AdCtrl stays read-only. Need more than 50 ad accounts? [Contact us](mailto:hello@adctrl.ai?subject=AdCtrl%20custom%20plan) for a custom plan. Google Analytics, Tag Manager and Search Console don’t count toward the limit.

## Troubleshooting

#### My AI says it can’t find a tool or feature

Claude and ChatGPT sometimes keep an older tool list after an update. In Claude, open _Settings → Connectors → AdCtrl_ and refresh the tools list, then start a new conversation. In ChatGPT, refresh the app in its settings and start a new conversation.

#### An ad account is missing

Select _Refresh accounts_ on the Connections page. For Meta, choose _Update Meta access_ and share the account with AdCtrl. For Google, check that your login has access to the account or to its manager account.

#### My AI says the account is read only

Changes are switched off for that account. Open Connections in AdCtrl and allow changes on it.

#### My AI asks me every time

That’s the safe default. You can change it in Claude or ChatGPT; see [Choosing when your AI asks](https://adctrl.ai/docs/#approvals).

#### The connection to Google or Meta stopped working

Google or Meta access can expire or be removed, for example after a password change. AdCtrl shows this on the Connections page. Reconnect, and your account choices are kept.

#### A change didn’t confirm

If Google or Meta doesn’t confirm a change, AdCtrl never resends it. Ask your AI to check the change status. It reads the account and tells you whether the change went through.

## Support

Email [hello@adctrl.ai](mailto:hello@adctrl.ai?subject=AdCtrl%20support) and include your AdCtrl sign-in email, the AI app you use and what you asked. You can also tell your AI “send feedback to AdCtrl” and it will pass your message on from the conversation.

AdCtrl is an independent product by mondaybrew ApS. Google, Meta, ChatGPT and Claude are trademarks of their respective owners. [Terms](https://adctrl.ai/terms/) · [Privacy](https://adctrl.ai/privacy/)
