Skip to main content
Connector guides

Connect Google Ads

Google Ads is where search, display and YouTube advertising is bought and measured. If you run your own marketing, or manage Google Ads for clients, StackJack connects your AI assistant to it through…

Written By Christopher Scaminaci

Last updated About 3 hours ago

Google Ads is where search, display and YouTube advertising is bought and measured. If you run your own marketing, or manage Google Ads for clients, StackJack connects your AI assistant to it through the Google Ads API, so the questions you ask in a browser (what did this client spend this month, which ads were disapproved, who changed the budget, who can still sign in) can be asked in plain language instead.

Connecting Google Ads gives your AI assistant a family of gads_ MCP tools. MCP (Model Context Protocol) tools are the standardized commands an AI assistant can call through StackJack. With them, your AI can:

  • Find your accounts - list the accounts the connection can reach, read a manager account's client hierarchy with each client's currency, time zone and status, and read one account's settings
  • Report on spend and performance - campaigns, budgets, ad groups, ads, keywords and search terms with clicks, impressions, cost and conversions over any date range, plus bidding strategies, conversion actions and labels
  • Check ad health - ads with their policy approval status, the usual reason ads stop serving, and Google's own optimization recommendations
  • Audit what changed - who changed what in the last 30 days, with the old and new values, and which resources changed in the last 90 days
  • Review access and money - who can sign in to an account and with which role, billing setups, account budgets, payments accounts and invoices
  • Plan - Keyword Planner ideas and forecasts, reach forecasts, audience and creator insights and benchmarks
  • Run any report - write your own query in Google's query language, GAQL, over the roughly 190 resources the API exposes, and browse every field and what it can be combined with
  • Make changes (on Pro plans) - pause or enable campaigns, change budgets, add negative keywords, create and edit ads, assets, audiences, labels and conversion actions, apply or dismiss recommendations, manage account links and users, upload customer lists and offline click conversions (for accounts Google allows to use them), and run large batches of operations

How StackJack authenticates to Google Ads

Google Ads is connected with a service account on your own Google Cloud project. A service account is a robot identity that you create in Google Cloud and then add to Google Ads as a user, the same way you would add a colleague. StackJack signs a short request with the service account's key, Google answers with a token that lasts about an hour, and StackJack reuses that token until it expires.

Three things follow from that, and all three are Google's rules rather than StackJack's:

  • Your project, your access, your quota. Google asks every advertiser and agency to use their own Google Cloud project and their own Google Ads access. StackJack holds no Google Ads credential of its own and connects only with the project and service account you create. The API access level and the daily operation quota belong to your Google Cloud project.
  • What the service account can do is decided in Google Ads. The access role you give it (Read only, Standard or Admin) is the real limit on the changes it can make. Google Ads has a single permission scope that cannot be narrowed to read-only, so StackJack's tiers add a second safety layer on top: reads are Free, writes are Pro, and writes that can spend money or remove things prompt for approval first.
  • There is no developer token. Google ended developer tokens on 9 September 2026, so there is no developer token field and nothing to apply for.

Google's Google Ads Developer Policies apply to your use of the API, and Google reviews integrations that reach Google Ads through a hosted service. Read Google's policy before you connect client accounts.

Before you start

  • A Google Ads account. If you manage clients, use your manager account: add the service account to it once and it reaches every client account linked under it.
  • A Google Cloud project that you control, with billing active. A project on the Google Cloud Free Trial, or with suspended billing, is refused Explorer and Basic access by Google.
  • Permission to create a service account key in that project. Organizations created on or after 3 May 2024 block key creation by default; ask a Google Cloud administrator to exempt the project from the "Disable service account key creation" policy.
  • Permission to add users in Google Ads (Admin access).

Steps

  1. Create or pick a Google Cloud project. In the Google Cloud console, create a project for this integration or pick one you already use for automation. Make sure billing is active.
  2. Enable the Google Ads API. In APIs & Services > Library, find the Google Ads API and enable it.
  3. Apply for API access. Apply for Explorer access on the project, using Google's API access guide. Google normally grants Explorer automatically. If you need the planning, billing or user-management tools, also apply for Basic access, which needs brand verification of the project.
  4. Create a service account and download its key. In IAM & Admin > Service Accounts, create a service account named for StackJack. Open it, go to the Keys tab and choose Add key > Create new key > JSON. The file downloads once and cannot be downloaded again, so keep it like a password.
  5. Add the service account to Google Ads. In Google Ads, open Admin > Access and security and add the service account's email address (the client_email in the key file) as a user. Choose Standard or Admin access if you want the change tools to work; Read only is enough for reports. If you manage clients, add it to your manager account. A service account can be added directly to at most 20 accounts, which is why Google recommends a manager account for larger estates. Google may require a second administrator to approve a change of users or roles within 20 days.
  6. Enter the details in StackJack. Open Connectors, choose Google Ads, and fill in:
    • Service Account Email - the client_email value from the key file.
    • Private Key - the private_key value, the whole block including the BEGIN and END lines. If you copied it straight from the JSON file, the line breaks appear as the two characters backslash and n; paste it anyway, StackJack handles that form.
    • Private Key ID (optional) - the private_key_id value from the key file.
    • Manager account ID (optional) - the 10-digit customer ID of your manager account, hyphens fine. Enter it if you added the service account to a manager account; leave it blank if you added the service account to the account itself.
  7. Run a Test Connection. It lists the accounts the service account can reach. A failure here is almost always a service account that has not been added to a Google Ads account yet, or a project without API access.

