Introduction  |  Google Ads API  |  Google for Developers Skip to main content Google Ads API / English Deutsch Español Español – América Latina Français Indonesia Italiano Polski Português – Brasil Tiếng Việt Türkçe Русский עברית العربيّة فارسی हिंदी বাংলা ภาษาไทย 中文 – 简体 中文 – 繁體 日本語 한국어 Sign in Guides Reference Libraries and samples Policies Support Google Ads API Guides Reference Libraries and samples Policies Support Google Ads API overview Release notes Feature deprecations Video guides Authentication & authorization Introduction Web flow with the OAuth playground Best practices Performance Max Introduction Assets Campaign and budget Retail Asset groups Listing group filters Asset group assets Campaign conversion goals Enhanced conversions for web Introduction Usage flow Code example Enhanced Conversions for Leads Introduction Usage Flow GAQL Introduction Query structure & grammar segmentation GoogleAdsRow Field Metadata Fields and Clauses Field compatibility REST API Introduction Authorization with rest SearchStream & search Best practices Retrieving information efficiently Mutating information efficiently Advanced information retrieval Account change history The Basics Change Status Optimization Score & Recommendations Overview Optimization score Recommendations Overview Take actions Apply parameters Take actions in bulk Error handling & testing Best practices Smart Bidding Overview & getting started MaximizeConversions & MaximizeConversionValue Logging & Monitoring Introduction Logging & Monitoring in the Cloud Sending client logs to Google Cloud Integration Testing Introduction Testing in practice Testing Best Practices Authentication & Authorization Introduction Web Flow with the OAuth Playground Best Practices GAQL Introduction Query Structure & Grammar segmentation GoogleAdsRow Field metadata Fields and clauses Field Compatibility SELECT Requirement Date Range Validation Filtering Conditions Validating Queries REST API Introduction Authorization with REST SearchStream & Search Best Practices Retrieving Information Efficiently Mutating Information Efficiently Advanced Information Retrieval Account change history The Basics Change Status Optimization score & recommendations Overview Deep Dive: Optimization Score Deep Dive: Recommendations Recommendations: Take Actions Recommendations: Apply Parameters Recommendations: Take Actions In Bulk Error Handling & Testing Best Practices Smart Bidding Overview & Getting Started MaximizeConversions & MaximizeConversionValue Logging & Monitoring Introduction Logging & Monitoring in the Cloud Sending Client Logs to Google Cloud Get started Introduction Quickstart Handle errors Common errors Next steps Developer toolkit ⭐ Google Ads API Developer Assistant (Gemini-powered) What is the Google Ads API Developer Assistant? Install and use the Google Ads API Developer Assistant Google Ads MCP server Google Ads API Explorer Google Ads Query Builder Google Ads Query Validator Authentication and authorization Overview Access model overview Service account workflow User authentication workflow Overview Single-user authentication workflow Multi-user authentication workflow Security requirements OAuth 2.0 internals Set up a Google API Console project for authorization Credential management Multi-party approvals Basic concepts Overview Account types API structure Versioning Changing objects Retrieving objects Resource metadata Call structure Mutates Overview Resource mutates Bulk mutates Best practices Cloud-managed access levels Google Ads management Manage accounts Overview Create an account Link to manager accounts List accessible accounts Get account hierarchy Manage user access Manage user access invitations Link product accounts Link YouTube Change status Change event Advertiser identity verification Manage assets Overview Creation and usage Location assets Automated assets Asset automation settings Business message assets Upload videos Reporting Create assets with generative AI (closed beta) Asset generation (closed beta) Asset generation errors (closed beta) Asset generation code examples (closed beta) Manage billing Billing overview Billing setup Account budget Invoice Incentives Create and manage campaigns Explore campaign types Overview Create campaigns Create ad groups Ad management Overview Ad types Upgraded URLs Overview Fields Supported entities Valuetrack parameters for Upgraded URLs Reports Serving URL expansion rules Dynamic Search Ads Overview Create DSAs DSA page feeds Reporting Hotel Ads Overview Create campaign Create ad group Create ad Create listing groups Bidding Overview Assign strategy Set bids Adjust bids Reporting Travel Feeds for Search Ads Things to do ads Overview Create campaign Create ad group Create ad Create listing groups Reporting Responsive display ads Overview Create ads Retrieve ads Responsive search ads Overview Create ads Mutate ads Ad customization Retrieve ads Shopping Ads Overview Link Merchant Center Create campaign Create ad group Create ad Create listing groups Reporting Uploaded display ads Overview Create uploaded display ads Uploaded HTML5 ads Budgets Overview Create budget Share budget Assign budget Remove budget Track performance Restrictions & errors Bidding Overview Strategy types Strategy status Portfolio and standard bidding strategies Cross-account bidding strategies Ad group level target overrides Set bids manually Manage bid modifiers Create seasonality adjustments Create data exclusions Campaign Drafts Targeting Overview Criteria Shared sets Bid modifiers Location targeting Targeting settings Performance Max campaigns Overview Get started Business goals Online sales or lead generation Online sales with a product feed Travel goals Concepts Campaign setup Create a budget Create a campaign Conversion goals Create campaign criteria ValueTrack parameters Asset group setup Assets Asset requirements Asset groups Asset group signals Listing groups Reporting Overview Campaign Reporting Asset Group Reporting Asset Reporting Retail Campaign Reporting Campaign Criterion Reporting Upgrade to Performance Max Overview Check upgrade eligibility Create a campaign based on an existing campaign Enhance a campaign Compare performance with an existing campaign Complete the upgrade Best practices Structure requests Batch processing Optimizations Troubleshooting Common errors when working with Performance Max Resources and examples Code examples Add performance max campaign Add performance max retail campaign Add performance max product listing group tree Add performance max for travel goals campaign App campaigns Overview Create campaign Create ad group & ad Code example Reporting Demand Gen campaigns Overview Create campaign Audience targeting Campaigns with product feeds Channel controls Reporting & optimization Local Services campaigns Smart campaigns Overview Get suggestions Create budget Create campaign and campaign setting Create campaign criteria Create ad group and ad group ad Send mutate request Reporting Search campaigns Get started with Search campaigns AI Max for Search campaigns Get started with AI Max for Search campaigns Reporting for AI Max for Search campaigns Vertical ads controls and inventory filtering Video campaigns Manage conversions Overview Conversion action categories Get started with conversions Manage offline conversions Manage online conversions Manage call conversions Manage store sales conversions Modify uploaded conversions Upload conversion adjustments Conversion value rules Custom conversion variables Conversion goals Overview Customer goals Campaign goals Lifecycle goals Monitor Upload Health Reporting Troubleshooting Manage audiences Overview Audiences Get started with audience segments Visitors to your website Visitors to specific pages Visitors who took specific actions Multiple user lists Customer match Get started Manage Troubleshoot Custom audiences Lookalike segments Sample scenario Overview Creating the rule item groups Creating the user list Dynamic Remarketing Overview Prerequisites Asset-based Dynamic Remarketing Merchant center-based Dynamic Remarketing Batch processing Overview Usage flow Using temporary IDs Listing group filters Best practices & limitations Optimize your ads Optimization & recommendations Keyword planning Overview Generate keyword ideas Generate ad group themes Generate historical metrics Generate forecast metrics Experiments Overview System-managed experiments Intra-campaign experiments Asset optimization experiments Campaign Mix experiments Reporting Asynchronous errors Reach forecasting Overview Concepts Authenticate Specify a media plan Generate a curve Bid simulations Overview Prerequisites Retrieve bid simulations Report and monitor performance Reporting Overview Use case Criteria metrics Track ad placement and performance Segmentation Zero metrics Labels Streaming Paging Reports in the UI Mapping valuetrack parameters with report fields Query language Overview Query grammar Query structure Date ranges Case sensitivity Ordering and limiting results Interactive query builder Query Validator Query Cookbook Audience and creator insights Overview Audience insights YouTube creator insights Develop applications Test and troubleshoot your application Best practices Overview API limits and quotas System limits Troubleshooting Testing Test accounts Developer token reset Error debugging Error types Understand API errors Common errors Partial failures Warnings Policy exemption request Overview Ads Keywords Productionize your application Overview Secure credentials Access levels Logging Monitoring Manage data efficiently Rate limits Shared aliases Stay updated Join us live on Discord on the Google Advertising and Measurement Community server and on YouTube on July 23rd at 10:00 AM EST! We will discuss the new features added in v25 of the Google Ads API. Home Products Google Ads API Send feedback Introduction Stay organized with collections Save and categorize content based on your preferences. Page Summary outlined_flag The Google Ads API is a programmatic interface for managing Google Ads accounts and campaigns, suitable for large or complex setups. Typical uses of the Google Ads API include automated account management, custom reporting, ad management based on inventory, and Smart Bidding strategy management. The Google Ads API is recommended for developers comfortable with writing code and managing their own software infrastructure. Google Ads scripts, BigQuery Data Transfer service, automated rules, bulk uploads, and Google Ads Editor are alternative tools for automating Google Ads for different needs and technical skill levels. The Google Ads API is the programmatic interface to Google Ads, used for managing large or complex Google Ads accounts and campaigns. You can build software that manages accounts from the customer level down to the keyword level. Some typical use cases include: Automated account management Custom reporting Ad management based on inventory Smart Bidding strategy management Is the Google Ads API the right product for me? Google provides multiple products to help automate Google Ads accounts. Here are some common scenarios and the list of Google products that might best fit your needs. Scenario Recommendation I am a developer who wishes to build my own software product, or integrate with the Google Ads API. I am comfortable writing code, managing software infrastructure including servers and database. Use the Google Ads API. I am a developer who is comfortable writing code, but prefer not to manage my own software infrastructure. Use Google Ads scripts. I am not a developer, but am willing to invest some time learning programming to automate Google Ads. Use Google Ads scripts. I am a data analyst (or similar role) who wants to download Google Ads reports for further analysis. Use BigQuery Data Transfer service. Support is available for Google Ads transfers. I am an MMM developer who wants to download Google Ads data for MMM development. Use the MMM Data Platform. While many advertisers rely on the Google Ads API for data pulls, this is not ideal for MMM development. I want to manage Google Ads in bulk, but don't want to write any code. Use automated rules, bulk uploads, or Google Ads Editor. Next Quickstart arrow_forward Send feedback Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Last updated 2026-06-24 UTC. Need to tell us more? [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-06-24 UTC."],[],[]] Blog Visit our blog for important announcements. Client Libraries Use our officially supported client libraries. YouTube Access our video contents. Discord Join the Google Ads Discord server. Android Chrome Firebase Google Cloud Platform Google AI All products Terms Privacy Manage cookies English Deutsch Español Español – América Latina Français Indonesia Italiano Polski Português – Brasil Tiếng Việt Türkçe Русский עברית العربيّة فارسی हिंदी বাংলা ภาษาไทย 中文 – 简体 中文 – 繁體 日本語 한국어