How to Revoke an AI Assistant's Access to Your Ad Accounts

VigilDog Team · October 20, 2026 · 6 min read

You connected Claude or ChatGPT to your ad accounts, the trial ended, or the freelancer moved on. Now you want that access gone for good. The trap is that clicking "disconnect" in the chat app does not actually cut off the connection, the account can often be re-authorized on the next request because the grant still lives at the platform. Here is how to revoke AI access to ad accounts properly, at every layer that matters.

What "revoking access" actually means

An AI assistant reaching your ad accounts touches three distinct things, and each has its own off switch. First, the connector or MCP server configured inside Claude or ChatGPT. Second, the OAuth grant, the refresh token the platform issued that lets the tool mint fresh access tokens without asking you again. Third, the account-level user or app permission that says this identity is allowed on this ad account at all.

Removing only the connector is the mistake almost everyone makes. The refresh token keeps working, and re-adding the connector (or another tool using the same OAuth client) re-authenticates instantly. Real revocation means killing the grant and, for anything sensitive, removing the account-level access so nothing can re-authorize. Learn the flow once and it applies to any assistant, not just the VigilDog Ads MCP.

You (chat)ClaudePreviewdry-runApproveAd account
How an Ads MCP runs a change safely

Step 1: Disconnect the connector in Claude or ChatGPT

Start where it is visible. In Claude, open Settings and remove the connector or custom MCP server under your connected tools. In ChatGPT, remove the connector or GPT that holds the ad-account integration. This stops the assistant from initiating new calls from that client.

Do not stop here. Disconnecting the client does nothing to the token the platform already handed out. If you only manage a single personal account and you fully control the OAuth client, this step plus Step 2 is enough. For shared or client accounts, keep going to Step 3.

Step 2: Revoke the OAuth grant at the platform

This is the step that actually invalidates the token. Each platform exposes a page listing third-party apps with access, revoking there kills the refresh token so no future access token can be issued.

  • Google Ads: go to myaccount.google.com/permissions (Third-party apps with account access), find the app, and choose Remove Access. This revokes the OAuth grant for that Google identity.
  • Meta (Facebook/Instagram): Business Settings > Business Integrations, or facebook.com/settings?tab=business_tools, then remove the connected app. For programmatic access, remove the System User's token under Business Settings > Users > System Users.
  • LinkedIn: check linkedin.com/psettings/permitted-services for permitted third-party services, and in Campaign Manager review the app's authorized access. Revoke the marketing API app's authorization.
  • If the tool documents a token endpoint, you can also POST the refresh token to the provider's OAuth revoke endpoint, but the account settings page above achieves the same result without touching code.

Step 3: Remove account-level user access

Revoking the grant stops the current token, but if the assistant authenticated through a user or manager account that still has standing access, it can be re-authorized later. To close that door, remove the identity from the account itself.

In Google Ads, remove the user from Account Access under the manager (MCC) or client account admin. In Meta, remove the person or partner and any System User from Business Settings for that ad account. In LinkedIn Campaign Manager, remove the user from the account's User Permissions. This is the durable fix: with no standing role on the account, no token, old or new, resolves to any permission.

Verify the revocation and rotate what's left

Trust, then check. Trigger a read from the assistant and confirm it now fails with an auth error rather than returning data. On Google Ads, open the account's Change History to confirm no further automated changes appear after your revocation timestamp.

Finally, rotate any shared secrets the integration used, a developer token, an OAuth client secret, or an API key stored in the tool's vault. Revoking a grant does not rotate the client credentials behind it, and a leaked client secret is worth cleaning up while you are already in the settings. If you built the connection following our guide to running Google Ads from Claude, the same three layers map directly onto its OAuth setup.

A cleaner model than raw API keys

Most of this pain comes from long-lived tokens with broad, silent write access. VigilDog's Ads MCP is built the opposite way: every change runs as an approval-gated dry-run first, so the assistant proposes and you confirm before anything touches a live campaign, and access is scoped and revocable from one dashboard rather than scattered across three platforms. It is the difference between hoping an assistant behaves and being the one who presses go.

Questions

Frequently asked

Does disconnecting the connector in Claude revoke access?

No. It stops that client from making new calls, but the OAuth refresh token the platform issued stays valid. Revoke the grant at the platform (Step 2) and, for shared accounts, remove account-level access (Step 3).

How do I know if the AI still has access after I revoked it?

Trigger a read from the assistant and confirm it fails with an authentication error, then check the account's change history for any automated activity after your revocation timestamp.

Should I rotate my API keys too?

Yes, if the integration used a developer token, OAuth client secret, or stored API key. Revoking a grant does not rotate the underlying client credentials, so rotate them while you are in the settings.

Give an AI ad access you can actually control

VigilDog's Ads MCP is approval-gated and dry-run by default, every change is proposed for your sign-off, and access is scoped and revocable from one dashboard.

Your first domain is free forever