When you come back to edit a saved connection, the Private Key box starts blank on purpose and must be pasted again. The key ID and manager account ID are filled in for you, and a blank manager account ID keeps the stored one; to remove it, disconnect and connect again.

Choosing the account a request acts on

Every Google Ads call names the customer ID of the account it acts on, and your AI assistant takes it as an argument, so one connection reaches every client account under your manager. Ask for the account hierarchy first: it lists every client with its customer ID, and every other tool needs one of those IDs.

If the service account was added to a manager account, StackJack sends the manager account ID with every call so the manager's client accounts can be reached. Calls can also name a different manager account for a single request.

Reading data

  • The report tools build the query for you and always send a row limit (500 by default, at most 10,000), because Google answers in fixed pages of up to 10,000 rows. Performance reports cover the last 30 days unless you name a date range, and removed items are left out unless you ask for them.
  • Your own GAQL works through the search tool. Field names are snake_case, a query should always end with a LIMIT, and a long answer is read page by page by sending the next-page marker with the identical query. The field browser lists every field Google offers and which fields can be selected, filtered or combined.
  • Very large answers are refused, not cut off. If a query would return more than StackJack reads in one call, your AI assistant is told to narrow it (fewer fields, a date range or a lower row limit) instead of receiving half an answer.
  • Money is in micros. Google reports amounts in millionths of the account's currency: 1,000,000 micros is one currency unit. Large numbers such as IDs arrive as text, as Google sends them.
  • Change history only goes back 30 days for the detailed view (who, what, old and new values) and 90 days for the lighter change-status view. A start date older than the detailed view keeps is refused with a note rather than answered with a shorter window. In the change-status view an explicit end date includes that day.

Making changes

Every write tool takes the operations Google defines: create, update (with the list of fields being changed) or remove. Most write tools can be sent with validate only set, which asks Google to check the request and report any errors without applying it. It is a good habit before a change that spends money.

A few Google Ads routes have no such option, so their tools do not offer it: applying or dismissing recommendations, incentives, user access and invitations, approving or rejecting a held user-change review (multi-party approval), billing setups, batch jobs (adding operations, running a job, creating or removing one), identity verification, data, product and account links, Local Services leads, direct Customer Match user uploads, cancelling or deleting a long-running operation, removing automatically created assets, Performance Max brand guidelines, Insights Finder reports and the YouTube video tools. Check those requests carefully before they run.

A few behaviors are Google's and worth knowing:

  • Changes to users and roles may not take effect immediately: Google can hold them for a second administrator's approval (multi-party approval), which lapses after 20 days. Your AI assistant can approve, reject or revoke a held review as well. Google accepts an approval or a rejection only from an administrator other than the person who made the change, and a revoke only from the person who made it.
  • Long-running operations (batch jobs, promoting a draft or an experiment, running an upload job) answer at once with an operation to check. Your AI assistant can read its state, or wait for it: one wait is held open for at most 50 seconds, and Google may answer sooner, so a long operation takes more than one wait.
  • Account budget and billing changes accept one operation per request and only on monthly-invoicing accounts. For account budgets, Google also asks you to wait at least 12 hours between changes to the same account, because an earlier change can fail in ways only a Google representative can fix.
  • Enabling a paused campaign or raising a budget spends money at once, and removing a campaign or ad cannot be undone through the API.

Customer lists and conversion uploads

Two Google Ads upload services are open only to accounts that Google has allowlisted:

  • Customer Match - uploading customer lists (hashed email addresses, phone numbers and similar identifiers) to an audience, either in one call or as a job that is created, filled and then run. Google closed Customer Match to new integrations on 1 April 2026 and points them to its Data Manager API.
  • Click conversions - uploading offline conversions that followed an ad click. Google closed this to new integrations on 15 June 2026 and points them to its Data Manager API.

An account that already used these services keeps access, so the tools work for those accounts. Google refuses them for every other account, and the refusal says so. Google needs the identifiers already hashed (SHA-256 of the normalized value), StackJack sends them as given, and Google does not let anyone read uploaded customer data back. Conversions you upload are counted in reporting and feed automated bidding, which can change spend.

