Learn R Programming

rgoogleads: R package for work with Google Ads API

Table of Contents

Links

This section contains links to the package documentation, as well as other useful links that may be useful to the package users.

Install

You can install rgoogleads from CRAN or GitHub:

# install from CRAN
install.packages('rgoogleads')
# install from github
devtools::install_github('selesnow/rgoogleads')

Attach rgoogleads

library(rgoogleads)

Main goal and capabilities of rgoogleads

rgoogleads is R client for work with Google Ads API v8. Main goal of rgoogleads - load report data from Google Ads client account into R for analysis and visualizations.

Capabilities of rgoogleads:

  • Authorization in the Google Ads API
  • Loading a list of top-level accounts
  • Loading the entire hierarchy of accounts from manager accounts
  • Loading list of Google Ads client account objects: campaigns, ad groups, ads, etc.
  • Loading statistics from Google Ads client account
  • Loading resource metadata, resource fields, segments and metrics
  • Loading forecast and historical metrics from Keyword Planning.

Privacy Policy

The rgoogleads package for authorization uses the gargle package, the credentials obtained during authorization are stored exclusively on your local PC, you can find out the folder into which the credentials are cached using the gads_auth_cache_path() function.

For loading data from Google Ads Account rgoogleads needs https://www.googleapis.com/auth/adwords scope (Manage Your Google AdWords Campaigns), see official Google Ads API documentation.

The package does not transfer your credentials or data obtained from your advertising accounts to third parties, however, the responsibility for information leakage remains on the side of the package user. The author does not bear any responsibility for their safety, be careful when transferring cached credentials to third parties.

For more details, I recommend that you read the following articles from the official documentation of the gargle package:

Authorization process

You run gads_auth('me@gmail.com') and start OAuth Dance in the browser:

Upon success, you see this message in the browser:

Authentication complete. Please close this page and return to R.

And you credentials cached locally on your PC in the form of RDS files.

Key points

  • By default, gargle caches user tokens centrally, at the user level, and their keys or labels also convey which Google identity is associated with each token.
  • Token storage relies on serialized R objects. That is, tokens are stored locally on your PC in the form of RDS files.

Use own OAuth client

You can use own OAuth app:

app <- httr::oauth_app(appname = "app name", key = "app id", secret = "app secret")
gads_auth_configure(app = app)

# or from json file 
gads_auth_configure(path = 'D:/ga_auth/app.json')

# run authorization
gads_auth('me@gmail.com')

Obtain Own Developer Token and create own OAuth client

For obtain own developer token and OAuth client read the following documentation:

Example of use rgoogleads

library(rgoogleads)

# set own oauth app
gads_auth_configure(path = 'C:/auth/app.json')
# set your developer token if needed, or use default developer token
gads_auth(email = 'me@gmail.com', developer_token = "own developer token")

# get list of accessible accounts
my_accounts <- gads_get_accessible_customers()

# set manager account id (options)
gads_set_login_customer_id('xxx-xxx-xxxx')

# set client account id
gads_set_customer_id('xxx-xxx-xxxx')

# load report data
ad_group_report <- gads_get_report(
  resource    = "ad_group",
  fields      = c("ad_group.campaign",
                  "ad_group.id",
                  "ad_group.name",
                  "ad_group.status",
                  "metrics.clicks",
                  "metrics.cost_micros"),
  date_from   = "2021-06-10",
  date_to     = "2021-06-17",
  where       = "ad_group.status = 'ENABLED'",
  order_by    = c("metrics.clicks DESC", "metrics.cost_micros")
)

Package help

For get help of rgoogleads use ?rgoogleads or ?gads_get_report.

Package chage log, news and updates

You can follow the package updates at the link.

Bug report and support

If you encounter an error in the package, or you have suggestions for improving its functionality, you can create a issue using the link.

Tutorials

This section contains links to articles dedicated to rgoogleads.

If you have published an article about rgoogleads let me know about it in telegram or email and I will add it to the list of links.

Author

Alexey Seleznev, Head of analytics dept. at Netpeak Telegram Channel: R4marketing email: selesnow@gmail.com facebook: facebook.com/selesnow blog: alexeyseleznev.wordpress.com

Copy Link

Version

Install

install.packages('rgoogleads')

Monthly Downloads

702

Version

0.12.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Alexey Seleznev

Last Published

January 10th, 2025

Functions in rgoogleads (0.12.0)

gads_get_keywords

Get Keyword Dictionary From Google Ads Client Account
gads_token

Produce configured token
gads_set_customer_id

Set client customer id in current R session
rgoogleads-package

Loading Data From 'Google Ads API'
gads_set_login_customer_id

Set manager customer id in current R session
gads_last_request_ids

Get last API request ID for Google Ads API support ticket
gads_user

Get info on current user
gads_keyword_plan_historical_metrics

Returns the requested Keyword Plan historical metrics.
gads_get_ads

Get Ads Dictionary From Google Ads Client Account
gads_keyword_plan_forecast_metrics

Returns the requested Keyword Plan forecasts.
gads_keyword_plan_forecast_timeseries

Returns a forecast in the form of a time series for the Keyword Plan over the next 52 weeks.
gads_get_accessible_customers

Get all data of customers directly accessible by the user authenticating the call.
gads_customer_id_from_env

Get customer id for error message
gads_deauth

Suspend authorization
gads_fix_names

function for fix names in get_report
gads_get_account_hierarchy

Get Google Ads Manager Account Hierarchy
gads_customer

Get all information about Google Ads Customer
gads_auth_configure

Edit and view auth configuration
gads_auth

Authorization in Google Ads API
gads_check_errors

Helper function for check api answer on error
gads_customer_id_to_env

Write customer id for error message
gads_get_geo_targets

Download CSV of geo targets
gads_get_metadata

Get metada of object, RESOURCE, ATTRIBUTE, METRIC or SEGMENT
gads_get_ad_groups

Get Ad Groups Dictionary From Google Ads Client Account
gads_has_token

Is there a token on hand?
gads_get_report

Get data from Google Ads API
gads_get_ad_group_criterions

Get Ad Group Criterions Dictionary From Google Ads Client Account
gads_get_fields

Get resource or field information.
gads_get_campaigns

Get Campaigns Dictionary From Google Ads Client Account