Marketing Automation
Google Ads
API integration
Ship Marketing Automation features without building the integration. Full Google Ads API access via Proxy, normalized data through Unified APIs, and 190+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with Google Ads
Common scenarios for SaaS companies building Google Ads integrations for their customers.
Centralize cross-channel ad reporting for your customers
SaaS analytics platforms can pull Google Ads account, campaign, ad group, and ad-level data through Truto's Unified Ads Management API — alongside other ad platforms — to give end users a single dashboard for all paid media performance without building separate integrations for each channel.
Sync CRM audiences into Google Ads for precision targeting
CRM and CDP platforms can push dynamically updated customer segments into Google Ads as Custom Audiences, enabling end users to run remarketing or exclusion campaigns directly from their existing workflow without switching to the Google Ads UI.
Automate campaign and ad management from your product
E-commerce platforms, feed managers, and marketing automation tools can let their users create, pause, and update Google Ads campaigns, ad groups, and assets programmatically — for example, pausing ads for out-of-stock products or launching campaigns from a product catalog.
Offer multi-account ad oversight for agency clients
Agency management software can use the Unified Ads Management API to read accounts, campaigns, and performance data across all of an agency's client Google Ads accounts, enabling centralized monitoring and bulk operations from a single interface.
Enrich user and workspace data for access governance
Security and IT governance platforms can leverage the Unified User Directory API to read Google Ads user roles and workspace structures, helping their customers audit who has access to ad accounts and enforce least-privilege policies.
What You Can Build
Ship these features with Truto + Google Ads
Concrete product features your team can ship faster by leveraging Truto’s Google Ads integration instead of building from scratch.
Unified paid media dashboard
Display Google Ads campaign spend, impressions, and clicks alongside other ad platforms in a single view by reading Accounts, Campaigns, Ad Groups, and Ads through the Unified Ads Management API.
Dynamic audience sync from CRM segments
Push customer lists from your platform into Google Ads Custom Audiences so end users can target or exclude specific segments without leaving your product.
Programmatic campaign launcher
Let users create and configure Google Ads Campaigns, Ad Groups, Ads, and Assets directly from your app's interface — ideal for e-commerce merchants who want to launch ads from their store admin.
Cross-account ad performance alerts
Monitor campaign and ad group status changes across multiple Google Ads accounts and trigger notifications when budgets are exhausted or campaigns are paused.
Ad account access audit log
Use the Unified User Directory API to list users, roles, and workspaces associated with Google Ads accounts, giving IT and compliance teams visibility into who can manage ad spend.
Creative asset library with performance context
Sync ad Assets and their associated Ads from Google Ads so creative teams can review which headlines, descriptions, and images are running and how they map to active campaigns.
SuperAI
Google Ads AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_google_ads_customers
List the client accounts under the connected manager account (MCC) in Google Ads via a GAQL query on customer_client joined with customer (API v25). Each row has customer_client (id, descriptive_name, level, manager, status, currency_code, time_zone, test_account, hidden, client_customer) and the customer settings. Uses the manager id from the connected credentials; no parameters required.
create_a_google_ads_customer
Create a new client account under the connected manager account in Google Ads (API v25, customers:createCustomerClient). The new account inherits the manager and must specify descriptive_name, currency_code and time_zone. Returns: resourceName of the new customer and an invitationLink when email_address was given. Required: customerClient.
get_single_google_ads_customer_by_id
Get a single Google Ads customer (account) by id via GAQL on the customer resource (API v25): descriptive_name, currency_code, time_zone, manager flag, auto_tagging, conversion tracking, call reporting and remarketing settings, optimization score. Required: id (the 10-digit customer id).
google_ads_customers_create_customer_client
Create a new client account under a manager in Google Ads. Returns the new client customer including its resource_name, id, descriptive_name, currency_code, and time_zone. Required: customer_id (the manager account id).
google_ads_customers_list_accessible_customers
List Google Ads customer accounts directly accessible by the user authenticating the call. Returns: resourceNames.g. customers/1234567890) usable as login-customer-id values. Takes no query parameters or request body.
google_ads_customers_mutate
Update an existing Google Ads customer with a single update operation. Returns the first mutate result including the customer's resource_name, id, descriptive_name, and currency_code. Required: customer_id. Only update operations are supported for customer.
google_ads_customers_suggest_brands
Rpc to return a list of matching brands based on a prefix for this customer. (Google Ads API v25, POST v25/customers/{+customerId}:suggestBrands). Required: customer_id.
google_ads_customers_generate_benchmarks_metrics
Returns YouTube advertisement metrics for the given client against industry benchmarks. (Google Ads API v25, POST v25/customers/{+customerId}:generateBenchmarksMetrics). Required: customer_id.
list_all_google_ads_campaigns
List campaigns with their budget, bidding strategy and campaign group in a Google Ads account with a fixed Google Ads Query Language (GAQL) query over the campaign resource (API v25). Each row contains the selected fields grouped by resource: accessible_bidding_strategy, bidding_strategy, campaign, campaign_budget, campaign_group. Required: customer_id.
create_a_google_ads_campaign
Create, update or remove campaigns in a Google Ads account (API v25, campaigns:mutate). Send a list of operations; a create needs name, advertising_channel_type, status, campaign_budget (resource name) and a bidding strategy field such as manual_cpc or maximize_conversions. Returns the resource name of each affected campaign. Required: customer_id, operations.
google_ads_campaigns_enable_pmax_brand_guidelines
Enable Brand Guidelines for Performance Max campaigns in Google Ads. Returns an empty 204 response on success. Required: customer_id.
list_all_google_ads_ads_fields
Look up the Google Ads API field metadata for a resource, field, segment or metric name (API v25, googleAdsFields:search): data type, whether it is selectable, filterable and sortable, which resources it can be selected with, and enum values. Useful for building GAQL queries. Required: truto_resource_name.
list_all_google_ads_ad_groups
List ad groups with their campaign and bidding strategy in a Google Ads account with a fixed Google Ads Query Language (GAQL) query over the ad_group resource (API v25). Each row contains the selected fields grouped by resource: accessible_bidding_strategy, ad_group, bidding_strategy. Required: customer_id.
create_a_google_ads_ad_group
Create, update or remove ad groups in a Google Ads account (API v25, adGroups:mutate). A create needs name, campaign (resource name), status and optionally type and cpc_bid_micros. Returns the resource name of each affected ad group. Required: customer_id, operations.
list_all_google_ads_ad_group_ads
List ads within ad groups (ad_group_ad) including the full ad definition for every ad format in a Google Ads account with a fixed Google Ads Query Language (GAQL) query over the ad_group_ad resource (API v25). Each row contains the selected fields grouped by resource: ad_group_ad, campaign. Required: customer_id.
create_a_google_ads_ad_group_ad
Create, update or remove ads in ad groups of a Google Ads account (API v25, adGroupAds:mutate). A create needs ad_group (resource name), status and an ad object with final_urls and one ad format, e.g. responsive_search_ad with headlines and descriptions. Returns the resource name of each affected ad. Required: customer_id, operations.
get_single_google_ads_ad_by_id
Get a single ad by id in a Google Ads account using the REST ads resource (API v25). Returns the Ad object: resourceName, id, type, finalUrls, displayUrl, name, and the format-specific fields such as responsiveSearchAd headlines and descriptions. Required: customer_id, id.
list_all_google_ads_ads
List ads (via ad_group_ad) for a customer using GAQL. Alias of ad-group-ads.list used by the unified ads model.
google_ads_ads_mutate
Updates ads. Operation statuses are returned. Updating ads is not supported for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. (Google Ads API v25, POST v25/customers/{+customerId}/ads:mutate). Required: customer_id. Use validateOnly to test without executing.
list_all_google_ads_campaign_budgets
List campaign budgets in a Google Ads account with a fixed Google Ads Query Language (GAQL) query over the campaign_budget resource (API v25). Each row contains the selected fields grouped by resource: campaign_budget. Required: customer_id.
get_single_google_ads_campaign_budget_by_id
Get one campaign budget by id from a Google Ads account using a GAQL query on campaign_budget (API v25). Returns the selected campaign_budget fields. Required: customer_id, id.
list_all_google_ads_assets
List assets (images, text, sitelinks, callouts, videos and other asset types) in a Google Ads account with a fixed Google Ads Query Language (GAQL) query over the asset resource (API v25). Each row contains the selected fields grouped by resource: asset. Required: customer_id.
create_a_google_ads_asset
Create assets in a Google Ads account (API v25, assets:mutate): text, image (base64 data), YouTube video, sitelink, callout, call, lead form and other asset types. Returns the resource name of each created asset. Required: customer_id, operations.
list_all_google_ads_bidding_strategies
List portfolio bidding strategies in a Google Ads account with a fixed Google Ads Query Language (GAQL) query over the bidding_strategy resource (API v25). Each row contains the selected fields grouped by resource: bidding_strategy. Required: customer_id.
list_all_google_ads_users
List the users with access to a Google Ads account via GAQL on customer_user_access (API v25): email, access_role, user_id, inviter and creation time. Defaults to the connected manager account when customer_id is omitted. Optional: customer_id.
get_single_google_ads_user_by_id
Get one user's access record on a Google Ads account by user id via GAQL on customer_user_access (API v25). Returns: emailAddress, userId, accessRole, inviterUserEmailAddress, accessCreationDateTime, resourceName. Required: id (user id). Optional: customer_id.
create_a_google_ads_custom_audience
Create a custom audience in a Google Ads account (API v25, customAudiences:mutate) from keywords, URLs, apps or place categories. Returns the resource name of the new audience. Required: customer_id, operations.
update_a_google_ads_custom_audience_by_id
Update a custom audience in a Google Ads account (API v25, customAudiences:mutate with update operations and an update_mask). Returns the resource name of the updated audience. Required: customer_id, operations.
list_all_google_ads_custom_audiences
List custom audiences (interest and search-intent audiences built from keywords, URLs, apps and places) in a Google Ads account with a fixed Google Ads Query Language (GAQL) query over the custom_audience resource (API v25). Each row contains the selected fields grouped by resource: custom_audience. Required: customer_id.
get_single_google_ads_custom_audience_by_id
Get one custom audience by id from a Google Ads account using a GAQL query on custom_audience (API v25). Returns the selected custom_audience fields. Required: customer_id, id.
list_all_google_ads_audiences
List audiences (combined audience definitions with dimensions such as age, gender, interests and user lists) in a Google Ads account via GAQL on the audience resource (API v25). Rows are returned as searchStream chunks each holding results[] of {audience}. Required: customer_id.
get_single_google_ads_audience_by_id
Get one audience by id in a Google Ads account via GAQL on the audience resource (API v25). Returned as searchStream chunks with results[] holding the matching audience. Required: customer_id, id.
google_ads_audiences_mutate
Create, update, or remove Google Ads audiences in a single mutate call. Returns the mutate result including the resource_name of the affected audience. Required: customer_id, operations.
list_all_google_ads_user_list
List user lists (remarketing and Customer Match lists) with their type, size, membership settings and rules in a Google Ads account with a fixed Google Ads Query Language (GAQL) query over the user_list resource (API v25). Each row contains the selected fields grouped by resource: user_list. Required: customer_id.
get_single_google_ads_user_list_by_id
Get one user list by id from a Google Ads account using a GAQL query on user_list (API v25). Returns the selected user_list fields. Required: customer_id, id.
create_a_google_ads_user_list
Create a user list in a Google Ads account (API v25, userLists:mutate), e.g. a Customer Match list (crm_based_user_list with upload_key_type CONTACT_INFO) or a rule-based list. Returns the resource name of each created list. Required: customer_id, operations.
create_a_google_ads_add_user_datum
Upload hashed customer data (emails, phone numbers, addresses) directly to a Customer Match user list in a Google Ads account (API v25, customers:uploadUserData). Suitable for small uploads; use offline_user_data_job for large or scheduled uploads. Values must be normalized and SHA-256 hashed. Returns: uploadDateTime, receivedOperationsCount. Required: customer_id, operations, customerMatchUserListMetadata.
list_all_google_ads_offline_user_data_job
List offline user data jobs (Customer Match and store sales uploads) with their status and type in a Google Ads account with a fixed Google Ads Query Language (GAQL) query over the offline_user_data_job resource (API v25). Each row contains the selected fields grouped by resource: offline_user_data_job. Required: customer_id.
create_a_google_ads_offline_user_data_job
Create an offline user data job in a Google Ads account (API v25, offlineUserDataJobs:create) for a Customer Match user list or store sales upload. Then call add-operations with the hashed identifiers and run to start processing. Returns: resourceName of the job. Required: customer_id, job.
get_single_google_ads_offline_user_data_job_by_id
Get one offline user data job by id from a Google Ads account using a GAQL query on offline_user_data_job (API v25). Returns the selected offline_user_data_job fields. Required: customer_id, id.
google_ads_offline_user_data_job_add_operations
Add user data operations to a pending offline user data job in a Google Ads account (API v25, offlineUserDataJobs:addOperations). Each operation creates or removes a user identified by hashed email, hashed phone, address info, mobile id or third-party id. Call repeatedly in batches, then run the job. Returns partialFailureError and warning details if any. Required: customer_id, offline_user_data_job_id, operations.
google_ads_offline_user_data_job_run
Start processing an offline user data job in a Google Ads account (API v25, offlineUserDataJobs:run) after its operations have been added. Processing is asynchronous: poll offline_user_data_job.get until status is SUCCESS or FAILED. Returns a long-running operation with name and done. Required: customer_id, offline_user_data_job_id.
google_ads_ad_group_ad_labels_mutate
Create or remove ad group ad-label relationships in googleads via a single batch call. Returns the mutate result including the resource_name of the affected ad group ad label. Required: customer_id and an operations array of create or remove entries; update is not supported.
google_ads_ad_group_asset_sets_mutate
Create or remove ad group asset sets in Google Ads (supports create and remove operations; update is not available on this resource). Returns: resource_name. Required: customer_id and operations.
google_ads_ad_group_assets_mutate
Create, update, or remove ad group assets in Google Ads. Returns the mutate result including the resourceName of the affected ad group asset. Each operation supplies create (full resource JSON), update (sparse, with updateMask), or remove (resource name). Required: customer_id, operations.
google_ads_ad_group_bid_modifiers_mutate
Create, update, or remove ad group bid modifiers in Google Ads by submitting a batch of operations. Returns the mutation result including its resource_name. Required: customer_id, operations.
google_ads_ad_group_criteria_mutate
Create, update, or remove an ad group criterion in googleads via the AdGroupCriterionService mutate. Returns the first mutate result, including its resource_name. Required: customer_id, and an operations body carrying the criterion create/update/remove payload.
google_ads_ad_group_criterion_labels_mutate
Create or remove ad group criterion label relationships in googleads. Returns the first mutate result including its resourceName. Required: customer_id and operations — each operation is either a create (full ad group criterion label relationship) or a remove.
google_ads_ad_group_customizers_mutate
Create, update, or remove ad group customizers for a googleads customer. Returns the mutate result including the resourceName of the affected ad group customizer. Required: customer_id.
google_ads_ad_group_labels_mutate
Create or remove ad group-label relationships in Google Ads. Returns the first mutate result including the resource_name of the affected ad group label. Required: customer_id.
google_ads_ad_parameters_mutate
Create, update, or remove ad parameters in Google Ads — numeric values (such as prices or inventory levels) substituted into ad text placeholders like {param1:$17}. Returns the mutate result including the resource_name of the affected ad parameter. Required: customer_id. Max two ad parameters per ad group criterion (parameter_index 1 or 2).
google_ads_asset_group_assets_mutate
Create, update, or remove asset group assets in googleads by sending a batch of operations to a customer's asset group assets. Returns the first mutate result including its resource_name. Requires customer_id and operations; use enable_partial_failure to continue past failed operations.
google_ads_asset_group_listing_group_filters_mutate
Create, update, or remove asset group listing group filters in googleads using a batch of operations. Returns: resource_name. Required: customer_id, operations. Max 10,000 operations per request.
google_ads_asset_group_signals_mutate
Create or remove asset group signals in googleads. Returns the resource_name of the first mutate result. Required: customer_id, operations. Each operation supports create and remove only (no update).
google_ads_asset_groups_mutate
Create, update, or remove asset groups in a Google Ads customer account in a single call. Returns the mutate result including resourceName of the affected asset group. Required: customer_id, operations.
google_ads_asset_set_assets_mutate
Create, update, or remove asset set assets in Google Ads by sending an operations array. Returns the resourceName of the first mutated asset set asset. Required: customer_id, operations. A single mutate request cannot contain more than 10,000 operations.
google_ads_asset_sets_mutate
Create, update, or remove asset sets in a Google Ads customer account. Returns the mutate result with the resourceName of the affected asset set. Required: customer_id, operations.
google_ads_batch_jobs_add_operations
Add operations to a batch job in googleads as part of the batch job workflow. Returns the raw JSON response body; no enumerable response fields are documented upstream. Required: customer_id, batch_job_id.
google_ads_batch_jobs_list_results
List the results of a batch job in googleads. Returns a paged list of per-operation results, each including a status field with error details if the operation failed, plus next_page_token for further pages. The job must be done before results can be listed. Required: customer_id, batch_job_id.
google_ads_batch_jobs_mutate
Create a batch job in googleads. Returns the created batch job result with its resource_name. Required: customer_id.
google_ads_batch_jobs_run
Run a batch job in googleads. Returns a long-running operation with name, done, and metadata that can be polled to track progress. Required: customer_id, batch_job_id.
google_ads_bidding_data_exclusions_mutate
Create, update, or remove Google Ads bidding data exclusions in a single batched call. Returns the mutation result with the resource_name of the affected data exclusion. Required: customer_id, operations (each operation sets exactly one of create, update, or remove).
google_ads_bidding_seasonality_adjustments_mutate
Create, update, or remove bidding seasonality adjustments in a googleads customer account by submitting operations (each performs a create, update, or remove on one adjustment). Returns the mutate result including the resource_name of the affected seasonality adjustment. Required: operations, customer_id.
google_ads_bidding_strategies_mutate
Create, update, or remove Google Ads bidding strategies in one call. Returns the result of the first operation, including its resource_name. Required: customer_id, operations.
google_ads_campaign_budgets_mutate
Create, update, or remove campaign budgets in googleads. Returns the result of the campaign budget mutate for the submitted operations, identifying the affected budget resource. Required: customer_id (the Google Ads customer id path parameter).
google_ads_campaign_criteria_mutate
Create, update, or remove campaign criteria in googleads by sending a batch of operations in a single request. Returns the mutate result including resource_name of the affected campaign criterion. Required: customer_id and operations.
google_ads_campaign_drafts_list_async_errors
List all errors that occurred during a campaign draft promote in Google Ads. Returns a paged collection of error objects (errors). Required: customer_id, campaign_draft_id.
google_ads_campaign_drafts_mutate
Create, update, or remove campaign drafts in Google Ads by sending operations in the request body. Returns the mutate result including the resourceName of the affected campaign draft. Required: customer_id, operations.
google_ads_campaign_drafts_promote
Promote the changes in a campaign draft back to its base campaign in Google Ads. Returns a Long Running Operation including name, done, and metadata to poll until the promote finishes. Required: customer_id, campaign_draft_id.
google_ads_campaign_groups_mutate
Create, update, or remove Google Ads campaign groups in a single batch by sending an operations array. Returns the first operation's result including its resourceName. Required: customer_id and operations.
google_ads_campaign_labels_mutate
Create or remove campaign-label relationships in googleads by submitting create/remove operations. Returns the mutate result for the first operation, including the resource_name of the affected campaignLabel (format: customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}). Required: customer_id, operations.
google_ads_campaign_shared_sets_mutate
Create or remove campaign shared sets associated with a campaign in Google Ads. Returns the resource_name of the mutated campaign shared set. Required: customer_id, operations.
google_ads_conversion_actions_mutate
Create, update, or remove conversion actions in googleads via a single mutate request. Returns the result of the first operation, including the resource_name of the affected conversion action. Required: customer_id and operations.
google_ads_conversion_adjustments_upload_conversion_adjustments
Upload conversion adjustments (e.g. retractions or restatements of previously reported conversions) to Google Ads for a customer account. Returns the UploadConversionAdjustmentsResponse message as JSON with processing results per submitted adjustment. Required: customer_id and the conversion adjustments payload. Max 2,000 adjustments per request; larger uploads are rejected.
google_ads_conversion_custom_variables_mutate
Create or update conversion custom variables in googleads by sending operations in the request body. Returns the result of the mutate (resource_name of the affected conversion custom variable). Required: customer_id (path) and operations.
google_ads_conversions_upload_call_conversions
Upload offline call conversions to a Google Ads customer account for processing. Returns the upstream UploadCallConversionsResponse with per-conversion processing results. Required: customer_id. Max 2,000 call conversions per request; exceeding it is rejected as TOO_MANY_CONVERSIONS_IN_REQUEST.
google_ads_conversions_upload_click_conversions
Upload offline click conversions to a Google Ads customer account for processing. Returns the upstream UploadClickConversionsResponse with per-conversion processing results. Required: customer_id. Max 2,000 click conversions per request; exceeding it is rejected as TOO_MANY_CONVERSIONS_IN_REQUEST.
get_single_google_ads_google_ads_field_by_id
Get a single Google Ads API field's metadata by name. Returns the GoogleAdsField record including name, category, data_type, selectable, filterable, sortable, selectable_with, and is_repeated. Required: field_name (e.g. "campaign" or "metrics.impressions").
google_ads_labels_mutate
Create, update, or remove labels in a Google Ads customer account. Returns the label mutate result including its id and attributes. Required: customer_id.
google_ads_remarketing_actions_mutate
Create, update, or remove remarketing actions in googleads. Returns the mutate result including the resource_name of the affected remarketing action. Required: customer_id, operations (array of create/update/remove operations).
google_ads_shared_criteria_mutate
Create, update, or remove shared criteria (keyword or placement criteria within a shared set) in a Google Ads customer account in a single mutate request. Returns: resource_name. Required: customer_id and at least one entry in operations (create, update with updateMask, or remove).
google_ads_shared_sets_mutate
Create, update, or remove shared sets in Google Ads by submitting a list of operations in the request body. Returns: resource_name. Required: customer_id and operations.
google_ads_user_list_customer_types_mutate
Create, update, or remove user list customer types for a Google Ads customer. Returns the mutate result including the resource_name of the affected user list customer type. Required: customer_id. Max 10,000 operations per request.
create_a_google_ads_account_link
Create an account link between a Google Ads account and another account in googleads. Returns result containing the resource_name of the created link. Required: customer_id, account_link.
google_ads_account_links_mutate
Create or remove an account link in googleads. Returns the resource_name of the affected account link. Required: customer_id, operation.
audience_insights_generate_audience_composition_insights
Generate audience composition insights for an audience in a Google Ads customer account. Returns the insights report object with content-type-specific fields under attributes (attribute sections with share and index metrics versus a baseline). Required: customer_id. Allowlisted customers only; limited to roughly 200 requests per day per customer.
google_ads_audience_insights_generate_audience_definition
Generate a structured audience definition from a text description using generative AI in a Google Ads customer account. Returns the insights report object with content-type-specific fields under attributes (the generated audience definition and its audience attributes). Required: customer_id. Allowlisted customers only.
google_ads_audience_insights_generate_insights_finder_report
Create a saved Insights Finder report for a Google Ads customer account. Returns the report object with content-type-specific fields under attributes, including the shareable URL for the report. Required: customer_id. Allowlisted customers only.
audience_insights_generate_suggested_targeting_insights
Generate suggested targeting insights for an audience in a Google Ads customer account. Returns the insights report object with content-type-specific fields under attributes (targetable audiences relevant to the requested audience). Required: customer_id. Allowlisted customers only; limited to roughly 200 requests per day per customer.
google_ads_audience_insights_list_insights_eligible_dates
List the date ranges for which audience insights data can be requested in Google Ads. Returns the ListInsightsEligibleDatesResponse message; the discovered source documents no field-level breakdown of its contents. Takes no documented request inputs.
google_ads_audience_insights_search_attributes
Search audience insights attributes in Google Ads — finds attributes that can be used to generate insights. Returns a response whose fields are defined by the upstream ListAudienceInsightsAttributes message; consult the Google Ads API reference for the field-level breakdown. Required: customer_id.
google_ads_audience_insights_generate_audience_overlap_insights
List audience overlap information between a base YouTube channel and other YouTube channels in a Google Ads customer account. Returns the overlap report object with content-type-specific fields under attributes (per-channel overlap metadata against the base channel). Required: customer_id. Allowlisted customers only.
audience_insights_generate_targeting_suggestion_metrics
Returns potential reach metrics for targetable audiences. This method helps answer questions like "How many Men aged 18+ interested in Camping can be reached on YouTube?" (Google Ads API v25, POST v25/customers/{+customerId}:generateTargetingSuggestionMetrics). Required: customer_id.
google_ads_billing_setups_mutate
Mutate a billing setup in Google Ads: use the create operation to create a new billing setup or the remove operation to cancel a pending one. Returns: result. Required: customer_id and operation. Only one operation is permitted per request.
google_ads_custom_interests_mutate
Create, update, or remove Google Ads custom interests in bulk by submitting a list of mutate operations. Returns the first mutate result, including the resource_name of the affected custom interest. Required: customer_id and operations. Max 10,000 operations per request.
google_ads_experiments_end_experiment
Immediately end an experiment in Google Ads, changing the experiment's scheduled end date. Returns an empty 204 response on success. Required: customer_id, experiment_id.
google_ads_experiments_graduate_experiment
Graduate an experiment to a full campaign in Google Ads. Returns an empty 204 response on success. Required: customer_id, experiment_id.
google_ads_experiments_list_async_errors
List all errors that occurred during the last Google Ads experiment update (either scheduling or promotion). Returns: errors, request_id. Required: customer_id, experiment_id.
google_ads_experiments_mutate
Create, update, or remove Google Ads experiments in a single request. Returns the first mutate result including the experiment's resourceName. Required: customer_id, operations.
google_ads_experiments_promote
Promote an experiment's trial campaign in Google Ads, applying the trial campaign's changes to the base campaign. Returns a long-running operation with name and done status that tracks the asynchronous promotion. Required: customer_id, experiment_id.
google_ads_experiments_schedule
Schedule a Google Ads experiment, asynchronously forking its in-design campaign into an experiment campaign. Returns a long running operation with name, done, metadata, and response fields for tracking the forking progress. Required: customer_id, experiment_id.
google_ads_invoices_list_invoices
List Google Ads invoices issued for a billing setup during a given month. Returns: id, resource_name, attributes. Required: customer_id.
google_ads_keyword_plan_ad_groups_mutate
Create, update, or remove Google Ads keyword plan ad groups via the KeywordPlanAdGroupService mutate endpoint, accepting multiple create, update, or remove operations in a single request. Returns the resource_name of the mutated keyword plan ad group. Required: customer_id, operations.
google_ads_keyword_plan_campaign_keywords_mutate
Create, update, or remove negative keywords on a Google Ads keyword plan campaign. Returns the mutate result with the resource_name of the affected campaign keyword. Required: customer_id. Only negative keywords are supported, and a maximum of 1000 negative keywords (campaign and ad group combined) is allowed per plan.
google_ads_keyword_plan_campaigns_mutate
Create, update, or remove a Keyword Plan campaign in Google Ads by submitting the mutate operation. Returns the mutate result with the resource_name of the affected Keyword Plan campaign. Required: customer_id, and the operation payload in the body. Only one KeywordPlanCampaign is allowed per KeywordPlan.
google_ads_keyword_plan_ideas_generate_ad_group_themes
Generate ad group themes for the given keywords in googleads. Returns the theme results in an attributes object whose fields are defined by the upstream GenerateAdGroupThemesResponse proto. Required: customer_id.
google_ads_keyword_plan_ideas_generate_keyword_forecast_metrics
Generate forecast metrics for the given keyword set in googleads. Returns the forecast in an attributes object whose fields are defined by the upstream GenerateKeywordForecastMetricsResponse proto. Required: customer_id.
keyword_plan_ideas_generate_keyword_historical_metrics
Generate keywords with historical search metrics in googleads. Returns the keywords and their historical metrics in an attributes object whose fields are defined by the upstream GenerateKeywordHistoricalMetricsResponse proto. Required: customer_id.
google_ads_keyword_plan_ideas_generate_keyword_ideas
Generate keyword ideas with historical metrics in googleads. Returns the idea results in an attributes object whose fields are defined by the upstream GenerateKeywordIdeaResponse proto. Required: customer_id.
google_ads_keyword_plans_mutate
Create, update, or remove Google Ads keyword plans in a single call. Returns the first mutate result's resourceName (e.g. customers/{customer_id}/keywordPlans/{plan_id}). Required: customer_id and operations (each operation sets exactly one action: create, update with updateMask, or remove).
google_ads_keyword_theme_constants_suggest
Get Google Ads KeywordThemeConstant suggestions by keyword themes. Returns the matching suggestions as keyword_theme_constants, each with its resource_name and name. Required: query.
google_ads_local_services_leads_append_lead_conversation
Append lead conversation resources to a Local Services lead in googleads via the LocalServicesLeadService. Returns the AppendLeadConversation response message with no enumerable response body fields documented upstream. Required: customer_id.
google_ads_local_services_leads_provide_lead_feedback
Provide feedback on a Local Services lead in googleads via the LocalServicesLeadService. Returns the ProvideLeadFeedback response message with no enumerable response body fields documented upstream. Required: customer_id, lead_id.
google_ads_multi_party_auth_reviews_resolve
Resolve Multi-Party Authorization reviews in Google Ads by submitting resolve operations, returning a result per submitted operation. Required: customer_id and a body with an operations array of ResolveMultiPartyAuthReviewOperation entries.
list_all_google_ads_payments_accounts
List Google Ads payments accounts that can be used to set up consolidated billing. Returns payments account records with their id, covering all managers between the login customer ID and the serving customer in the hierarchy. Required: customer_id.
create_a_google_ads_product_link_invitation
Create a product link invitation from a Google Ads account to another account. Returns the Google Ads response object for this create operation. Required: customer_id.
google_ads_product_link_invitations_remove
Remove a product link invitation from a Google Ads account. Returns the Google Ads response object for this remove operation. Required: customer_id.
update_a_google_ads_product_link_invitation_by_id
Update a product link invitation for a Google Ads account. Returns the Google Ads response object for this update operation. Required: customer_id.
create_a_google_ads_product_link
Create a product link between a Google Ads customer and another product. Returns mutate results with the created product link's resourceName. Required: customer_id and an operations array containing a create action with the product link payload.
google_ads_product_links_remove
Remove a product link between a Google Ads customer and another product. Returns mutate results echoing the removed product link's resourceName. Required: customer_id and an operations array containing a remove action with the product link's resource name.
google_ads_reach_plan_generate_conversion_rates
Generate conversion rate suggestions for supported plannable products via googleads Reach Plan. Returns: id, attributes.
google_ads_reach_plan_list_plannable_locations
List plannable locations (for example, countries) available for reach planning in googleads. Returns: id, attributes.
google_ads_reach_plan_list_plannable_products
List the per-location plannable YouTube ad formats with allowed targeting in googleads Reach Plan. Returns: id, attributes.
google_ads_reach_plan_list_plannable_user_lists
List plannable user lists with their plannable status in googleads Reach Plan. Returns: id, attributes.
google_ads_reach_plan_generate_reach_forecast
Generate a reach forecast in googleads Reach Plan for a given targeting and product mix, estimating how many people of specified demographics an ad can reach in a market for a campaign of given duration and budget. Returns: id, attributes. Required: customer_id.
google_ads_reach_plan_list_plannable_user_interests
List the plannable user interests in Google Ads Reach Plan that can be targeted in a reach forecast via GenerateReachForecast. Returns plannable user interest records with id and upstream-defined attributes.
google_ads_recommendation_subscriptions_mutate
Update a recommendation subscription for a Google Ads customer account, including the apply parameters used with it. Returns the result of the mutation, including the resource_name of the updated subscription. Required: customer_id.
google_ads_recommendations_apply
Apply one or more Google Ads recommendations for a customer, with recommendation-specific apply parameters. Returns: results, partial_failure_error. Some apply operations can take minutes to complete. Required: customer_id, operations.
google_ads_recommendations_dismiss
Dismiss one or more Google Ads recommendations for a customer by resource_name. Returns: results. Required: customer_id, operations (each with resource_name).
google_ads_recommendations_generate
Generate Google Ads recommendations for a customer based on the requested recommendation types. Returns: recommendations. Required: customer_id, recommendation_types.
google_ads_smart_campaign_settings_generate_pmax_draft_campaign
Generate a Performance Max (PMax) draft campaign from an existing Smart campaign in Google Ads. Returns the generated draft record (id, attributes). Required: customer_id, campaign_id.
google_ads_smart_campaign_settings_get_status
Get the serving status of a Smart campaign in Google Ads. Returns the status record (id, attributes). Required: customer_id, campaign_id.
google_ads_smart_campaign_settings_mutate
Update Smart campaign settings for campaigns in Google Ads. Returns the mutate result record (id, attributes). Required: customer_id and an operations body.
google_ads_smart_campaign_suggestions_suggest_keyword_themes
Suggest keyword themes to advertise on for Smart Campaigns in googleads. Returns the SuggestKeywordThemesResponse message with keyword theme suggestions. Required: customer_id. The request body is the SuggestKeywordThemesRequest message.
google_ads_smart_campaign_suggestions_suggest_smart_campaign_ad
Suggest a Smart campaign ad compatible with the Ad family of resources in googleads. Returns the SuggestSmartCampaignAdResponse message with the suggested ad. Required: customer_id. The request body is the SuggestSmartCampaignAdRequest message; more SmartCampaignSuggestionInfo provided yields better suggestions.
smart_campaign_suggestions_suggest_smart_campaign_budget_options
Suggest Smart campaign budget options in googleads. Returns the SuggestSmartCampaignBudgetOptionsResponse message with BudgetOption suggestions and their performance metrics — either all of the options or none of them may be returned. Required: customer_id. The request body is the SuggestSmartCampaignBudgetOptionsRequest message.
google_ads_account_budget_proposals_mutate
Create or cancel an account-level budget proposal in Google Ads via a single mutate operation — CREATE submits a new proposal and REMOVE cancels a pending one; UPDATE is not supported. Returns the mutate result with the proposal's resource_name. Required: customer_id, operation. Mutates are only allowed on accounts configured for monthly invoicing, and at least 12 hours must elapse between…
google_ads_ad_group_criterion_customizers_mutate
Create, update, or remove ad group criterion customizers in Google Ads by sending create, update, or remove entries in the operations array. Returns the mutate result including the resourceName of the affected ad group criterion customizer. Required: customer_id and operations. Max 10,000 operations per request.
google_ads_asset_generations_generate_images
Generate images with generative AI that can be used as assets in a googleads campaign. Returns: generated_images, generated_asset_resource_names. Required: customer_id.
google_ads_asset_generations_generate_text
Generate text with generative AI in Google Ads for use as assets in a campaign. Returns a GenerateTextResponse containing the generated text suggestions with their data and metadata. Required: customer_id.
google_ads_campaign_asset_sets_mutate
Create, update, or remove campaign asset sets in Google Ads by submitting mutate operations. Returns the mutate result including resource_name of each affected campaign asset set. Required: customer_id, operations.
google_ads_campaign_assets_mutate
Create, update, or remove the link between an asset and a campaign in a Google Ads customer account. Returns the result of the mutate including the resource_name of the affected campaign asset. Required: customer_id and operations (each operation must set exactly one of create, update, or remove).
google_ads_campaign_bid_modifiers_mutate
Create, update, or remove a campaign bid modifier in Google Ads. Returns the resource_name of the mutated campaign bid modifier. Required: customer_id and operations (each operation is a create, update, or remove).
google_ads_campaign_customizers_mutate
Create or remove campaign customizers in a Google Ads customer account with a single batch of operations. Returns the first operation result including its resourceName. Required: customer_id and operations (each with a create payload or the resource name to remove).
google_ads_campaign_goal_configs_mutate
Create, update, or remove campaign goal configs in a Google Ads customer account by submitting mutate operations. Returns the resource_name of the affected campaign goal config. Required: customer_id and at least one operation (create, update, or remove).
google_ads_conversion_goal_campaign_configs_mutate
Update conversion goal campaign configs in Google Ads by applying mutate operations (update-only). Returns the first mutate result including its resourceName. Required: customer_id and operations, where each operation needs updateMask and update (with resourceName).
google_ads_customer_assets_mutate
Create, update, or remove customer asset links on a Google Ads customer. Returns a MutateCustomerAssetResult containing the resource_name of the affected customer asset. Required: customer_id, operations.
google_ads_customer_client_links_mutate
Create, update, or remove a customer client link in Google Ads by sending a single CustomerClientLink operation. Returns the resource_name of the mutated customer client link. Required: customer_id, operation.
google_ads_customer_customizers_mutate
Create, update, or remove customer customizers (customizer attribute links) on a Google Ads account. Returns the first mutate result including the resource_name of the affected customer customizer. Required: customer_id, operations (create or remove).
google_ads_customer_labels_mutate
Create or remove customer-label relationships in googleads, typically applying a manager account's labels to its client accounts. Returns the resource_name of the affected customer-label relationship. Requires customer_id and operations (each with create or remove). A single request can only modify labels for one customer account, and the label must exist under the manager account.
google_ads_customer_manager_links_mutate
Update customer-manager links in Google Ads by applying a batch of operations against a customer account. Returns the mutate result including the affected link's resource_name. Required: customer_id.
google_ads_customer_manager_links_move_manager_link
Moves a client customer to a new manager customer. This simplifies the complex request that requires two operations to move a client customer to a new manager, for example: 1. Update operation with Status INACTIVE (previous manager) and, 2. Update operation with Status ACTIVE (new manager). (Google Ads API v25, POST v25/customers/{+customerId}/customerManagerLinks:moveManagerLink). Required: customer_id. Use validateOnly to test without executing.
google_ads_customer_negative_criteria_mutate
Create or remove account-level negative criteria in googleads. Returns the mutate result including its resource_name. Required: customer_id.
google_ads_customer_user_access_mutate
Update a user's access permissions on a Google Ads customer. Returns the mutate result including the resource_name of the updated customer user access. Required: customer_id.
google_ads_customer_user_access_invitations_mutate
Create or remove a Google Ads customer user access invitation — send a new account-access invitation to a user or cancel a pending one. Returns: resource_name. Required: customer_id and operation (exactly one of create or remove). Max 70 pending invitations per account.
google_ads_geo_target_constants_suggest
Suggest geo target constants in Google Ads by location name or by resource name. Returns: geoTargetConstantSuggestions. Required: either locationNames or geoTargets in the request body (the two are mutually exclusive).
get_single_google_ads_identity_verification_by_id
Get Identity Verification information for a Google Ads customer by id. Returns the Identity Verification information recorded for that customer. Required: id.
google_ads_identity_verification_start_identity_verification
Start Identity Verification for a given verification program type on a Google Ads customer. Returns an empty response on success. Required: customer_id.
google_ads_keyword_plan_ad_group_keywords_mutate
Create, update, or remove googleads Keyword Plan ad group keywords in a single batch call. Returns the mutate result for the submitted operations, including resource_name of the mutated keyword. Required: customer_id. Requires an existing KeywordPlanAdGroup; supports positive and negative keywords with a max of 10,000 positive and 1,000 negative keywords per keyword plan.
google_ads_reservations_book_campaigns
Book the requested campaigns in Google Ads. Returns the BookCampaignsResult response for the booked campaigns. Required: customer_id, operation. Requests including the operation can have a latency of up to 30 seconds and this feature is not publicly available.
google_ads_reservations_quote_campaigns
Propose quotes for booking campaigns in Google Ads. Returns the QuoteCampaignsResult response with campaign reservation quotes when the action is successful. Required: customer_id, operation. Requests including the operation can have a latency of up to 30 seconds and this feature is not publicly available.
create_a_google_ads_you_tube_video_upload
Upload a video to a Google-managed or advertiser-owned (brand) YouTube channel in Google Ads. Returns the CreateYouTubeVideoUploadResponse object; its field-level breakdown is not documented in the available source. Required: customer_id.
google_ads_you_tube_video_uploads_remove
Remove YouTube videos that were uploaded through the Google Ads API. Returns the RemoveYouTubeVideoUploadResponse object; its field-level breakdown is not documented in the available source. Required: customer_id.
update_a_google_ads_you_tube_video_upload_by_id
Update a YouTube video's metadata in Google Ads. Only videos uploaded through the Google Ads API can be updated. Returns the UpdateYouTubeVideoUploadResponse object; its field-level breakdown is not documented in the available source. Required: customer_id.
google_ads_shareable_previews_generate
Generate shareable ad previews in Google Ads for a customer account. Returns the requested Shareable Preview results. Only Performance Max asset groups and certain YouTube video/audio ad formats are supported; other ad types return an UNSUPPORTED_AD_TYPE error, and generated preview URLs cannot be embedded in an iframe. Required: customer_id.
third_party_app_analytics_links_regenerate_shareable_link_id
Regenerate the shareable link id for a third-party app analytics link in Google Ads. Returns an empty 204 response on success. Required: customer_id, link_id.
google_ads_travel_asset_suggestions_suggest
Suggest Travel assets for a Google Ads customer via the TravelAssetSuggestionService. Returns the SuggestTravelAssetsResponse message with schema-specific suggestion fields defined in the TravelAssetSuggestionService proto. Required: customer_id.
google_ads_google_ads_search
Run any GAQL query against a Google Ads customer (GoogleAdsService.Search, API v25). Pass the query in the body; the response is the list of rows, each keyed by the selected resource (campaign, adGroup, metrics, segments ...). Supports all 188 reportable resources, metrics and segments and paginates with pageToken. Required: customer_id and query.
google_ads_google_ads_search_stream
Run any GAQL query against a Google Ads customer and stream all rows in one response (GoogleAdsService.SearchStream, API v25). Same query language as search but no pagination; best for exports and reports. Required: customer_id and query.
google_ads_google_ads_mutate
Apply many heterogeneous operations (campaigns, ad groups, ads, budgets, criteria, assets ...) in one atomic request (GoogleAdsService.Mutate, API v25). Supports temporary resource ids so a budget, campaign and ad group can be created together. Use validateOnly to test. Required: customer_id and mutateOperations.
google_ads_customizer_attributes_mutate
Create, update or remove customizer attributes in Google Ads (CustomizerAttributeService.MutateCustomizerAttributes, API v25). A customizer attribute is a named, typed placeholder (TEXT, NUMBER, PRICE or PERCENT) whose values are set per customer, campaign, ad group or ad group criterion through the customizer tools and inserted into ad text. Required: customer_id and operations. Use validateOnly to test.
google_ads_incentives_fetch_incentive
Returns incentives for a given user. (Google Ads API v25, GET v25/incentives:fetchIncentive).
google_ads_incentives_apply_incentive
Applies the incentive for the ads customer. (Google Ads API v25, POST v25/customers/{+customerId}/incentives/{+selectedIncentiveId}:applyIncentive). Required: customer_id.
google_ads_benchmarks_list_benchmarks_products
Returns the list of products that supports benchmarks. (Google Ads API v25, POST v25:listBenchmarksProducts).
google_ads_benchmarks_list_benchmarks_sources
Returns the list of benchmarks sources (for example, Industry Verticals). (Google Ads API v25, POST v25:listBenchmarksSources).
google_ads_benchmarks_list_benchmarks_available_dates
Returns a date range that supports benchmarks. (Google Ads API v25, POST v25:listBenchmarksAvailableDates).
google_ads_benchmarks_list_benchmarks_locations
Returns the list of locations that support benchmarks (for example, countries). (Google Ads API v25, POST v25:listBenchmarksLocations).
google_ads_content_creator_insights_generate_trending_insights
Returns insights for trending content on YouTube. (Google Ads API v25, POST v25/customers/{+customerId}:generateTrendingInsights). Required: customer_id.
google_ads_content_creator_insights_generate_creator_insights
Returns insights for a collection of YouTube Creators and Channels. (Google Ads API v25, POST v25/customers/{+customerId}:generateCreatorInsights). Required: customer_id.
automatically_created_asset_removal_remove_campaign_automaticall
Removes text customization (formerly automatically created assets) from a campaign. (Google Ads API v25, POST v25/customers/{+customerId}:removeCampaignAutomaticallyCreatedAsset). Required: customer_id.
google_ads_customer_conversion_goals_mutate
Creates, updates or removes customer conversion goals. Operation statuses are returned. (Google Ads API v25, POST v25/customers/{+customerId}/customerConversionGoals:mutate). Required: customer_id. Use validateOnly to test without executing.
google_ads_conversion_value_rules_mutate
Creates, updates, or removes conversion value rules. Operation statuses are returned. (Google Ads API v25, POST v25/customers/{+customerId}/conversionValueRules:mutate). Required: customer_id. Use validateOnly to test without executing.
google_ads_campaign_conversion_goals_mutate
Creates, updates or removes campaign conversion goals. Operation statuses are returned. (Google Ads API v25, POST v25/customers/{+customerId}/campaignConversionGoals:mutate). Required: customer_id. Use validateOnly to test without executing.
get_single_google_ads_operation_by_id
Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. (Google Ads API v25, GET v25/{+name}).
google_ads_operations_wait
Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. (Google Ads API v25, POST v25/{+name}:wait).
google_ads_operations_cancel
Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. (Google Ads API v25, POST v25/{+name}:cancel).
list_all_google_ads_operations
Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. (Google Ads API v25, GET v25/{+name}).
delete_a_google_ads_operation_by_id
Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. (Google Ads API v25, DELETE v25/{+name}).
google_ads_custom_conversion_goals_mutate
Creates, updates or removes custom conversion goals. Operation statuses are returned. (Google Ads API v25, POST v25/customers/{+customerId}/customConversionGoals:mutate). Required: customer_id. Use validateOnly to test without executing.
google_ads_experiment_arms_mutate
Creates, updates, or removes experiment arms. Operation statuses are returned. (Google Ads API v25, POST v25/customers/{+customerId}/experimentArms:mutate). Required: customer_id. Use validateOnly to test without executing.
customer_sk_ad_network_conversion_value_schemas_mutate
Creates or updates the CustomerSkAdNetworkConversionValueSchema. (Google Ads API v25, POST v25/customers/{+customerId}/customerSkAdNetworkConversionValueSchemas:mutate). Required: customer_id. Use validateOnly to test without executing.
google_ads_conversion_value_rule_sets_mutate
Creates, updates or removes conversion value rule sets. Operation statuses are returned. (Google Ads API v25, POST v25/customers/{+customerId}/conversionValueRuleSets:mutate). Required: customer_id. Use validateOnly to test without executing.
google_ads_goals_mutate
Create or update goals. (Google Ads API v25, POST v25/customers/{+customerId}/Goals:mutate). Required: customer_id. Use validateOnly to test without executing.
create_a_google_ads_data_link
Creates a data link. The requesting Google Ads account name and account ID will be shared with the third party (such as YouTube creators for video links) to whom you are creating the link with. (Google Ads API v25, POST v25/customers/{+customerId}/dataLinks:create). Required: customer_id.
google_ads_data_links_remove
Remove a data link. (Google Ads API v25, POST v25/customers/{+customerId}/dataLinks:remove). Required: customer_id.
update_a_google_ads_data_link_by_id
Update a data link. (Google Ads API v25, POST v25/customers/{+customerId}/dataLinks:update). Required: customer_id.
google_ads_customer_asset_sets_mutate
Creates, or removes customer asset sets. Operation statuses are returned. (Google Ads API v25, POST v25/customers/{+customerId}/customerAssetSets:mutate). Required: customer_id. Use validateOnly to test without executing.
google_ads_ad_group_ads_remove_automatically_created_assets
Remove text customization (formerly automatically created assets) from an ad. (Google Ads API v25, POST v25/{+adGroupAd}:removeAutomaticallyCreatedAssets).
Why Truto
Why use Truto’s MCP server for Google Ads
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
For your product
Ship Google Ads tools in your product
Give the AI in your product access to each customer’s own Google Ads account, with one MCP server per connected account.
Rather talk it through? Book a demo
For your own team
Use Google Ads in ChatGPT or Claude yourself
Connect your company’s Google Ads once, then ask in the AI you already use, with exactly your own access.
From the team behind Truto · 14-day free trial
Unified APIs
Unified APIs for Google Ads
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified User Directory API
Unified Ads Management API
Accounts
Accounts are the top level resource in the Ads API. Each account has a unique ID and contains a set of campaigns.
Ad Groups
Ad Groups are the third level resource in the Ads API. Each ad_group has a unique ID and contains a set of ads.
Ads
Ads are the fourth level resource in the Ads API. Each ad has a unique ID and contains a set of creatives.
Assets
The assets like images, videos, etc. which can be used in the ads and creatives.
Campaigns
Campaigns are the second level resource in the Ads API. Each campaign has a unique ID and contains a set of ad_groups.
Custom Audiences
How It Works
From zero to integrated
Go live with Google Ads in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Google Ads account
Use Truto’s frontend SDK to connect your customer’s Google Ads account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Google Ads
Truto’s Proxy API is a 1-to-1 mapping of the Google Ads API. You call us, we call Google Ads, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Google Ads’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Google Ads on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication work for Google Ads through Truto?
Google Ads uses OAuth 2.0 for authentication. Truto handles the full OAuth flow — token acquisition, refresh, and storage — so your end users simply authorize via a consent screen and you never manage credentials directly.
Which Google Ads objects are available through Truto's Unified Ads Management API?
The Unified Ads Management API maps to Accounts, Campaigns, Ad Groups, Ads, Assets, and Custom Audiences. These cover the core objects needed for reporting, campaign management, and audience syncing.
Can I read user roles and workspace information from Google Ads?
Yes. Truto's Unified User Directory API exposes Roles, Users, and Workspaces for Google Ads, allowing you to audit account access and permission structures.
Are there specific tools or proxy endpoints available for Google Ads today?
Google Ads tools are built on request. If you need workflows beyond what the Unified APIs expose — such as conversion uploads or GAQL-based custom reporting — reach out to Truto and they will scope and build the required tools for your use case.
How does Truto handle Google Ads API rate limits and pagination?
Truto abstracts away pagination and implements rate-limit handling internally, including automatic retries and backoff. Your application receives clean, paginated responses through a consistent interface regardless of Google Ads API quotas.
Can I manage multiple Google Ads accounts (MCC structure) through a single integration?
Yes. The Unified Ads Management API's Accounts resource supports reading client accounts under a Manager Account (MCC), so your users can connect at the manager level and your app can access all child accounts.
Google Ads
Get Google Ads integrated into your app
Our team understands what it takes to make a Google Ads integration successful. A short, crisp 30 minute call with folks who understand the problem.