Tiers

  • Free - every read: accounts and hierarchy, every report, change history, access and billing reads, field browsing, planning and insights, and the status of long-running operations, including waiting for one.
  • Pro - every change. These changes are marked destructive, and whether your AI application asks you to confirm before running one depends on that application's own settings; see Destructive tools and confirmation:
    • Anything that can remove something - campaigns, ad groups, ads, keywords, assets, labels, audiences, conversion actions, links and users.
    • Anything that controls live spend - campaigns, budgets, bidding strategies and bid adjustments, ads, applying a recommendation, and promoting an experiment or draft.
    • Anything that grants access, shares data or touches money - users and invitations, approving or rejecting a held user-change review, creating a client account with an invited user, manager links, data, product and account links (creating, starting or answering one can share account details with the other party), billing setups, account budgets, incentives, Local Services lead feedback (Google decides a bonus credit from it), customer list uploads (they send customer data to Google), and conversion uploads and adjustments (they feed automated bidding, which can change spend).
    • Anything that stores a secret with Google - assets (a lead form asset can carry the secret of its webhook) and asset sets (a location set can carry an access token).
    • Bulk and generic changes - the generic mutate and batch jobs, which can do all of the above in one call.
  • Business - the same tool set as Pro with a higher monthly call quota.

See the generated Google Ads tool reference for the current inventory, plan assignment, input schemas, and destructive-action labels.

Quotas and limits

Google meters Google Ads API use by a daily operation quota on your Google Cloud project, counted over a sliding 24 hours and shared by every account and every tool that uses the project:

Access levelOperations a day against production accounts
Testtest accounts only
Explorer2,880
Basic15,000
Standardno daily limit (a manual Google audit)

A search counts as one operation however many rows it returns, and following a next-page marker does not count again. Each item changed by a write counts as one. The Keyword Planner, reach and audience-insights tools also allow only about one request a second.

When a quota is reached Google answers with a quota error, which StackJack treats as temporary: it does not count toward disabling your connection, and the message names the access level and the 24-hour window. Google restricts account creation, user management, every planning tool, and billing, invoices and payments accounts to Basic access or above, and a refused call says so. Google also offers the audience insights, benchmarks and creator insights tools to allowlisted customers only, and the Customer Match and click conversion uploads work the same way. That is a separate gate from the access level, so those tools can be refused for an account that has Basic access, and the refusal says so too.

Google changes the Google Ads API version twice a year and retires each version after about a year. StackJack follows Google's version schedule, so a version change does not need anything from you.

What is not included

  • Reservation campaigns. Google does not make that service publicly available.
  • Videos over 25 MB. The video upload tool takes a file as base64 or from a public https link, up to 25 MB. Google allows far larger videos; upload those in Google Ads.

Troubleshooting

  • "The service account is valid, but it has not been added to any Google Ads account." Add the service account's email address as a user in Google Ads (Admin > Access and security). Do it on your manager account if you manage clients, then test the connection again.
  • "Google Ads says the service account cannot act on that account." The account is a client of a manager account: enter the manager account ID on the connection (or name it on the call). Or the service account was never added to the account or to the manager above it.
  • "Google Ads refused the call because your Google Cloud project only has Test access." Apply for Explorer access on the project. Reconnecting will not change this, because the access level belongs to the project and not to the service account.
  • Google does not recognise the service account email, or rejects its signed request. Check that the Service Account Email is the client_email from the key file, that the key has not been deleted or disabled, and create a new JSON key if in doubt.
  • "Google Ads is refusing requests because a quota was reached." This is a quota window. Wait, spread large jobs over the day, or apply for Basic access.
  • "Google Ads could not run the GAQL query." Check the field names are snake_case, that every selected field can be combined with the resource in the FROM clause, and that the query ends with a LIMIT.
  • At the time of writing, Google reports that some projects upgraded after 9 September 2026 receive an authorization error on production accounts until a fix rolls out. Google's workaround is to apply for access with a new project.

Google Ads is a trademark of Google LLC. This application uses the Google Ads API but is not endorsed or certified by Google.

gads_ · 190 tools · Free 68 · Pro 122

Query & Reporting

