Documentation Index
Fetch the complete documentation index at: https://leverhq.app/docs/llms.txt
Use this file to discover all available pages before exploring further.
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.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 |
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 |
google_ads_query
Execute a raw GAQL (Google Ads Query Language) query for advanced reporting. Returns paginated results (default 50 rows) with cursor-based pagination. Type: read| Parameter | Type | Required | Description |
|---|---|---|---|
customerId | string | No | Google Ads customer ID |
query | string | Yes | GAQL query string |
limit | number | No | Maximum rows per page (default: 50, max: 10000). Response includes a cursor for the next page. |
orderBy | string | No | Sort results, e.g. metrics.clicks DESC. Injected as ORDER BY if not already in the query. |
summary | boolean | No | When true, returns aggregated stats (total count, summary metrics, top 10 rows) instead of full row data. |
cursor | string | No | Pagination cursor from a previous response. Pass to fetch the next page. |
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.limit: 25, orderBy: "metrics.clicks DESC"
Example prompt: “Give me a summary of all search terms”
→ Uses summary: true
Example GAQL Queries
Campaign performance:google_ads_update_campaign
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)| Parameter | Type | Required | Description |
|---|---|---|---|
customerId | string | No | Google Ads customer ID |
campaignId | string | Yes | Campaign ID |
campaignName | string | No | New campaign name |
status | ENABLED | PAUSED | No | New campaign status |
dailyBudget | number | No | New daily budget in account currency |
endDate | string | No | Campaign end date (YYYY-MM-DD) |
locationIds | string[] | No | Geo target constant IDs (replaces all existing locations) |
languageIds | string[] | No | Language constant IDs (replaces all existing languages) |
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.
draftId. Call confirm_draft to execute.
google_ads_create_ad_group
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)| Parameter | Type | Required | Description |
|---|---|---|---|
customerId | string | No | Google Ads customer ID |
campaignId | string | Yes | Campaign ID |
adGroupName | string | Yes | Ad group name |
keywords | array | Yes | Keywords (1-20) |
keywords[].text | string | Yes | Keyword text (max 80 chars) |
keywords[].matchType | BROAD | PHRASE | EXACT | No | Match type (default: BROAD) |
headlines | string[] | Yes | RSA headlines (3-15, max 30 chars each) |
descriptions | string[] | Yes | RSA descriptions (2-4, max 90 chars each) |
finalUrl | string | Yes | Landing page URL |
Only Search campaigns are supported. The ad group, keywords, and ad are created atomically — if any part fails, nothing is created.
draftId. Call confirm_draft to execute.
google_ads_update_ad_group
Update a Google Ads ad group’s name. Goes through draft-preview-confirm. Type: write (draft-preview-confirm)| Parameter | Type | Required | Description |
|---|---|---|---|
customerId | string | No | Google Ads customer ID |
adGroupId | string | Yes | Ad group ID |
adGroupName | string | Yes | New ad group name |
draftId. Call confirm_draft to execute.
google_ads_manage_keywords
Add and/or remove keywords in an ad group. Goes through draft-preview-confirm. Type: write (draft-preview-confirm)| Parameter | Type | Required | Description |
|---|---|---|---|
customerId | string | No | Google Ads customer ID |
adGroupId | string | Yes | Ad group ID |
add | array | No | Keywords to add (max 20) |
add[].text | string | Yes | Keyword text (max 80 chars) |
add[].matchType | BROAD | PHRASE | EXACT | Yes | Match type |
remove | string[] | No | Criterion IDs of keywords to remove (max 20) |
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.draftId. Call confirm_draft to execute.
google_ads_update_keyword_bids
Update CPC bid overrides on keywords in an ad group. Goes through draft-preview-confirm. Type: write (draft-preview-confirm)| Parameter | Type | Required | Description |
|---|---|---|---|
customerId | string | No | Google Ads customer ID |
adGroupId | string | Yes | Ad group ID |
keywords | array | Yes | Keywords with new bids (max 20) |
keywords[].criterionId | string | Yes | Keyword criterion ID |
keywords[].cpcBid | number | Yes | New CPC bid in account currency |
draftId. Call confirm_draft to execute.
google_ads_update_ad
Update a Responsive Search Ad’s headlines, descriptions, or landing page URL. Goes through draft-preview-confirm. Type: write (draft-preview-confirm)| Parameter | Type | Required | Description |
|---|---|---|---|
customerId | string | No | Google Ads customer ID |
adGroupId | string | Yes | Ad group ID containing the ad |
adId | string | Yes | Ad ID to update |
headlines | string[] | No | New headlines (3-15, max 30 chars each) |
descriptions | string[] | No | New descriptions (2-4, max 90 chars each) |
finalUrl | string | No | New landing page URL |
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.
draftId. Call confirm_draft to execute.
