Skip to main content

Google Ads Tools

Tools for creating, reading, updating, and optimizing Google Ads campaigns, ad groups, keywords, and ads.
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.

List all campaigns in the connected Google Ads account with performance metrics. Type: read Example prompt: “Show me all my Google Ads campaigns” Returns: Campaign name, status, daily budget, CPA, and CTR for each campaign.
Get details of a specific Google Ads campaign. Type: read Example prompt: “Get details for Google Ads campaign 12345” Returns: Campaign name, ID, status, budget, impressions, clicks, and CPA.
Execute a raw GAQL (Google Ads Query Language) query for advanced reporting. Returns paginated results (default 50 rows) with cursor-based pagination. Type: read
Default limit is 50 rows. Pass limit: 10000 for larger result sets, or use cursor for pagination. GAQL does not support OFFSET — use cursor-based pagination instead. summary cannot be combined with limit or cursor.
Example prompt: “Run a GAQL query to get campaign performance for the last 30 days” Example prompt: “Get the top 25 search terms by clicks for campaign 12345” → Uses limit: 25, orderBy: "metrics.clicks DESC" Example prompt: “Give me a summary of all search terms” → Uses summary: true

Example GAQL Queries

Campaign performance:
Ad group metrics:
Keyword stats:
Keywords in an ad group:

Update a Google Ads campaign’s name, status, budget, end date, or targeting. Goes through draft-preview-confirm — returns a preview that must be confirmed before the change executes. Type: write (draft-preview-confirm) Example prompt: “Pause campaign 12345” or “Target the US and Canada for campaign 12345”
At least one field must be provided. Targeting updates replace all existing targets of that type. Common location IDs: 2840 (US), 2124 (Canada), 2826 (UK). Common language IDs: 1000 (English), 1003 (Spanish), 1001 (French).
Budget updates on shared budgets (budgets linked to multiple campaigns) are not yet supported. Use the Google Ads UI for shared budget changes.
Returns: A draft preview showing the proposed changes and a draftId. Call confirm_draft to execute.
Create a new ad group with keywords and a responsive search ad in an existing Search campaign. Goes through draft-preview-confirm. Type: write (draft-preview-confirm) Example prompt: “Create a new ad group ‘Running Shoes’ in campaign 12345 with keywords ‘running shoes’ and ‘athletic footwear’”
Only Search campaigns are supported. The ad group, keywords, and ad are created atomically — if any part fails, nothing is created.
Returns: A draft preview showing the ad group, keywords, and ad to be created with a draftId. Call confirm_draft to execute.
Update a Google Ads ad group’s name. Goes through draft-preview-confirm. Type: write (draft-preview-confirm) Example prompt: “Rename ad group 12345 to ‘Brand Keywords’” Returns: A draft preview with a draftId. Call confirm_draft to execute.
Add and/or remove keywords in an ad group. Goes through draft-preview-confirm. Type: write (draft-preview-confirm) Example prompt: “Add ‘running shoes’ and remove keyword 456 from ad group 123”
At least one of add or remove must be provided. Additions are processed before removals. Get criterion IDs using google_ads_query on ad_group_criterion.
Returns: A draft preview with a draftId. Call confirm_draft to execute.
Update CPC bid overrides on keywords in an ad group. Goes through draft-preview-confirm. Type: write (draft-preview-confirm) Example prompt: “Set the CPC bid for keyword 123 in ad group 789 to $2.50” Returns: A draft preview with a draftId. Call confirm_draft to execute.
Update a Responsive Search Ad’s headlines, descriptions, or landing page URL. Goes through draft-preview-confirm. Type: write (draft-preview-confirm) Example prompt: “Update the headlines on ad 456 in ad group 123”
At least one field must be provided. When updating headlines or descriptions, provide the complete set — they replace all existing values. Only Responsive Search Ads are supported.
Returns: A draft preview with a draftId. Call confirm_draft to execute.