ToolWhat it does
gads_get_account_hierarchy
Free · Read-only
Lists the accounts under a MANAGER account with their level, id, name, currency, time zone and status, and whether each is a manager or a test account: the first call for an MSP, because every other tool needs a client's customerId from here.
gads_get_customer
Free · Read-only
Returns one row about a single Google Ads account: id, descriptive name, currency, time zone, status, whether it is a manager or a test account, auto-tagging, tracking URL template, final URL suffix and optimization score.
gads_get_field
Free · Read-only
Returns the metadata of ONE Google Ads query field, by resource name (googleAdsFields/campaign.id): its category (RESOURCE, ATTRIBUTE, SEGMENT or METRIC), data type, whether it is selectable, filterable and sortable, its enum values, and the resources and metrics it can be selected with.
gads_list_account_budgets
Free · Read-only
Lists account budgets (the spending limits of monthly-invoicing accounts) with name, status, billing setup, proposed, approved and adjusted spending limits, amount served and purchase order number, in micros.
gads_list_ad_groups
Free · Read-only
Lists ad groups with their campaign, status, type, default CPC bid (micros) and clicks, impressions, cost and conversions over a date range (the last 30 days when none is given), most expensive first.
gads_list_ads
Free · Read-only
Lists ads with type, final URLs, status, ad strength and POLICY approval and review status (approval_status DISAPPROVED is the usual reason an ad stops serving), plus clicks, impressions, cost and conversions over a date range (the last 30 days when none is given), most expensive first.
gads_list_bidding_strategies
Free · Read-only
Lists portfolio bidding strategies with their type, status, currency and how many campaigns use each (all, and non-removed).
gads_list_billing_setups
Free · Read-only
Lists billing setups: which payments account and profile pays for the account, the setup's id and its status.
gads_list_campaign_budgets
Free · Read-only
Lists campaign budgets: the amount (in micros of the account currency, 1,000,000 micros is one unit), delivery method, period, type, whether the budget is shared across campaigns, and the spend over a date range (the last 30 days when none is given), most expensive first.
gads_list_campaigns
Free · Read-only
Lists campaigns with status, serving status, channel type, bidding strategy and budget, plus cost, clicks, impressions, conversions and conversion value over a date range (the last 30 days when none is given), most expensive first: the answer to 'what did this client spend, and on what'.
gads_list_change_events
Free · Read-only
Lists who changed what in the last 30 days, newest first: the user's email, the client type (web UI, API or another tool), the changed resource and its type, the operation, the changed fields and the old and new values.
gads_list_change_status
Free · Read-only
Lists which resources changed in a period (dateRange, LAST_14_DAYS by default, up to 90 days back), newest first, with ADDED, CHANGED or REMOVED but without the old and new values: the cheap way to find what changed before reading gads_list_change_events.
gads_list_conversion_actions
Free · Read-only
Lists conversion actions (what the account counts as a conversion) with type, category, origin, whether each is primary for its goal, counting type and lookback windows.
gads_list_keywords
Free · Read-only
Lists search keywords with match type, status, quality score, CPC bid and clicks, impressions, cost and conversions over a date range (the last 30 days when none is given), most expensive first.
gads_list_labels
Free · Read-only
Lists the labels defined on the account with their description and background color.
gads_list_recommendations
Free · Read-only
Lists Google's optimization recommendations for the account: the type, the campaign or ad group each targets and whether it was dismissed.
gads_list_search_terms
Free · Read-only
Lists the actual search terms that triggered ads, with status, campaign, ad group, and clicks, impressions, cost and conversions over a date range (the last 30 days when none is given), most expensive first: where a wasted-spend review starts.
gads_list_user_access
Free · Read-only
Lists who can sign in to the account and with which role (ADMIN, STANDARD, READ_ONLY or EMAIL_ONLY): email, user id, when access was created and who invited the user.
gads_search
Free · Read-only
Runs a Google Ads Query Language (GAQL) query against one account and returns its rows as raw JSON: use it for anything the typed list tools do not cover, such as other resources, segments and metrics.
gads_search_fields
Free · Read-only
Searches Google Ads field metadata: which resources, segments, metrics and attributes exist, with their category, data type and whether each is selectable, filterable or sortable.
gads_search_stream
Free · Read-only
Runs a GAQL query and returns every matching row without paging (each batch carries results and fieldMask): use gads_search with pageToken when the answer may be large.

Planning & Insights

