rgoogleads: R package for work with Google Ads API

CRAN status R-CMD-check Lifecycle: experimental

Table of Contents

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:

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:

Typical OAuth dance in the browser, when initiated from within R
Typical OAuth dance in the browser, when initiated from within R

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

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