Written by: Aaron Rovner, Founder, Saas Hero | Last updated: September 5, 2026
Key Takeaways for Technical Teams
- Google Ads offers four developer tools: API, Scripts, Editor, and Developer Assistant. Each one fits a specific automation or bulk-editing scenario.
- The Google Ads API supports large-scale, cross-account automation and custom reporting. It requires a developer token, OAuth, and external hosting.
- Google Ads Scripts support lightweight, server-free automation inside the Google Ads UI. Editor focuses on one-time offline bulk edits without code.
- The Developer Assistant speeds up API work by validating GAQL queries and generating code inside AI coding environments.
- B2B SaaS teams that need strategy, creative, and CRM-connected reporting alongside tooling can partner with SaaSHero to own the entire paid acquisition engine.
Google Ads Developer Tools in Plain Language
Google Ads developer tools are official resources that let developers manage, automate, and debug Google Ads campaigns programmatically. The main tools are the Google Ads API, Google Ads Scripts, Google Ads Editor, and the Developer Assistant.
A quick orientation to each tool:
- Google Ads API: A REST and gRPC interface that exposes nearly every object in a Google Ads account, including campaigns, ad groups, keywords, bids, budgets, conversions, and reporting streams. It supports large-scale, programmatic automation.
- Google Ads Scripts: JavaScript-based automations that run inside a browser-based IDE within Google Ads on a schedule. They do not require an active user session or external hosting.
- Google Ads Editor: A desktop application for offline bulk editing of campaigns. It works well for large-scale changes across one or many accounts.
- Developer Assistant: An AI-powered tool that sits inside an AI coding environment and supplies it with Google Ads API domain knowledge. It grounds responses in official API definitions and client library source code.
Google Ads API: Setup, Authentication, and First Call
The Google Ads API is the most powerful and flexible tool for custom integrations. It exposes 181 queryable resources in its latest version. A single connection can query all accounts under a manager account. This supports cross-account portfolio dashboards and large-scale automation that the UI cannot handle efficiently.
API Setup and Authentication Steps
Authentication relies on credentials from two separate consoles. Google Ads API access requires four credentials: a developer token from the Google Ads manager account API Center, plus an OAuth client ID, client secret, and refresh token from a Google Cloud project.
- Create a project in Google Cloud Console and enable the Google Ads API.
- Configure the OAuth consent screen with the scope
https://www.googleapis.com/auth/adwords. - Create an OAuth client ID (Web application or Desktop app) to obtain the client ID and secret.
- Run an OAuth flow using Google’s client libraries to obtain a refresh token.
- Apply for a developer token via the API Center in your Google Ads manager account.
Treat the developer token and refresh token as production secrets and store them in a secret manager, not in source control. A leak could allow unauthorized spending of clients’ budgets.
Google began rolling out mandatory multi-factor authentication for new Google Ads API OAuth 2.0 refresh tokens starting April 21, 2026. Enforcement expanded in the following weeks.
Making Your First API Call
The Python snippet below shows a basic API call that retrieves campaign data. It illustrates the pattern. For production implementations, use the official Google Ads API documentation.
from google.ads.googleads.client import GoogleAdsClient client = GoogleAdsClient.load_from_storage("google-ads.yaml") ga_service = client.get_service("GoogleAdsService") query = """ SELECT campaign.id, campaign.name, campaign.status FROM campaign ORDER BY campaign.id """ customer_id = "INSERT_CUSTOMER_ID_HERE" response = ga_service.search_stream(customer_id=customer_id, query=query) for batch in response: for row in batch.results: print(f"Campaign ID: {row.campaign.id}, Name: {row.campaign.name}")
A practical onboarding path is to authenticate, pull a read-only report, and move to writes only after reporting is trustworthy. The API fits large-scale automation and custom reporting, but it requires real development effort and is subject to rate limits.
Google Ads Scripts: Lightweight Automation Without a Server
The API suits heavy infrastructure. When that feels excessive, Google Ads Scripts offer a lighter-weight, in-product alternative. They require no developer token and no external hosting. Scripts work well for scheduled automation tasks such as budget alerts, bid adjustments, and reporting.
A Simple Script Example
The script below pauses campaigns that exceed a defined cost-per-conversion threshold.
function main() { var COST_PER_CONV_THRESHOLD = 50.00; // Set your threshold var campaignIterator = AdsApp.campaigns() .withCondition("metrics.cost_per_conversion > " + COST_PER_CONV_THRESHOLD) .withCondition("campaign.status = ENABLED") .get(); while (campaignIterator.hasNext()) { var campaign = campaignIterator.next(); campaign.pause(); Logger.log("Paused campaign: " + campaign.getName()); } }
Scripts are easier to implement than the API and require no external hosting. They also carry meaningful constraints. Google Ads Scripts cannot create campaigns, ad groups, or ads from scratch. They have a 30-minute maximum runtime per execution, a 250-script limit per account, and 50,000 default iterator results. Scripts are limited to a single account with lower limits. The API supports cross-account management at scale.
Google Ads Editor: Bulk Editing for Agencies and Large Accounts
Google Ads Editor is a desktop application for offline bulk editing of campaigns. It fits situations where you need one-time large-scale changes without writing code. Agencies managing multiple accounts and advertisers restructuring campaigns before a major launch use it heavily.
Google Ads Editor 2.13, released July 24, 2026, adds full support for AI Max in Shopping campaigns. It includes automated text generation, URL expansion controls, brand lists, and URL exclusions. These features enable offline management of AI-powered Shopping campaigns. The same release adds Customer Retention Goals in Performance Max campaigns and native Channel Performance reporting. It also removes the ability to create new Video Action campaigns, reflecting Google’s migration of these to Demand Gen.
Editor is the right choice over the API or Scripts when the task is a defined, one-time bulk operation rather than a recurring workflow. It requires no coding knowledge and no developer token.
Developer Assistant: AI-Powered Help for API Integrations
The Google Ads API Developer Assistant is a free, Apache-licensed tool that runs inside an AI coding environment and supplies it with Google Ads API domain knowledge. It grounds responses in official API definitions and client library source code stored locally.
Google published version 4.0.0 of the Developer Assistant on August 25, 2026. This release rebuilt the assistant as a globally installed plugin for the Antigravity and Claude Code agent environments and broke compatibility with earlier installations. Key capabilities include:
- Generating integration code across Python, Java, PHP, .NET, and Ruby
- Validating Google Ads Query Language (GAQL) syntax, field compatibility, date segmentation, and zero-impression rules before a query runs
- Inspecting Protobuf schemas
- Diagnosing offline conversion upload failures
- Navigating manager account hierarchies
- Running ad hoc reports by converting plain-English requests into validated GAQL queries
The Developer Assistant generates code for mutate operations but does not execute them. Developers review and run generated mutate code manually, which keeps full control over account changes. Version 4.0.0 introduces ten slash commands, including /validate-gaql, /troubleshoot-conversions, and /inspect-object.
How to Get a Google Ads Developer Token
The developer token is often the hardest part of API setup. Google issues developer tokens only from Google Ads manager accounts (MCCs), not from regular serving accounts, and every API call requires a token.
- Sign in to your Google Ads manager account.
- Navigate to Admin → API Center (or Tools & Settings → Setup → API Center).
- Complete the API Access form with your API contact email, company name and type, intended use, and country.
- Submit the form. Google generates a token at Test Account access level, which works only with test accounts.
- Apply in the API Center for Basic or Standard access to reach production accounts.
Common mistakes that cause rejections include:
- Applying with insufficient spend history. Google requires at least $1,000 in total historical spend across managed accounts and verifies this during review.
- Providing a vague use-case description instead of a clear explanation of what your application will do.
- Applying from a personal account instead of a business account.
- Having policy violations on accounts under the manager account.
Standard applications receive initial review within 5–7 business days, with complex cases taking up to 14 business days. Approximately 30% of initial applications are rejected. Resubmissions usually receive faster review of 2–5 business days. Apply for the upgrade early so the review does not block a production launch.
Submit your application through the Google Ads API Center.
Debugging Google Ads with Chrome DevTools
Chrome DevTools is the main tool for diagnosing conversion tracking failures and ad delivery issues in the browser. The Chrome DevTools documentation covers the full feature set. The sections below focus on common Google Ads scenarios.
Checking Conversion Tracking
The first troubleshooting step for missing conversions is to open Chrome DevTools and inspect the Network tab for Google Ads measurement requests such as googleadservices.com/pagead/conversion. Filter by that domain to isolate relevant requests, then compare the actual request parameters, including the conversion ID and label, against your intended configuration.
Consent-aware request paths appear clearly in DevTools. Under Google Consent Mode, conversion hits route through google.com/ccm/collect with a tid=AW- parameter, and the gcs parameter encodes consent state. For example, gcs=G111 means ad and analytics storage granted, while gcs=G100 means denied. This distinction separates consent-mode behavior from a true tracking failure.
Ad blockers or browser tracking protection can block the googleadservices.com/pagead/conversion request and make it appear that the tag is not firing. Always verify in a clean browser state with extensions disabled.
Use this five-step diagnostic order for zero conversions:
- Check tag presence on the exact conversion page.
- Read the conversion action status in Google Ads. “Unverified” means no signal has ever been received. “No recent conversions” means the tag arrived in the past but not recently.
- Verify firing in the DevTools Network tab.
- Review counting rules, including conversion window and key event registration.
- Check blind spots such as consent mode configuration or internal-traffic exclusion.
Troubleshooting Ad Delivery
Google recommends adding the “Why ads aren’t running” column to the Campaigns table. This column surfaces the explicit reason Google is not serving an ad and often resolves issues before you open DevTools.
Common non-browser causes of delivery failure include:
- Campaign end dates, paused entities, or billing issues
- Smart Bidding strategies that need roughly 30–50 conversions in the past 30 days. Without this volume, the algorithm stays in a learning state with very conservative bids.
- Overly restrictive audience, content, or brand safety settings
- Below-average Quality Score components, especially Expected CTR, which can push Ad Rank below the auction threshold
Use the Ad Preview and Diagnosis tool alongside the “Why ads aren’t running” column before escalating to a support callback.
Decision Matrix: Matching Tasks to Google Ads Tools
The table below compares the four tools across use case and best-fit scenario. Choose based on your technical resources and the scope of the task.
| Tool | Use Case | Best For |
|---|---|---|
| Google Ads API | High-scale, cross-account automation; custom reporting pipelines; programmatic campaign creation | Teams building products, agencies managing many accounts, or data pipelines that need portfolio-level dashboards |
| Google Ads Scripts | Scheduled single-account automation; budget alerts; bid adjustments; link checking | Quick single-account rules and lightweight automation without building an external application |
| Google Ads Editor | Offline bulk editing; AI Max Shopping configuration; large-scale one-time changes across accounts | Agencies and advertisers making large-scale structural changes without writing code |
| Developer Assistant | GAQL validation; code generation across Python, Java, PHP, .NET, Ruby; conversion troubleshooting; Protobuf schema inspection | Developers building API integrations who want validated code generation and diagnostic support inside a coding agent |
The right choice depends on the scope of the task and the technical resources available. If you need a one-time structural change, Editor is usually the fastest path because it requires no code. For recurring automation within a single account, Scripts handle the job without any external infrastructure. When you need to manage multiple accounts or build custom pipelines, the API provides the necessary scale. If you are actively developing against the API, the Developer Assistant cuts iteration time by validating GAQL locally instead of relying on multiple model round-trips.
Even with the right tool selected, these tools focus on execution. For a B2B SaaS company, the harder challenge is pointing that execution at the right business outcomes. That gap is where a professional growth team adds value.
When a Professional Growth Team Makes Sense
Running effective Google Ads campaigns for a B2B SaaS company requires ongoing strategy, creative, landing page work, and CRM data integration. The developer tooling handles automation. It does not design the measurement architecture, define the conversion hierarchy, shape the post-click experience, or set the channel mix that directs spend toward revenue.
SaaSHero acts as the outsourced inbound growth team for B2B SaaS companies. One team owns strategy and execution across paid media, creative, landing pages, and reporting, and aligns everything to CRM revenue data instead of simple form-fill counts. As a Google Premier Partner (top 3% of agencies) with over $60M in lifetime managed ad spend, SaaSHero provides the paid media infrastructure that technical marketing teams need without building it internally.
The engagement covers paid search on Google Ads and Microsoft Ads, paid social across LinkedIn, Meta, Reddit, and TikTok, in-house creative production, landing page design and A/B testing, and CRM-connected attribution reporting in HubSpot or Salesforce. All designers, copywriters, and campaign managers are full-time employees.
Book a discovery call to see how SaaSHero can own your paid acquisition end-to-end.
FAQ
What is the difference between Google Ads API and Google Ads Scripts?
The Google Ads API is a REST and gRPC interface that runs on your own server or cloud infrastructure, supports all major programming languages, and provides full programmatic access to nearly every object in a Google Ads account across multiple accounts. It requires a developer token, OAuth 2.0 credentials, and external hosting. Google Ads Scripts are JavaScript programs that run inside a browser-based IDE built into the Google Ads interface, require no external hosting or developer token, and are limited to a single account per script with a 30-minute maximum runtime. Scripts are a strong starting point for lightweight, single-account automation tasks. The API fits cross-account management, programmatic campaign creation, and custom data pipelines at scale.
How long does it take to get a Google Ads developer token?
A developer token is generated immediately when you submit the API Access form in your Google Ads manager account, but it starts at Test Account access, which works only with test accounts. Upgrading to Basic or Standard access for production use requires a manual review by Google’s API compliance team. As noted earlier, standard applications are usually reviewed within 5–7 business days, with complex cases taking longer and a meaningful share rejected on the first pass. Most rejections relate to insufficient spend history, vague use-case descriptions, or incomplete business details. Resubmissions that address the rejection reason tend to receive faster review. Apply for the upgrade well before you need production access.
Can I use Google Ads Editor for bulk changes?
Yes. Google Ads Editor is designed for offline bulk editing of campaigns, ad groups, keywords, ads, and extensions across one or many accounts. It is the right tool when you need large-scale structural changes without writing code. Version 2.13, released July 2026, added full support for AI Max in Shopping campaigns, Customer Retention Goals in Performance Max, and native Channel Performance reporting. These updates move Editor closer to feature parity with the web interface for common campaign management tasks. Editor still does not replace the API for recurring programmatic workflows, but for one-time bulk operations it is faster and requires no development effort.
What is Google Ads Developer Assistant?
The Google Ads API Developer Assistant is a free, Apache-licensed plugin that installs inside AI coding environments such as Antigravity and Claude Code. It provides the same core capabilities described earlier, including GAQL validation, code generation, and conversion troubleshooting, but packaged directly inside an AI coding workflow. Version 4.0.0, released August 25, 2026, rebuilt the tool as a globally installed plugin and introduced ten slash commands. The Developer Assistant generates mutate code but does not execute it, so developers still review and run any code that modifies account data.
How do I debug ads not showing in Chrome DevTools?
Start outside DevTools by adding the “Why ads aren’t running” column to the Campaigns table in the Google Ads interface. This column surfaces the explicit reason Google is not serving the ad. For conversion tracking issues, open Chrome DevTools, go to the Network tab, and filter for requests to googleadservices.com/pagead/conversion. If no request appears, the tag is either missing from the page, targeting the wrong page, or has a trigger that never fires. If a request appears but conversions are not recorded in Google Ads, check the conversion action status. “Unverified” means no signal has ever been received, while “No recent conversions” means the tag fired previously but not recently. Always test in a clean browser state with ad blockers and tracking protection disabled, because these can silently block the conversion request. For consent mode implementations, check the gcs parameter in the request to confirm that consent state is passed correctly.
Conclusion: Turn Tooling into Growth
Google’s developer tooling covers a wide range of automation and debugging needs. Google Ads Scripts handle lightweight single-account automation without infrastructure. The API supports cross-account programmatic workflows at scale. Editor manages bulk offline changes without code. The Developer Assistant accelerates API development by validating queries and generating code inside a coding agent. The decision matrix above gives a direct path from task to tool.
For B2B SaaS companies where the real constraint is strategy, measurement architecture, and post-click performance, developer tools form the foundation rather than the full solution. SaaSHero owns the full inbound acquisition engine: paid media across channels, in-house creative, landing pages, CRM-connected attribution, and the strategy that directs all of it. You avoid outsourcing coordination, agency management overhead, and constant rebuilding of reporting decks before each board meeting.
Book a discovery call with SaaSHero to see what a full-service growth team looks like when it owns the work end-to-end.