ToolWhat it does
gads_generate_ad_group_themes
Free · Read-only
Groups the given keywords into the given existing ad groups: for each keyword it returns the suggested ad group, campaign, normalized keyword text and match type, plus the ad groups it could not use.
gads_generate_audience_composition_insights
Free · Read-only
Returns the attributes (knowledge graph entities, locations, YouTube channels, user interests and more) that are represented in an audience of interest, comparing each attribute's share of that audience with its share of an optional baseline audience.
gads_generate_audience_definition
Free · Read-only
Turns a free-text audience description into structured audience attributes (high and medium relevance) using generative AI; it can take 5 seconds or more.
gads_generate_audience_overlap_insights
Free · Read-only
Returns audience attributes with estimates of how much their potential YouTube reach overlaps with a primary attribute (an Affinity or In-Market user interest, an age range or a gender) in one country.
gads_generate_benchmarks_metrics
Free · Read-only
Compares a client's YouTube ad metrics against industry benchmarks for a location and a set of products.
gads_generate_conversion_rates
Free · Read-only
Returns conversion rate suggestions for the products that can be planned in a reach plan, which can draw on this customer's own history.
gads_generate_creator_insights
Free · Read-only
Returns insights about YouTube creators and channels, found by audience attributes, content topics or channel ids, within the countries in countryLocations.
gads_generate_insights_finder_report
Pro · Write
Creates a saved report in Insights Finder (the audience insights tool in Google Ads) that compares a specific audience with a baseline audience, and answers a deep link to it (savedReportUrl).
gads_generate_keyword_forecast_metrics
Free · Read-only
Forecasts impressions, clicks and cost (micros) for a hypothetical keyword campaign.
gads_generate_keyword_historical_metrics
Free · Read-only
Returns historical search metrics (average monthly searches, competition, top-of-page bid range) for up to 10,000 keywords you supply.
gads_generate_keyword_ideas
Free · Read-only
Returns keyword ideas with their historical metrics (the Keyword Planner).
gads_generate_reach_forecast
Free · Read-only
Forecasts the reach of a YouTube ad product mix.
gads_generate_suggested_targeting_insights
Free · Read-only
Returns targeting insights (for example targetable audiences) relevant to a seed audience, given as audienceDefinition or as a free-text audienceDescription (which uses generative AI and can take 5 seconds or more).
gads_generate_targeting_suggestion_metrics
Free · Read-only
Returns the potential reach of targetable audiences, for questions like 'how many men aged 18+ interested in camping can be reached on YouTube?'.
gads_generate_trending_insights
Free · Read-only
Returns insights about trending content on YouTube in one country, optionally narrowed by search topics or an audience.
gads_list_benchmarks_available_dates
Free · Read-only
Returns the date range that supports YouTube benchmarks (supportedDates, and supportedDatesForAllMetrics).
gads_list_benchmarks_locations
Free · Read-only
Lists the locations that support YouTube benchmarks (for example countries), with the ids gads_generate_benchmarks_metrics takes.
gads_list_benchmarks_products
Free · Read-only
Returns the products that support YouTube benchmarks, with the ids gads_generate_benchmarks_metrics takes.
gads_list_benchmarks_sources
Free · Read-only
Returns the benchmark sources to compare against (for example industry verticals).
gads_list_insights_eligible_dates
Free · Read-only
Lists the months (dataMonths) and the last-thirty-days window for which audience insights data can be requested: use a dataMonth value in gads_generate_audience_composition_insights.
gads_list_plannable_locations
Free · Read-only
Lists the locations (for example countries) that reach plans can target, with their ids: the first call of a reach plan, then pass an id to gads_list_plannable_products.
gads_list_plannable_products
Free · Read-only
Lists the YouTube ad formats that can be planned in ONE location, with the targeting each allows.
gads_list_plannable_user_interests
Free · Read-only
Lists the user interests that can be targeted in a reach forecast.
gads_list_plannable_user_lists
Free · Read-only
Lists the customer's user lists with their plannable status.
gads_mutate_keyword_plan_ad_group_keywords
Pro · Destructive
Creates, updates or removes the keywords (positive and negative) of a keyword plan ad group; a plan holds at most 10,000. DESTRUCTIVE: Removing a keyword plan keyword deletes it from its plan, and no tool here restores it; keyword plans are planning data only, so nothing serves or spends.
gads_mutate_keyword_plan_ad_groups
Pro · Destructive
Creates, updates or removes the ad groups of a keyword plan campaign (up to 200 per plan).
gads_mutate_keyword_plan_campaign_keywords
Pro · Destructive
Creates, updates or removes the NEGATIVE keywords of a keyword plan campaign (only negatives are supported there; up to 1,000 per plan).
gads_mutate_keyword_plan_campaigns
Pro · Destructive
Creates, updates or removes the campaign of a keyword plan (the geo targets, language, network and default CPC bid the plan forecasts against; a plan holds one).
gads_mutate_keyword_plans
Pro · Destructive
Creates, updates or removes keyword plans, the saved Keyword Planner plans of the account (up to 10,000).
gads_search_audience_insights_attributes
Free · Read-only
Searches the audience attributes (categories, knowledge graph entities, devices, locations, YouTube lineups, user interests, life events and more) that can be used to build an insights audience.
gads_suggest_brands
Free · Read-only
Returns brands matching a name prefix (brandPrefix, required), for brand targeting.
gads_suggest_geo_target_constants
Free · Read-only
Finds geo target constants by location name (locationNames, at most 25 names) or by resource name (geoTargets), optionally restricted to a countryCode and translated with a locale (English by default).
gads_suggest_keyword_theme_constants
Free · Read-only
Maps queryText (for example plumber) to similar keyword theme constants for Smart campaigns.
gads_suggest_keyword_themes
Free · Read-only
Suggests keyword themes to advertise on for a Smart campaign.
gads_suggest_smart_campaign_ad
Free · Read-only
Suggests a Smart campaign ad (headlines and descriptions) for a business.
gads_suggest_smart_campaign_budget_options
Free · Read-only
Returns low, recommended and high daily budget options for a Smart campaign.
gads_suggest_travel_assets
Free · Read-only
Returns hotel asset suggestions for the Google Maps place ids in placeIds, in the language given by languageOption (BCP 47, for example en-US).

Accounts & Access

ToolWhat it does
gads_create_customer_client
Pro · Destructive
Creates a NEW Google Ads client account under a manager account (customerId is the manager) and returns the new account's resource name.
gads_get_identity_verification
Free · Read-only
Returns the advertiser identity verification status of the account: for each program, the deadlines to start and to complete verification and its progress (for example PENDING_USER_ACTION or SUCCESS), plus the actionUrl the advertiser follows to complete it (time-limited: invitationLinkExpirationTime says when it lapses).
gads_list_accessible_customers
Free · Read-only
Lists the customer accounts the service account can reach DIRECTLY, as customers/{id} resource names: the first call to see which accounts are connected.
gads_move_customer_manager_link
Pro · Destructive
Moves a client account from one manager to another in one request.
gads_mutate_customer
Pro · Write
Updates the account's own settings (for example descriptiveName, trackingUrlTemplate, finalUrlSuffix, autoTaggingEnabled and callReportingSetting) with one update operation and an updateMask.
gads_mutate_customer_client_links
Pro · Destructive
Creates or updates the link that invites a client account to be managed by this manager.
gads_mutate_customer_manager_links
Pro · Destructive
Changes the status of the links between a client account and its managers (update only).
gads_mutate_customer_user_access_invitations
Pro · Destructive
Invites a person to the account by email (create) or revokes a pending invitation (remove).
gads_mutate_customer_user_accesses
Pro · Destructive
Changes who can sign in to the account: updates a user's accessRole (with updateMask) or removes a user.
gads_resolve_multi_party_auth_review
Pro · Destructive
Approves, rejects or revokes a pending multi-party approval review, the second administrator's check that Google holds on a new user, a role change or a user removal.
gads_start_identity_verification
Pro · Destructive
Starts advertiser identity verification for the account (verificationProgram ADVERTISER_IDENTITY_VERIFICATION).

