# Google Ads setup for PopMCP

You end up with three values: an OAuth Client ID and Client Secret from a Google Cloud project, plus a 22-character developer token from your Google Ads manager account's API Center.

- Auth: OAuth authorization
- Setup time: 20 min, plus a few business days if your developer token still needs review
- API base URL: https://googleads.googleapis.com
- Credentials screen: https://console.cloud.google.com/auth/clients
- Provider docs: https://developers.google.com/google-ads/api/docs/start

## Approval required before this works

A new developer token is now usually auto-granted Explorer Access, which already reads and writes real advertising accounts but is capped at 2,880 operations per day and blocks planning, account-creation, user-management and billing services. Lifting those limits requires the Google Ads API team to approve a Basic Access application on your manager (MCC) account, and Google still falls back to production-blocked Test Account Access when it cannot review a signup automatically.

- Typical wait: Google states the Basic Access review typically takes 5 business days, and Standard Access roughly 10 business days. The developer token policy page commits to nothing firmer than 'the developer token review process can take some time to complete', and applicants commonly report waits longer than the stated 5 days.
- Cost: Free. Google charges nothing for a developer token or for either access-level review.
- Blocked until approved: On Explorer Access, production data is readable but you are hard-capped at 2,880 operations/day against real accounts and these services return errors: CustomerService.CreateCustomerClient (account creation), CustomerUserAccessService and CustomerUserAccessInvitationService (user management), KeywordPlanService, KeywordPlanIdeaService, AudienceInsightsService and ReachPlanService (all keyword and reach planning), and PaymentsAccountService, BillingSetupService, AccountBudgetProposalService and InvoiceService (billing). So keyword research, forecasting and invoice pulls fail outright before approval. If Google assigns Test Account Access instead, every request against a production account fails and no real campaign, spend or conversion data is readable at all.
- Works meanwhile: On Explorer Access: full OAuth, GAQL reporting, campaign and ad-group mutates against live accounts, within the 2,880 ops/day ceiling. On Test Account Access: complete end-to-end development against test accounts created under a test manager account at 15,000 ops/day, with fabricated data and no serving.

## Before you begin

- A Google Ads manager (MCC) account. The API Center only exists there, and it cannot be a test manager account.
- Owner or Editor on a Google Cloud project. A free project is fine, and the Google Ads API carries no Cloud charge.
- A live company website URL and a monitored contact email, both asked for on the API Access form.
- A developer token above Test Account access. New tokens only reach Google Ads test accounts until you apply for Explorer, Basic or Standard.

## Get your credentials

### 1. Enable the Google Ads API on your Cloud project

Pick or create a project in the project chip at the top, then open APIs & Services → Library. Search for Google Ads API and click Enable.

Screen: https://console.cloud.google.com/apis/library/googleads.googleapis.com

### 2. Publish the OAuth app

Open Google Auth Platform → Branding and fill in App name and User support email. Then open Audience, set User type to External, and click Publish app.

Screen: https://console.cloud.google.com/auth/audience

### 3. Create a Web application OAuth client

Go to Google Auth Platform → Clients and click Create client, then set Application type to Web application and paste PopMCP's callback URL into Authorized redirect URIs. Click Create, then copy the Client ID and Client secret from the dialog.

Screen: https://console.cloud.google.com/auth/clients

### 4. Apply for a developer token in the API Center

Sign in to your Google Ads manager (MCC) account and open Admin → API Center, or go straight to ads.google.com/aw/apicenter. Complete the API Access form, accept the terms, and submit it.

Screen: https://ads.google.com/aw/apicenter

### 5. Paste all three values into PopMCP

Copy the 22-character Developer token from the API Center. In PopMCP fill OAuth Client ID, OAuth Client Secret and Developer Token, save, then run the Google Ads sign-in.

Screen: https://ads.google.com/aw/apicenter

## Fields PopMCP asks for

- OAuth Client ID (clientId) [required]: From your Google Cloud project → APIs & Services → Credentials → OAuth client.
- OAuth Client Secret (clientSecret) [required]: Stored encrypted; used server-side only and never shown again.
- Developer Token (developerToken) [required]: From your Google Ads Manager (MCC) account → Tools & Settings → API Center. Required on every Google Ads API call.

## Callback URL to register

https://app.popmcp.com/api/providers/google/callback

## Scopes requested

- https://www.googleapis.com/auth/adwords

## Verify

The Google Ads connector in PopMCP flips to Connected after the Google sign-in, and asking for your accessible customer accounts returns your real account names and 10-digit customer IDs.

## Troubleshooting

### DEVELOPER_TOKEN_NOT_APPROVED

Cause: Your token is still at Test Account access, so it can only call Google Ads test accounts.

Fix: Apply for a higher access level in the API Center. Explorer reaches production accounts at a low daily cap, and Basic or Standard requires review. Point the connection at a test account in the meantime.

### accessNotConfigured, Google Ads API has not been used in project ...

Cause: The Google Ads API is not enabled on the Cloud project that owns the OAuth client.

Fix: Enable Google Ads API in APIs & Services → Library on that exact project, then retry after a minute.

### redirect_uri_mismatch on the consent screen

Cause: The callback URL on the OAuth client does not match the one PopMCP sends, often by a trailing slash.

Fix: Copy PopMCP's callback URL from the connector page and paste it into Authorized redirect URIs. Do not retype it.

### The connection works for a week, then invalid_grant

Cause: The Cloud project's OAuth app is still in Testing, and Google expires those refresh tokens after 7 days.

Fix: Open Google Auth Platform → Audience, click Publish app, then reconnect once to get a durable refresh token.

### Google shows a "Google hasn't verified this app" warning

Cause: The app is published but not verified, which is normal for an internal integration using only the adwords scope.

Fix: Click Advanced, then continue. The warning appears once per user.

### There is no API Center in my Google Ads account

Cause: You are signed in to a regular Google Ads account, or to a test manager account.

Fix: Create or switch to a real manager (MCC) account at ads.google.com and open Admin → API Center there. One token then covers the accounts under it.

### USER_PERMISSION_DENIED on a customer account

Cause: The Google account you signed in with has no access to that Google Ads customer, or the call is not going through the manager account.

Fix: Grant that Google account access in Google Ads → Admin → Access and security, then reconnect.

---

Source: https://www.docs.popmcp.com/docs/integrations/google-ads/