User turns on 2-Step Verification on their own Google Account
A user might decide on their own to turn on 2-Step Verification for their
Google Account.
After 2-Step Verification is enabled
During the
OAuth2 authentication flow,
Google prompts the user for 2-Step Verification before issuing a refresh token.
Once issued, the refresh token can be used to generate the access token needed
in API calls.
Previous refresh tokens
A refresh token that was issued before the user enabled 2-Step Verification
remains valid after the user enables 2-Step Verification. The refresh token can
be used to issue valid access tokens as usual.
Administrator requires users of a Google Ads account to enable 2-Step
Verification on their Google Account
An account administrator can require all users of a Google Ads account to
enable 2-Step Verification
on their Google Account.
User enables 2-Step Verification
During the
OAuth2 authentication flow,
Google prompts the user for 2-Step Verification before issuing a refresh token.
Once issued, the refresh token can be used to generate the access token needed
in API calls.
User doesn't enable 2-Step Verification
During the authentication flow, the user won't see the 2-Step Verification
prompt. This experience is independent of any settings on the Google Ads
account.
Once issued, the refresh token can be used to issue access tokens. However,
the API calls made using this access token will fail with a
TWO_STEP_VERIFICATION_NOT_ENROLLED error until the user enables
2-Step Verification in their Google Account.
Previous refresh tokens
This rule applies to refresh tokens issued prior to the 2-Step Verification
requirement as well—the refresh token can be used to generate access
tokens, but API calls made with these access tokens will fail with a
TWO_STEP_VERIFICATION_NOT_ENROLLED
error until the user enables 2-Step Verification in their Google Account.
Google requires all users of a Google Ads account to opt in to 2-step verification on their Google Account {:#require-2-step}
In some cases, Google might require all users of a Google Ads account to enable
2-step verification on their Google Account.
After 2-Step Verification is enabled
During the OAuth2 authentication flow,
Google prompts the user for 2-Step Verification before issuing a refresh token.
This experience is independent of whether Google opted in the Google Ads account to
require all its users to enable 2-factor verification.
Once issued, the refresh token can be used to generate the access token
needed in API calls as usual.
Previous refresh tokens
A refresh token that was issued before the user enabled 2-Step Verification
remains valid after the user enables 2-Step Verification. The refresh token can
be used to issue a valid access token as usual.
API calls made using this access
token won't encounter the TWO_STEP_VERIFICATION_NOT_ENROLLED error
because the 2-Step Verification opt-in was initiated by Google and not by the
Google Ads account administrator.
[[["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 2025-08-20 UTC."],[[["\u003cp\u003eGoogle Ads authorization supports enabling 2-Step Verification for enhanced security, impacting how refresh and access tokens function.\u003c/p\u003e\n"],["\u003cp\u003eUsers voluntarily enabling 2-Step Verification or being required to by administrators or Google will encounter a 2-Step Verification prompt during authentication.\u003c/p\u003e\n"],["\u003cp\u003eIf an administrator requires 2-Step Verification, API calls will fail with an error until it's enabled, even with existing refresh tokens.\u003c/p\u003e\n"],["\u003cp\u003eRefresh tokens issued before enabling 2-Step Verification generally remain valid but may be subject to the specific scenario and enforcement level.\u003c/p\u003e\n"],["\u003cp\u003eGoogle enforcing 2-Step Verification differs from administrator enforcement, as API calls with existing refresh tokens won't encounter the \u003ccode\u003eTWO_STEP_VERIFICATION_NOT_ENROLLED\u003c/code\u003e error.\u003c/p\u003e\n"]]],[],null,["Google Ads authorization supports enabling [2-Step Verification on your Google Ads\naccount](//support.google.com/google-ads/answer/12864186). The following table\npresents the three scenarios for enabling 2-Step Verification.\n\n|-------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| User turns on 2-Step Verification on their own Google Account | *A user might decide on their own to turn on 2-Step Verification for their Google Account.* After 2-Step Verification is enabled During the [OAuth2 authentication flow](/google-ads/api/docs/oauth/client-library), Google prompts the user for 2-Step Verification before issuing a refresh token. Once issued, the refresh token can be used to generate the access token needed in API calls. Previous refresh tokens A refresh token that was issued before the user enabled 2-Step Verification remains valid after the user enables 2-Step Verification. The refresh token can be used to issue valid access tokens as usual. |\n| Administrator requires users of a Google Ads account to enable 2-Step Verification on their Google Account | *An account administrator can require all users of a Google Ads account to [enable 2-Step Verification](https://support.google.com/google-ads/answer/12865295) on their Google Account.* User enables 2-Step Verification During the [OAuth2 authentication flow](/google-ads/api/docs/oauth/client-library), Google prompts the user for 2-Step Verification before issuing a refresh token. Once issued, the refresh token can be used to generate the access token needed in API calls. User doesn't enable 2-Step Verification During the authentication flow, the user won't see the 2-Step Verification prompt. This experience is independent of any settings on the Google Ads account. Once issued, the refresh token can be used to issue access tokens. However, the API calls made using this access token will fail with a [`TWO_STEP_VERIFICATION_NOT_ENROLLED`](/google-ads/api/reference/rpc/v20/AuthenticationErrorEnum.AuthenticationError#two_step_verification_not_enrolled) error until the user enables 2-Step Verification in their Google Account. Previous refresh tokens This rule applies to refresh tokens issued prior to the 2-Step Verification requirement as well---the refresh token can be used to generate access tokens, but API calls made with these access tokens will fail with a [`TWO_STEP_VERIFICATION_NOT_ENROLLED`](/google-ads/api/reference/rpc/v20/AuthenticationErrorEnum.AuthenticationError#two_step_verification_not_enrolled) error until the user enables 2-Step Verification in their Google Account. |\n| Google requires all users of a Google Ads account to opt in to 2-step verification on their Google Account {:#require-2-step} | *In some cases, Google might require all users of a Google Ads account to enable 2-step verification on their Google Account.* After 2-Step Verification is enabled During the [OAuth2 authentication flow](/google-ads/api/docs/oauth/client-library), Google prompts the user for 2-Step Verification before issuing a refresh token. This experience is independent of whether Google opted in the Google Ads account to require all its users to enable 2-factor verification. Once issued, the refresh token can be used to generate the access token needed in API calls as usual. Previous refresh tokens A refresh token that was issued before the user enabled 2-Step Verification remains valid after the user enables 2-Step Verification. The refresh token can be used to issue a valid access token as usual. API calls made using this access token won't encounter the `TWO_STEP_VERIFICATION_NOT_ENROLLED` error because the 2-Step Verification opt-in was initiated by Google and not by the Google Ads account administrator. |"]]