Billing & Incentives

ToolWhat it does
gads_apply_incentive
Pro · Destructive
Applies a promotional incentive (a coupon) to the account's billing.
gads_fetch_incentive
Free · Read-only
Returns the acquisition incentive offer for a user: the low, medium and high spend-and-get options, each with its incentiveId, spend requirement, award and terms link.
gads_list_invoices
Free · Read-only
Returns the invoices issued for ONE billing setup in ONE month.
gads_list_payments_accounts
Free · Read-only
Returns the payments accounts (name, ids, currency and paying manager) associated with the managers between the login manager and customerId in the hierarchy, inclusive: the accounts a billing setup can use.
gads_mutate_account_budget_proposals
Pro · Destructive
Proposes a change to the account budget, the spending limit of a monthly-invoicing account: create, edit, end or remove.
gads_mutate_billing_setups
Pro · Destructive
Creates a billing setup, which designates the payments account responsible for the account's costs, or cancels one: remove works only on a setup that is still pending or starts in the future.
ToolWhat it does
gads_append_lead_conversation
Pro · Destructive
Appends text messages to the conversation history of Local Services leads.
gads_create_account_link
Pro · Destructive
Creates an account link, today a third-party app analytics link (thirdPartyAppAnalytics: appAnalyticsProviderId, appVendor APPLE_APP_STORE or GOOGLE_APP_STORE, and appId).
gads_create_data_link
Pro · Destructive
Creates a data link (today a YouTube video link).
gads_create_product_link
Pro · Destructive
Creates a product link between the account and another Google product (merchantCenter, googleAds or dataPartner).
gads_create_product_link_invitation
Pro · Write
Creates an invitation, sent from this account to another account, to link a product; the invitation stays pending until the other side answers it.
gads_mutate_account_links
Pro · Destructive
Updates or removes an account link (a third-party app analytics link); create is not supported on this route, use gads_create_account_link.
gads_provide_lead_feedback
Pro · Destructive
Gives the advertiser's feedback on a Local Services lead: surveyAnswer (VERY_SATISFIED to VERY_DISSATISFIED), with the reasons in surveySatisfied or surveyDissatisfied.
gads_regenerate_shareable_link_id
Pro · Destructive
Regenerates the shareable link ID of a third-party app analytics link (resourceName: customers/{customerId}/thirdPartyAppAnalyticsLinks/{id}).
gads_remove_data_link
Pro · Destructive
Removes a data link (resourceName: customers/{customerId}/dataLinks/{productLinkId}~{dataLinkId}).
gads_remove_product_link
Pro · Destructive
Removes a product link (resourceName: customers/{customerId}/productLinks/{id}).
gads_remove_product_link_invitation
Pro · Destructive
Withdraws a product link invitation (resourceName: customers/{customerId}/productLinkInvitations/{id}).
gads_update_data_link
Pro · Destructive
Sets the status of a data link (dataLinkStatus): ENABLED or DISABLED switch the sharing on or off, and REVOKED or REJECTED end the link.
gads_update_product_link_invitation
Pro · Destructive
Answers a product link invitation by setting its status (productLinkInvitationStatus): ACCEPTED creates the link and starts the data sharing, REJECTED declines the invitation and REVOKED withdraws one you sent.

Bulk & Long-running Operations

ToolWhat it does
gads_add_batch_job_operations
Pro · Write
Queues operations on a batch job; nothing is applied until gads_run_batch_job runs the job.
gads_cancel_operation
Pro · Destructive
Requests cancellation of a long-running operation.
gads_delete_operation
Pro · Destructive
Deletes a long-running operation record.
gads_get_operation
Free · Read-only
Gets the latest state of a long-running operation, such as a batch job run or a draft or experiment promotion.
gads_list_batch_job_results
Free · Read-only
Returns the per-operation results of a batch job; the job must be done, so check gads_get_operation first.
gads_list_operations
Free · Read-only
Lists the long-running operations of an account that match a filter.
gads_mutate_batch_jobs
Pro · Destructive
Creates a batch job or removes one that has not been run.
gads_mutate_resources
Pro · Destructive
Runs create, update and remove operations on any mix of resource types in one request, optionally as one atomic transaction.
gads_run_batch_job
Pro · Destructive
Starts a batch job, which executes every operation queued on it.
gads_wait_operation
Free · Read-only
Waits for a long-running operation to finish, or until timeoutSeconds passes, and returns its latest state.

