Integrations

Google Ads

Connect Google Ads to manage campaigns, ad groups, ads, keywords, and budgets, and track conversions and performance.

OAuth authorizationApproval, Google states the Basic Access r…Ads & SocialGoogle Ads API docs

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.

Developer token approval before this connector 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.

Where to apply: Sign in to the Google Ads manager (MCC) account and open the API Center (ads.google.com/aw/apicenter). Confirm your current level is Test Account or Explorer, make sure the API Contact Email is current and all active accounts are linked, then use the dropdown next to Access level and click 'Apply for Basic Access'.

  • The token must be requested from a manager (MCC) account. A regular Google Ads account has no API Center.
  • Explorer Access looks like it works, so teams often discover the gate only when a keyword-planning or invoice call fails, or when the 2,880/day production cap trips in production.
  • The policy page is explicit that a non-live or generic company website (test.com, example.com) gets the application rejected; individual developers may substitute a GitHub or LinkedIn profile URL.
  • Google's API compliance team emails follow-up questions to the API Contact Email and states it may not continue with the application if you cannot be reached, so an unmonitored address is the most common cause of failure.
  • Brand verification on the underlying Cloud project is documented as optional and used only as a signal for faster Basic Access eligibility, though Google says it may be required as a prerequisite in some cases.
  • A test developer token is tied to test accounts only; you cannot get partial live data by linking a real account to a test manager.
  • Basic Access is not the ceiling. Unlimited daily operations need a separate Standard Access application, which requires Basic Access first.
Setup time
20 min, plus a few business days if your developer token still needs review
Auth
OAuth authorization
API base URL
https://googleads.googleapis.com
Rate limits
Limits follow the developer token's access level rather than a fixed rate. Test Account access is restricted to test accounts at 15,000 operations per day, Explorer access reaches production accounts at 2,880 operations per day, Basic allows 15,000 per day, and Standard is effectively unlimited for most services. Individual accounts are additionally throttled with RESOURCE_TEMPORARILY_EXHAUSTED.

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

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.

Open this screen →

console.cloud.google.com/apis/library/googleads.googleapis.com
Search (/) for resources, docs, products, and moreacme-ads-connector
APIs & Services / Library / Google Ads API

Google Ads API

Google LLC

EnableTry this API
Details
Type
APIs & services
Category
Advertising
Service name
googleads.googleapis.com
Project
acme-ads-connector

Enable the API on the same project that will own the OAuth client.

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.

Open this screen →

console.cloud.google.com/auth/audience
Search (/) for resources, docs, products, and moreacme-ads-connector
Google Auth Platform / Audience

Audience

Choose who can request access to your app's data.

Publishing status: Testing. Refresh tokens issued while an app is in Testing expire after 7 days.
Publishing status
User type
External
Publishing status
Testing
App name
PopMCP Google Ads
Publish app

No test users

Test users are only needed while the app stays in Testing.

Publishing needs no Google review for the adwords scope.

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.

Open this screen →

console.cloud.google.com/auth/clients
Search (/) for resources, docs, products, and moreacme-ads-connector
Google Auth Platform / Clients

Create OAuth client ID

A client is the credential your app uses to call Google's OAuth 2.0 endpoint.

Client details
Application type
Web application
Name
PopMCP Google Ads
Authorized JavaScript origins
Authorized redirect URIs
https://app.popmcp.com/oauth/callback
CreateCancel
OAuth client created
Client ID
4172****-8k1n****.apps.googleusercontent.com
Client secret
GOCSPX-****************4a2f
Download JSONOK

Copy the redirect URI from PopMCP rather than retyping it. Google matches it character for character.

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.

Open this screen →

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.

Open this screen →

Connect in PopMCP

Open your workspace, choose Google Ads in the marketplace, and fill in the connect dialog:

FieldWhat to enter
OAuth Client IDtextFrom your Google Cloud project → APIs & Services → Credentials → OAuth client.
OAuth Client SecretsecretStored encrypted; used server-side only and never shown again.Encrypted with AES-256-GCM on save and never shown again.
Developer TokensecretFrom your Google Ads Manager (MCC) account → Tools & Settings → API Center. Required on every Google Ads API call.Encrypted with AES-256-GCM on save and never shown again.
Callback URL
https://app.popmcp.com/api/providers/google/callback

PopMCP verifies the credential against Google Ads immediately. On success the connection flips to Verified and its MCP tools are provisioned.

Permissions PopMCP requests

These are the scopes sent to Google Ads at authorization time.

ScopeWhy PopMCP asks for it
https://www.googleapis.com/auth/adwordsThe single scope the Google Ads API uses. It covers every PopMCP Google Ads tool, including campaigns, ad groups, ads, keywords, budgets and reporting.

Verify it worked

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

Why: 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 ...

Why: 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

Why: 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

Why: 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

Why: 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

Why: 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

Why: 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.

Reference

On this page