Google Adwords API for Go
Clone or download
#15 Compare This branch is 32 commits ahead, 4 commits behind colinmutter:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

gads (Google Adwords Golang SDK)

Package gads provides a wrapper for the Google Adwords SOAP API. Based off of colinmutter/gads, this version was updated to support v201710 and additional functionality that was missing from the current versions.


	go get


The package is comprised of services used to manipulate various adwords structures. To access a service you need to create an gads.Auth and parse it to the service initializer, then can call the service methods on the service object.

     authConf, err := NewCredentialsFromFile("~/creds.json")
     campaignService := gads.NewCampaignService(&authConf.Auth)

     campaigns, totalCount, err := campaignService.Get(
         Fields: []string{

Note: This package is a work-in-progress, and may occasionally make backwards-incompatible changes.


Sidecar has written integration tests in the sandbox_test.go file. All other tests were included in the original repo and won't run correctly unless you setup the JSON file to gather credentials.

To run the sandbox tests:

  1. cp .env.dist .env and fill in the credentials
  2. set -a
  3. source .env

Then to run the tests:

  1. cd v201710
  2. go test -run Sandbox


This project currently supports v201710 only. To select the appropriate version, import the specific package:

  import (
    gads ""

Original Repo Additional Documentation

Credentials setup

In order to access the API you will need to sign up for an MCC account[1], get a developer token[2] and setup authentication[3]. There is a tool in the setup_oauth2 directory that will help you setup a configuration file.


Currently, the you need to supply credentials via NewCredentialsFromParams or NewCredentialsFromFile. The credentials can be obtained from the file generated in the previous step.

For example in this CLI script, I am handling a conf file via flags:

go run cli/adgroups_awql.go -oauth ~/auth.json

NOTE: Other examples still need to be updated to support the removal of the built-in oauth configuration file flag.


Gads is developed by Edward Middleton

and supported by: