Connect Google Ads to Admaxxer — one-click OAuth

What this is: a one-click walkthrough for connecting Google Ads to Admaxxer. Google approved Basic Access on Admaxxer's own developer token, so you no longer paste a developer token, create a Google Cloud OAuth client, or mint a refresh token in OAuth Playground. You click Connect Google Ads, approve the adwords scope on Google's consent screen, pick the ad account you want to track, and Admaxxer takes it from there — backfilling 90 days and syncing daily.

Why one-click OAuth (no developer token to paste)

Step 1 — Click "Connect Google Ads" (~5 sec)

  1. In Admaxxer, open Integrations › Google Ads (or hit the Google Ads card during onboarding).
  2. Click Connect Google Ads. Admaxxer redirects you to Google's hosted consent screen at accounts.google.com.

Step 2 — Grant the adwords scope on Google's consent screen (~15 sec)

  1. Sign in with the Google account that has access to your Google Ads accounts.
  2. Google shows exactly what Admaxxer is asking for: "See and manage your Google Ads campaigns" — that's the single adwords scope. Click Allow.
  3. Because Admaxxer's OAuth client is verified, there is no "unverified app" warning to click through. Google redirects you straight back to Admaxxer.

Step 3 — Pick your Google Ads account (~15 sec)

  1. Admaxxer calls listAccessibleCustomers and shows every Google Ads account your Google login can reach — with its name, account ID, currency, and timezone.
  2. Pick the account you want Admaxxer to track. If you're a manager (MCC) user, pick the manager account first, then the target child account — Admaxxer stores the manager as the login_customer_id and the child as the customer_id so requests resolve through the MCC hierarchy.
  3. You can connect more than one account — each becomes its own connection row.

Step 4 — Done (Admaxxer validates live, then backfills) (~automatic)

  1. Admaxxer runs a live GAQL probe against the account you picked before persisting anything — so a connection that shows "Connected" is genuinely working, never a green badge over a dead credential.
  2. Once validated, Admaxxer backfills the last 90 days of campaign, ad group, keyword, spend, and conversion data, then syncs daily from there.
  3. Within minutes your dashboard, attribution view, and the Claude agent are all reading live Google Ads data.

What you can ask once connected

After connecting, open the Claude agent (⌘J) and ask things like:

Required scope

ScopeWhy we ask
https://www.googleapis.com/auth/adwordsRead campaigns, ad groups, ads, keywords, and insights (cost_micros, impressions, clicks, conversions), plus confirmation-gated campaign actions. This is the only scope Admaxxer requests.

Admaxxer never requests Gmail, Drive, Calendar, or any other Google API access.

For the authoritative reference, see Google's official Google Ads API documentation.

How to disconnect Google Ads

Connected the wrong account? Rotating ownership? Removing Admaxxer for compliance? Disconnect is a 30-second self-serve flow from inside Admaxxer — no support email required.

  1. Open /dashboard/integrations (sidebar › Account › Integrations).
  2. Find the Google Ads card and hover it — the three-dot menu appears top-right. On mobile the kebab is always visible.
  3. Click the kebab › Disconnect. Type your Google Ads customer ID (e.g. 123-456-7890) into the confirm input — this typed-confirm guards against accidental clicks on ad accounts that may carry $100k+/mo in spend.
  4. Click the red Disconnect button. Encrypted refresh token destroyed immediately, pending sync jobs cancelled, Admaxxer-side OAuth grant revoked best-effort. The card flips back to Not connected with the Connect CTA restored.

What stays: historical insights and sync logs, Sources & Attribution backfills for the prior 90 days, workspace and team membership, audit trail (account ID, scopes, app ID).

What gets deleted: your Google Ads connection and its stored credentials are destroyed immediately, pending backfill and sync jobs are cancelled, and the Admaxxer-side OAuth grant is revoked best-effort.

Re-connecting is one click — no data lost for past windows. Sources & Attribution, MER, ROAS, and cohort LTV for every prior date stay intact. Live sync resumes the moment you grant the adwords scope again. For an additional layer of revocation outside Admaxxer, also remove the grant at myaccount.google.com/permissions.

FAQ

Q: Do I need a Google Ads developer token?

No. Admaxxer's own developer token holds Google-approved Basic Access. You never apply for, paste, or manage a developer token — it lives on Admaxxer's side.

Q: Do I need to create a Google Cloud OAuth client or use OAuth Playground?

No. That was the old flow. Admaxxer owns the OAuth client ID and secret, and Google's consent screen mints your refresh token automatically when you click Allow. There is nothing to build in Google Cloud Console.

Q: How do I connect a manager (MCC) account?

Connect with the Google login that has MCC access. On the account picker, choose the manager account, then the target child account. Admaxxer stores the manager as login_customer_id and the child as customer_id so requests resolve through the MCC. Repeat the picker for each child account you want to track.

Q: How do I disconnect or revoke access?

From inside Admaxxer: go to /dashboard/integrations, find the Google Ads card, click the three-dot menu in the top-right, choose Disconnect, type your Google Ads customer ID to confirm, then click Disconnect. The encrypted refresh token is destroyed immediately and pending sync jobs are cancelled. For an additional layer of revocation outside Admaxxer, also revoke Admaxxer at myaccount.google.com/permissions. Re-connecting later is one click and no historical attribution data is lost.

Q: What happens to my historical data when I disconnect?

Past windows are preserved. Your Google Ads connection is removed and its stored credentials are destroyed immediately, but cached insights, your sync history, and Sources & Attribution backfills remain queryable. Reconnecting to the same Google Ads account restores live sync; no manual backfill required for the gap window unless it exceeds 90 days.

Q: I connected the wrong Google Ads account. How do I fix it?

Open /dashboard/integrations, hover the connected Google Ads card, click the three-dot menu, choose Disconnect, type your Google Ads customer ID to confirm, then click Disconnect. Then click Connect Google Ads again and pick the correct account from the picker. The whole flow is ~30 seconds; you do not need to contact support.

Q: Is the connection read-only?

Read by default. The Claude agent can pause, scale, or adjust campaigns, but only after you explicitly confirm the action in chat.

Related

Google Ads integration overview · Connect Meta Ads (paste-token) · Connect TikTok Ads (paste-token) · Documentation home