# Google Ads through toolfare

> CPA and ROAS by campaign, keyword and search-term reports, recommendations with their estimated impact, change history and Performance Max structure — answered inside ChatGPT, Claude, Codex or Cursor. Connect your Google Ads account to toolfare once; your AI reads it with your own login, and every read is free.

Page: https://toolfare.ai/google-ads

## Use it from your agent

Paste this into Claude Code, Codex, Cursor or any agent with a shell:

> Set up https://toolfare.ai/skill.md, then use toolfare to answer: What was our Google Ads CPA by campaign last month?

Apps without a terminal connect toolfare as an MCP server: https://toolfare.ai/docs#connect

## Use it from a script

```sh
mkdir -p ~/.local/bin
curl -fsSL 'https://toolfare.ai/toolfare/toolfare.mjs' -o ~/.local/bin/toolfare
chmod +x ~/.local/bin/toolfare
export PATH="$HOME/.local/bin:$PATH"
export TOOLFARE_MCP_URL='https://api.toolfare.ai/mcp'
toolfare login
```

Then connect your Google Ads account in the toolfare console (https://toolfare.ai/google-ads#setup); calls fail until it is connected.

Sign in once per machine; the CLI renews the sign-in itself. On a CI runner or another server, create an API key in the toolfare console and set it as `TOOLFARE_API_KEY` instead of signing in. Paid calls on one sign-in or key run one at a time. `--max-cost` refuses a call quoted above that many credits (1,000 credits = $3).

## Tools

### CPA and ROAS by campaign, ad group or day

Tool: `ads_query_single_dimension`

Spend, clicks, conversions, CPA and ROAS, grouped by one dimension over a date range — read from toolfare’s synced copy of the account, so a whole quarter answers in one call.

Ask:
- What was our Google Ads CPA by campaign last month?
- Which campaigns had the best ROAS in the last 30 days?

### Keyword and search-term reports, ready-made

Tool: `ads_get_google_ads_report`

Account, campaign, ad, keyword, search-term and bidding-strategy reports with fixed columns, read live — the last 30 days unless you name a range.

Ask:
- Which search terms spent the most without converting?
- Show me the keyword report for the last 30 days.

### Any Google Ads field, through GAQL

Tool: `ads_gaql_search`

A live Google Ads Query Language search for the fields, segments and combinations the ready-made reports do not expose — responsive search ad headlines, device by hour, and the like.

Ask:
- Pull the headlines on our responsive search ads.
- Break down clicks by device and hour of day for this campaign.

### Google’s recommendations, with their impact

Tool: `ads_get_recommendations`

The account’s automated recommendations — add keywords, raise a budget, change bidding — each with the baseline and the estimated change in impressions, clicks and cost.

Ask:
- What does Google recommend for this account, and what would it change?
- Which recommendations have the biggest estimated impact?

### Who changed what, and from where

Tool: `ads_get_change_history`

Google’s own change events: the user, the fields that changed, and whether it came from the UI, the API or an automated rule.

Ask:
- Who changed bids on this campaign last week?
- Did an automated rule change anything before the drop?

### Inside a Performance Max campaign

Tool: `ads_get_pmax_campaign`

One Performance Max campaign with its asset groups, final URLs, asset attachments and the approval state of its signals.

Ask:
- What asset groups does our Performance Max campaign have?
- Are the signals on this PMax campaign approved?

### Also available

- `ads_audit_ad_automation_inventory`: Audit every tracked automation setting against the live account
- `ads_audit_creative_automation`: Check whether AI-automation settings drifted from what was approved
- `ads_create_ad`: Draft a paused ad from a creative
- `ads_get_bidding_strategy`: One portfolio bidding strategy
- `ads_get_campaign`: One campaign’s live settings and status
- `ads_get_conversion_tracking_snippets`: Installable conversion tag snippets
- `ads_get_data_readiness`: Which date ranges have finished syncing
- `ads_get_deploy_readiness`: Whether conversion tracking is ready for a conversion campaign
- `ads_get_offline_conversion_readiness`: Whether offline conversions are set up to be received
- `ads_get_resource_metadata`: Which fields a GAQL resource can select and filter
- `ads_get_tree_structure`: The accounts under a manager (MCC) account
- `ads_list_account_negative_keywords`: Account-level negative keywords
- `ads_list_ad_accounts`: The ad accounts your toolfare account can read
- `ads_list_ad_group_negative_keywords`: An ad group’s negative keywords
- `ads_list_ads`: The ads in an account, campaign or ad group
- `ads_list_bidding_strategies`: Portfolio Target CPA and Target ROAS strategies
- `ads_list_campaign_negative_keywords`: A campaign’s negative keywords
- `ads_list_campaigns`: Every campaign, with live status and budget
- `ads_list_conversion_actions`: The conversion actions the account tracks
- `ads_list_countries`: Country targeting codes
- `ads_list_customers`: The customer accounts your login can reach
- `ads_list_languages`: Language targeting codes
- `ads_preview_automation_baseline`: Read an entity’s current automation settings
- `ads_query_multi_dimension`: Performance broken down by several dimensions at once

## Price

Free to read: it is your own account, so toolfare pays nobody for the data and charges nothing per read. No per-read charge to observe. Reads need no purchase. Like every toolfare call, they run only while your balance holds at least $0.003, and that is not spent.

Balances and top-ups are in US dollars. Quotes and `--max-cost` count credits: 1,000 credits = $3 ($0.003 each).

## Use it when

- Your Google Ads CPA or ROAS moved and you want the campaign or ad group behind it.
- You want the search terms that spend without converting, or a keyword report without exporting one.
- You need a Google Ads field or segment no ready-made report covers.
- You want Google’s recommendations with their estimated impact, or to know who changed a bid.

## Look elsewhere when

- You want organic rankings for the same query. Paid and organic search are different reports — read Search Console instead.
- You want what a competitor bids on or runs. Your ad account only knows your own ads.
- You want to add a keyword, apply a recommendation or change a budget. Over MCP your AI can only propose new ads, and each one waits for your approval in toolfare.

## Limits

- The reporting tool reads toolfare’s synced copy of the account. While a freshly connected account backfills, the live GAQL search is the named fallback for the windows still syncing.
- GAQL and the ready-made reports go through Google’s own API and are subject to its quotas.
- Performance Max signals come back as identity and approval state; Google does not allow selecting their audience or search-theme content.
- Only accounts you connected are readable; a manager account shows only the customers your login can reach.
