Over the past few years, Google has been developing a new API for its Google Ads services. On April 27, 2022, Google will shut down the current Adwords API. By the end of April, any R code that relies on our {RAdwords} package will be deprecated. To keep your code and data tasks running, you need to refactor your R code to be compatible with the new Google Ads API. We have created a new R package {r4googleads} that will replace our {RAdwords} package. {r4googleads} will give you the full functionality of {RAdwords} plus additional new features!
Start migrating your code now with our easy step-by-step guide!
To install the latest stable version of {r4googleads} from R’s official Comprehensive R Archive Network (CRAN) run
or install the latest development release from GitHub using the {remotes} R package. (the below example code assumes the {remotes} package has been installed previously.)
The authentication process of {RAdwords} and {r4googleads} remains the same (except for the function name). This means that you can easily use the {r4googleads} package with your existing {RAdwords} authentication objects (tokens). The good news is that you don’t have to go through the whole authentication process and can just start code migration!
The previous {RAdwords} authentication:
The {r4googleads} authentication now is:
{r4googleads} allows you to apply the Google Ads Query Language directly. That is, you can write your own SQL-like syntax or use the [Query Builder] (https://developers.google.com/google-ads/api/fields/v9/overview_query_builder) provided by Google.
The previous {RAdwords} code:
body <- statement(select = c('CampaignName', 'Clicks', 'Cost'),
report = "CAMPAIGN_PERFORMANCE_REPORT",
start = "2022-01-01",
end = "2022-01-10")
data <- getData(clientCustomerId = 'XXX-XXX-XXXX', #use Adwords Account Id (MCC Id will not work)
google_auth = google_auth,
statement = body)
Loading data with {r4googleads}:
sql_query <- "SELECT campaign.name, metrics.clicks, metrics.cost_micros
FROM campaign
WHERE segments.date BETWEEN '2022-01-01' AND '2022-01-10'
AND metrics.impressions > 0
PARAMETERS include_drafts=true"
query_service <- googleAdsSearch(
aid = 'XXX-XXX-XXXX', # Google Ads Accountr ID
query = sql_query,
api_version = 'v9'
)
data <- query_google_ads(
mcc_id = 'XXX-XXX-XXX', # Google Ads My Client Center ID
google_auth = google_auth,
service = query_service,
raw_data = F
)
We provide you with a set of Google Ads SQL samples that you can load
and explore using the following function
commands:default_search()
, campaign_sample()
,
adgroup_sample()
, adgroup_sample_1()
,
hotel_ads_sample()
, keyword_sample()
, ,
keyword_sample_1()
, keyword_sample_2()
With {RAdwords} you can explore the report types of
the Adwords API using the reports()
and
metrics()
methods. In {r4googleads} you
can explore the available Google
Ads API reports with the following code:
The following table provides an overview of the new methods and their corresponding predecessor functions.
Functionality | {RAdwords} | {r4googleads} |
---|---|---|
Authentication | doAuth() |
authenticate() |
Define Query | statement() |
googleAdsSearch() |
Loading Data | getData() |
query_google_ads() |
Reports & Metrics | reports() ; metrics() |
googleAdsFields() |
In {r4googleads} we follow the metric naming
convention of the Google Ads API. The metric names in the Google Ads API
may be different from the names in the Adwords API. This means that you
will either need to adjust the names in your existing data schema to
match the metric names from the Google Ads API report results, or rename
the results data frame names to match your existing data schema. For
example, clicks
becomes metric.clicks
or
campaign
becomes campaign.name
.