Campaigns, Budgets & Bidding

ToolWhat it does
gads_enable_pmax_brand_guidelines
Pro · Destructive
Enables Brand Guidelines for Performance Max campaigns.
gads_end_experiment
Pro · Destructive
Ends an experiment immediately.
gads_generate_pmax_draft_campaign
Pro · Write
Creates a Performance Max draft campaign from an existing Smart campaign, with status PAUSED and creation status INCOMPLETE.
gads_get_smart_campaign_status
Free · Read-only
Returns the status of a Smart campaign.
gads_graduate_experiment
Pro · Destructive
Graduates an experiment into a full campaign.
gads_list_campaign_draft_async_errors
Free · Read-only
Lists the errors that occurred while a campaign draft was being promoted.
gads_list_experiment_async_errors
Free · Read-only
Lists the errors that occurred during the last experiment update, either scheduling or promotion.
gads_mutate_bidding_data_exclusions
Pro · Destructive
Creates, updates or removes bidding data exclusions.
gads_mutate_bidding_seasonality_adjustments
Pro · Destructive
Creates, updates or removes bidding seasonality adjustments.
gads_mutate_bidding_strategies
Pro · Destructive
Creates, updates or removes bidding strategies.
gads_mutate_campaign_budgets
Pro · Destructive
Creates, updates or removes campaign budgets.
gads_mutate_campaign_drafts
Pro · Destructive
Creates, updates or removes campaign drafts.
gads_mutate_campaign_groups
Pro · Destructive
Creates, updates or removes campaign groups.
gads_mutate_campaign_shared_sets
Pro · Destructive
Creates or removes links between campaigns and shared sets.
gads_mutate_campaigns
Pro · Destructive
Creates, updates or removes campaigns.
gads_mutate_experiment_arms
Pro · Destructive
Creates, updates or removes experiment arms.
gads_mutate_experiments
Pro · Destructive
Creates, updates or removes experiments.
gads_mutate_smart_campaign_settings
Pro · Write
Updates the settings of Smart campaigns.
gads_promote_campaign_draft
Pro · Destructive
Promotes a campaign draft: its changes are applied back to the base campaign.
gads_promote_experiment
Pro · Destructive
Promotes an experiment: the trial campaign's changes are applied to the base campaign.
gads_schedule_experiment
Pro · Destructive
Schedules an experiment so its in-design campaign becomes a real experiment campaign.

Ad Groups, Ads & Criteria

ToolWhat it does
gads_mutate_ad_group_ads
Pro · Destructive
Creates, updates or removes ads in ad groups.
gads_mutate_ad_group_bid_modifiers
Pro · Destructive
Creates, updates or removes ad group bid modifiers.
gads_mutate_ad_group_criteria
Pro · Destructive
Creates, updates or removes ad group criteria.
gads_mutate_ad_groups
Pro · Destructive
Creates, updates or removes ad groups.
gads_mutate_ad_parameters
Pro · Destructive
Creates, updates or removes ad parameters.
gads_mutate_ads
Pro · Destructive
Updates the creative of ads.
gads_mutate_campaign_bid_modifiers
Pro · Destructive
Creates, updates or removes campaign bid modifiers.
gads_mutate_campaign_criteria
Pro · Destructive
Creates, updates or removes campaign criteria.
gads_mutate_customer_negative_criteria
Pro · Destructive
Creates or removes account-level negative criteria.
gads_mutate_shared_criteria
Pro · Destructive
Creates or removes shared set criteria.
gads_mutate_shared_sets
Pro · Destructive
Creates, updates or removes shared sets.
gads_remove_ad_group_ad_automatically_created_assets
Pro · Destructive
Removes text customization (formerly automatically created assets) from an ad.

Assets & Creative

ToolWhat it does
gads_generate_asset_images
Free · Read-only
Uses generative AI to generate images that can be used as assets in a campaign.
gads_generate_asset_text
Free · Read-only
Uses generative AI to generate text that can be used as assets in a campaign.
gads_generate_shareable_previews
Free · Read-only
Returns shareable preview links for ads.
gads_mutate_ad_group_asset_sets
Pro · Destructive
Creates or removes links between ad groups and asset sets.
gads_mutate_ad_group_assets
Pro · Destructive
Creates, updates or removes ad group asset links.
gads_mutate_ad_group_criterion_customizers
Pro · Destructive
Creates or removes ad group criterion customizer values.
gads_mutate_ad_group_customizers
Pro · Destructive
Creates or removes ad group customizer values.
gads_mutate_asset_group_assets
Pro · Destructive
Creates, updates or removes asset group assets.
gads_mutate_asset_group_listing_group_filters
Pro · Destructive
Creates, updates or removes asset group listing group filters.
gads_mutate_asset_group_signals
Pro · Destructive
Creates or removes asset group signals.
gads_mutate_asset_groups
Pro · Destructive
Creates, updates or removes asset groups.
gads_mutate_asset_set_assets
Pro · Destructive
Creates or removes assets in asset sets.
gads_mutate_asset_sets
Pro · Destructive
Creates, updates or removes asset sets.
gads_mutate_assets
Pro · Destructive
Creates or updates assets.
gads_mutate_campaign_asset_sets
Pro · Destructive
Creates or removes links between campaigns and asset sets.
gads_mutate_campaign_assets
Pro · Destructive
Creates, updates or removes campaign asset links.
gads_mutate_campaign_customizers
Pro · Destructive
Creates or removes campaign customizer values.
gads_mutate_customer_asset_sets
Pro · Destructive
Creates or removes links between the account and asset sets.
gads_mutate_customer_assets
Pro · Destructive
Creates, updates or removes account-level asset links.
gads_mutate_customer_customizers
Pro · Destructive
Creates or removes account customizer values.
gads_mutate_customizer_attributes
Pro · Destructive
Creates or removes customizer attributes.
gads_remove_campaign_automatically_created_asset
Pro · Destructive
Removes text customization (formerly automatically created assets) from a campaign.
gads_remove_youtube_video_uploads
Pro · Destructive
Removes YouTube videos that were uploaded through this API.
gads_update_youtube_video_upload
Pro · Write
Updates the metadata of a YouTube video, but only for videos uploaded through this API.
gads_upload_youtube_video
Pro · Write
Uploads a video to the advertiser's own (brand) YouTube channel or to the Google-managed channel attached to the Ads account, so it can be used as a video asset.

