@taskmagic/apps-google-ads
v0.0.1
Published
Reporting integration for the [Google Ads API](https://developers.google.com/google-ads/api).
Readme
Google Ads
Reporting integration for the Google Ads API.
Bring-your-own credentials
There is no one-click connection, and that's not an oversight. The Google Ads API requires a developer token that Google issues per Google Ads manager account after a review — TaskMagic's token can't be used on your behalf. So the connection collects five values:
- Developer token — manager (MCC) account → Tools → API Center
- Client ID / Client Secret — an OAuth 2.0 Desktop app client in a Google Cloud project with the Google Ads API enabled
- Refresh token — for that client, with the
https://www.googleapis.com/auth/adwordsscope - Customer ID — the account to work with, digits only
- Login Customer ID — only when reaching the account through a manager
A brand-new developer token has test-account access only. If calls fail with
PERMISSION_DENIED while everything looks right, that's almost always why — you have to apply to
Google for Basic access.
The API version is a connection field
Google sunsets Google Ads API versions on a schedule. Today v21 and v20 answer; v19 and
older already return 404. Pinning a version in code guarantees the piece breaks on a date we don't
control, so it's editable and defaults to v21.
Actions
List Campaigns, Get Campaign Metrics, Run GAQL Query, List Accessible Accounts.
Run GAQL Query is the escape hatch — any Google Ads Query Language statement, e.g.
SELECT campaign.id, metrics.clicks FROM campaign WHERE segments.date DURING LAST_7_DAYS.
Results follow nextPageToken up to a page cap and report truncated, so you can tell a
complete answer from a partial one rather than silently getting page one.
Read-only, deliberately
Everything here is a GAQL search. Mutating campaigns, budgets or bids through a flow moves real ad spend, and the right first version is reporting rather than a way for a misconfigured trigger to change a budget. Mutation actions can be added later as a considered decision.
