DEV Community

Sasireka Balasubramaniyam
Sasireka Balasubramaniyam

Posted on

Accessing Google Ads data via API is easy

If you are going to build automation tools or marketing dashboards for Google Ads data, you need to pull it out through the API. It is easier than you think. This tutorial helps you access Google Ads data via API.

Before this, you should have a Google Ads manager account and some campaign data. Next, we need to create a cloud project.

What is Google Cloud project? And why is it needed?

Google Cloud project is act like an intermediator between the user and the user’s Google Ads account. You heard about authentication and authorisation. In technical we use OAuth. For this process we create a project with a secret ID and a key.

Google Ads API integration

Step 1: Creating a cloud project

  1. Open the Google Cloud console https://console.cloud.google.com/.
  2. If you have an account and project, just use it. Otherwise create a new project.
  3. Click the console in the top right corner and then open ‘My First Project’. Create new project with all necessary data.

Google cloud project

Step 2: Creating client ID and secret

This client ID and secret will be used for authentication purpose later.

  1. Search ‘Google OAuth Platform’ and click ‘Clients’
  2. If you created a new project, then it asks for the project configuration. Fill in all the necessary data. Otherwise create a client.
  3. Go to Clients → Create client. It asks for application type, based on your need choose one.
  4. Then fill in the application name and the redirect URI for callback. The redirect URI will be valid.
  5. Download your credential file, and it disappears after closing the tab.
  6. This JSON consists of client ID and client secret, and other credentials.
  7. If you have any doubts about this step, just refer to the blog https://agentzee.ai/blogs/how-to-access-google-ads-manager-data-via-api-with-an-access-token#steps-to-applying-for-a-developer-token.

client creation

Step 3: Enable Google Ads API

  1. Search for ‘APIs and Services’
  2. Click ‘Enable APIs and services’
  3. Search for Google Ads API and click the ‘Enable’ button.

Enable google ads API

Step 4: Apply for a developer token

  1. Open your Google Ads account dashboard https://ads.google.com/.
  2. Go to Admin → API center. There, you can find the test developer token. For internal use, you can use this token.
  3. For production purposes, you should apply for the ‘Basic level’ or ‘Advanced level’ based on your needs.

Developer token in Google Ads account

Step 5: Generate an access token

  1. After all these now we are going to generate an access token. By using the URL below in the browser we’ll get a ‘code’. We are going to fetch the data on behalf of the user. So we need to perform authentication. For that purpose we need to get the code and exchange it for generating the access token.
  2. This ‘code’ lifetime is very short, so we need to use it immediately.

    https://accounts.google.com/o/oauth2/v2/auth?client_id=YOUR_CLIENT_
    ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code&
    scope=https://www.googleapis.com/auth/adwords
    &access_type=offline&prompt=consent
    
  3. Here, we need to replace the client ID and redirect URI from the JSON we downloaded before and hit the URL in the browser.

  4. It will redirect to the page we mentioned in the ‘redirect URI.’ Finally, just copy the code from the URL tab.

    Authentication code

  5. After copying the code, immediately paste it somewhere and hit the API to generate access token.

       curl -X POST https://oauth2.googleapis.com/token \
         -d "code=AUTHORIZATION_CODE" \
         -d "client_id=YOUR_CLIENT_ID" \
         -d "client_secret=YOUR_CLIENT_SECRET" \
         -d "redirect_uri=YOUR_REDIRECT_URI" \
         -d "grant_type=authorization_code"
    

    Here, replace your code, client ID, client secret, and redirect URI.

    Hit the API in Postman or any platform you’ve regularly used.

  6. You’ll see the output like this. Generally, this access token's life span is only one hour.

{
"access_token": "ya29.a0AfH6SMA...",
"expires_in": 3599,
"refresh_token": "1//0gdfgsdfg...",
"scope": "https://www.googleapis.com/auth/adwords",
"token_type": "Bearer"
}
Enter fullscreen mode Exit fullscreen mode

Step 6: Access Google Ads data via API

Now you have an access token and a developer token. Follow the command below in Postman.

curl -X POST "https://googleads.googleapis.com/v16/customers/_CUSTOMER_ID_/googleAds:searc
h" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "developer-token: DEVELOPER_TOKEN" \
-H "login-customer-id: MANAGER_ID" \
-H "Content-Type: application/json" \
-d '{
  "query": "
    SELECT
      campaign.id,
      campaign.name,
      metrics.impressions,
      metrics.clicks
    FROM ad_group
    WHERE segments.date DURING LAST_7_DAYS
  "
}'
Enter fullscreen mode Exit fullscreen mode

From this, replace your generated access token, Developer token, and Manager ID from your Google Ads account and CUSTOMER_ID from your Google Ads account. Your response will be like this.

{
  "results": [
    {
      "campaign": {
        "id": "123456789",
        "name": "Search Campaign"
      },
      "metrics": {
        "impressions": "5400",
        "clicks": "320",
      }
    }
  ]
}

Enter fullscreen mode Exit fullscreen mode

For more API references use this link https://developers.google.com/google-ads/api/docs/client-libs. By using the APi you can fetch all data that is displayed on your Google Ads dashboard without opening it. It gives easy access to your data.

To know more about this, kindly refer to the above blog. It clearly explains the steps and screenshots. If you have any doubts, refer to and clear.

If you have any doubts or clarifications, don’t hesitate, just leave a comment. I hope this helps.

Top comments (0)