Labels

ToolWhat it does
gads_mutate_ad_group_ad_labels
Pro · Destructive
Creates or removes ad group ad labels.
gads_mutate_ad_group_criterion_labels
Pro · Destructive
Creates or removes ad group criterion labels.
gads_mutate_ad_group_labels
Pro · Destructive
Creates or removes ad group labels.
gads_mutate_campaign_labels
Pro · Destructive
Creates or removes campaign labels.
gads_mutate_customer_labels
Pro · Destructive
Creates or removes account labels.
gads_mutate_labels
Pro · Destructive
Creates, updates or removes labels.

Conversions & Measurement

ToolWhat it does
gads_mutate_campaign_conversion_goals
Pro · Write
Updates campaign conversion goals.
gads_mutate_campaign_goal_configs
Pro · Destructive
Creates, updates or removes campaign goal configs.
gads_mutate_conversion_actions
Pro · Destructive
Creates, updates or removes conversion actions.
gads_mutate_conversion_custom_variables
Pro · Write
Creates or updates conversion custom variables.
gads_mutate_conversion_goal_campaign_configs
Pro · Write
Updates conversion goal campaign configs.
gads_mutate_conversion_value_rule_sets
Pro · Destructive
Creates, updates or removes conversion value rule sets.
gads_mutate_conversion_value_rules
Pro · Destructive
Creates, updates or removes conversion value rules.
gads_mutate_custom_conversion_goals
Pro · Destructive
Creates, updates or removes custom conversion goals.
gads_mutate_customer_conversion_goals
Pro · Write
Updates account conversion goals.
gads_mutate_customer_sk_ad_network_conversion_value_schemas
Pro · Write
Updates the SKAdNetwork conversion value schema of an app.
gads_mutate_goals
Pro · Write
Creates or updates goals.
gads_mutate_remarketing_actions
Pro · Write
Creates or updates remarketing actions.
gads_upload_call_conversions
Pro · Destructive
Uploads conversions that happened on phone calls attributed to ads.
gads_upload_click_conversions
Pro · Destructive
Uploads offline click conversions, the sales or leads that followed an ad click.
gads_upload_conversion_adjustments
Pro · Destructive
Uploads adjustments to conversions that were already recorded.

Audiences & User Lists

ToolWhat it does
gads_add_offline_user_data_job_operations
Pro · Destructive
Adds user data operations to an offline user data job: hashed customer identifiers to add to or remove from an audience.
gads_create_offline_user_data_job
Pro · Write
Creates an offline user data job, the container that Customer Match audience uploads and store sales uploads are queued on; nothing is uploaded or applied until gads_add_offline_user_data_job_operations adds data and gads_run_offline_user_data_job runs the job.
gads_mutate_audiences
Pro · Write
Creates or updates audiences.
gads_mutate_custom_audiences
Pro · Destructive
Creates, updates or removes custom audiences.
gads_mutate_custom_interests
Pro · Write
Creates or updates custom interests.
gads_mutate_user_list_customer_types
Pro · Destructive
Creates or removes user list customer types.
gads_mutate_user_lists
Pro · Destructive
Creates, updates or removes user lists.
gads_run_offline_user_data_job
Pro · Destructive
Runs an offline user data job, which processes every operation queued on it.
gads_upload_user_data
Pro · Destructive
Uploads user data to a Customer Match audience in one synchronous call: hashed customer identifiers to add to or remove from it.

Recommendations

ToolWhat it does
gads_apply_recommendations
Pro · Destructive
Applies Google's recommendations to the account.
gads_dismiss_recommendations
Pro · Write
Dismisses recommendations, marking them dismissed.
gads_generate_recommendations
Free · Read-only
Generates recommendations for the requested recommendation types.
gads_mutate_recommendation_subscription
Pro · Destructive
Creates or updates automatic application of recommendation types.