Use OAuth 2.0 to Access Google Ads API
Stay organized with collections
Save and categorize content based on your preferences.
Page Summary
Google Ads API utilizes the OAuth 2.0 protocol for authentication and authorization, allowing your app to access user accounts without handling login information.
In addition to OAuth 2.0 credentials, a developer token is also required to make Google Ads API calls.
While all Google-supported OAuth 2.0 scenarios work, this guide focuses on the most common ones for Google Ads API developers.
The recommended OAuth 2.0 approach depends on your specific application scenario, such as integrating with existing Google APIs, managing your own accounts, or managing accounts on behalf of other users.
Just like other Google APIs, Google Ads API also uses the OAuth 2.0
protocol for authentication and authorization. OAuth 2.0
enables your Google Ads API client app to access a user's Google Ads account without having
to handle or store the user's login info.
Broadly speaking, all the OAuth 2.0 authorization
scenarios that Google supports also works with
Google Ads API. However, we will focus on a handful of scenarios that are most common
for Google Ads API developers.
Scenario
Recommended approach
My app already uses one or more Google APIs. I have already built
support for OAuth 2.0 workflows for my app, and just need to add Google Ads API
functionality to my existing app.
Make sure your authorized user or your service account has access
to the Google Ads API accounts you are making API calls to. Learn more about
the Google Ads access model.
I am building an app that manages Google Ads accounts that I already have
access to. If I need to manage new Google Ads accounts in the future, I will
gain access to those accounts by linking them under my Google Ads Manager
account.
I am building an app that manages Google Ads accounts on behalf of other
users. My app will build a user screen that lets the logged in users to
connect to their Google Ads accounts and authorize my app to manage those
accounts on their behalf.
[[["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-08-19 UTC."],[],[]]