How does Admaxxer connect to Google Ads?
Admaxxer uses the Google Ads API (v17) with an OAuth refresh token plus a developer token. You complete a Google OAuth flow once, we store the refresh token encrypted with AES-256-GCM, and syncs run inside Google's 15,000 operations-per-day quota.
Admaxxer is a DTC analytics platform with built-in Meta + Google ad ops. For Google Ads specifically, the integration question is: how does Admaxxer connect to Google Ads? We use the official Google Ads API via an OAuth refresh token plus a developer token, query data with GAQL, and respect the default 15,000 operations-per-day quota that Google grants new developer tokens.
## The short answer
Admaxxer uses the Google Ads API (v17) with an OAuth refresh token plus a developer token. You complete a Google OAuth flow once, we store the refresh token encrypted with AES-256-GCM, and syncs run inside Google's 15,000 operations-per-day quota.
## Full answer
### The connection flow
When you click **Connect Google Ads**, Admaxxer redirects you to Google's OAuth consent screen and requests the `adwords` scope. After you authorize, Google returns a short-lived access token plus a long-lived refresh token. We:
1. Validate the refresh token by listing accessible customer IDs.
2. Let you pick which customer IDs (linked accounts and MCCs) to enable.
3. Encrypt the refresh token with AES-256-GCM and store it alongside your workspace.
From that point forward, Admaxxer exchanges the refresh token for access tokens as needed and makes authenticated API calls.
### GAQL queries
All Google Ads data in Admaxxer is fetched via **GAQL** (Google Ads Query Language). We run parameterized queries against resources like `campaign`, `ad_group`, `ad_group_ad`, `customer`, and `metrics` objects. One important detail we handle for you: `cost_micros` is always divided by 1,000,000 before it reaches dashboards, so spend values display in standard currency units without manual conversion.
### Quota and rate limits
Google Ads defaults to a **15,000 operations-per-day** cap per developer token before you apply for higher tiers. Admaxxer plans pulls so that a typical workspace stays far under this ceiling:
- Daily full syncs are consolidated into a small number of segmented GAQL reports rather than one query per campaign.
- Near-real-time insight pulls fall back to cached results if the daily quota is near exhaustion.
- Write operations (pause/update/create) are only invoked via explicit user or agent confirmation.
### Developer token and API version
`GOOGLE_ADS_API_VERSION` defaults to `v17`. The developer token is managed at the platform level; you never paste one in. If Google changes the API version or quota structure, we roll the version flag forward without requiring you to re-auth.
## Related questions
- [How does Admaxxer connect to Meta Ads?](/faq/how-does-admaxxer-connect-to-meta-ads)
- [How does Admaxxer store my credentials?](/faq/how-does-admaxxer-store-my-credentials)
- [Can the AI agent pause or launch campaigns?](/faq/can-the-ai-agent-pause-or-launch-campaigns)
Related Questions
Which Google Ads API version does Admaxxer use?
Admaxxer defaults to Google Ads API v17, configurable via the GOOGLE_ADS_API_VERSION environment variable for self-hosted deployments.
Does Admaxxer support Google Ads MCC accounts?
Yes. During the OAuth flow, Admaxxer lists every accessible customer ID including MCCs, and you can select which accounts to sync per workspace.
How does Admaxxer convert Google Ads cost_micros to spend?
Admaxxer divides cost_micros by 1,000,000 before any metric reaches dashboards, so spend values are always shown in standard currency units.
Still have questions?
See the full documentation or start a 7-day free trial — no credit card required.
Try Admaxxer Free