Google Ads Tools
Four tools for listing, querying, and managing Google Ads campaigns.
If you have only one Google Ads account connected, the customerId parameter is optional — Lever auto-resolves it. If multiple accounts are connected, you must specify the ID. Use list_connections to find your account IDs.
google_ads_list_campaigns
List all campaigns in the connected Google Ads account with performance metrics.
Type: read
| Parameter | Type | Required | Description |
|---|
customerId | string | No | Google Ads customer ID |
Example prompt: “Show me all my Google Ads campaigns”
Returns: Campaign name, status, daily budget, CPA, and CTR for each campaign.
google_ads_get_campaign
Get details of a specific Google Ads campaign.
Type: read
| Parameter | Type | Required | Description |
|---|
customerId | string | No | Google Ads customer ID |
campaignId | string | Yes | Campaign ID |
Example prompt: “Get details for Google Ads campaign 12345”
Returns: Campaign name, ID, status, budget, impressions, clicks, and CPA.
google_ads_query
Execute a raw GAQL (Google Ads Query Language) query for advanced reporting.
Type: read
| Parameter | Type | Required | Description |
|---|
customerId | string | No | Google Ads customer ID |
query | string | Yes | GAQL query string |
Example prompt: “Run a GAQL query to get campaign performance for the last 30 days”
Example GAQL Queries
Campaign performance:
SELECT
campaign.name,
campaign.status,
metrics.impressions,
metrics.clicks,
metrics.cost_micros,
metrics.conversions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.cost_micros DESC
Ad group metrics:
SELECT
ad_group.name,
ad_group.status,
metrics.impressions,
metrics.clicks,
metrics.average_cpc
FROM ad_group
WHERE campaign.id = 12345
AND segments.date DURING LAST_7_DAYS
Keyword stats:
SELECT
ad_group_criterion.keyword.text,
ad_group_criterion.keyword.match_type,
metrics.impressions,
metrics.clicks,
metrics.conversions
FROM keyword_view
WHERE segments.date DURING LAST_7_DAYS
ORDER BY metrics.impressions DESC
LIMIT 20
google_ads_update_campaign
Update a Google Ads campaign’s status or daily budget. Goes through draft-preview-confirm — returns a preview that must be confirmed before the change executes.
Type: write (draft-preview-confirm)
| Parameter | Type | Required | Description |
|---|
customerId | string | No | Google Ads customer ID |
campaignId | string | Yes | Campaign ID |
status | ENABLED | PAUSED | No | New campaign status |
dailyBudget | number | No | New daily budget in dollars |
Example prompt: “Pause my Google Ads campaign 12345”
Google Ads uses ENABLED and PAUSED for campaign status. This is different from Meta Ads, which uses ACTIVE and PAUSED.
Returns: A draft preview showing the proposed changes and a draftId. Call confirm_draft to execute.