Google AdWords scripts

Let’s wander from the web analytics subject a little and turn our attention to automation of creating Google AdWords campaigns and AdWords campaign management.

Few people know that Google AdWords provides the ability to manage ad campaigns using javascript directly in the interface of the system through Adwords API.

By the way, getting access to Google AdWords API, i.e getting API token, is not that easy.

To gain access to scripts, go to Google Adwords account and choose “Bulk operations” in the right menu, and than “Scripts”:

Got tired of low conversions?

Our certificated experts know how to optimise your Google AdWords campaigns so that conversions increase by 35%

By clicking this button you agree to our terms & conditions

The next step is to create new script:

To work with the scripts you need to login:

Now when you are authorized you are able to do anything with AdWords PPC management: to manage ad campaigns, ad groups, ads and keywords in AdWords by means of javascript.

By default, there are some complete scripts that solve the following problems on AdWords optimization:

Campaigns 

Get each campaign’s cost and clicks last month

Pause low-converting campaigns

Change campaign’s budget

Ad groups

Set default bids of all ad groups in a campaign

Enable ad groups for a brand

Pause ad groups that degrade over time

Keywords

Log 20 keywords that had the most impressions yesterday

Pause keywords with bad average position in a campaign

Increase bids of well-performing keywords by 5%

Create a new keyword

Export daily report into Google spreadsheet

Change destination URLs

Ads

Enable ads for a promotion

Create a new text ad

Export disapproved ads into Google spreadsheet

Also, see below an interesting case of using Adwords script:

Controlling expenses

Let’s suppose we have the task of monitoring expenditures on a certain campaign. This task could be ordinary solved using standard AdWords tools, but using AdWords scripts guarantees us an elegant solution.

So, to complete the script we need:

  1. Name of a campaign
  2. Limit size
  3. Start date of tracking
  4. E-mail for notifications

All these data need to be entered into the electronic worksheet (save it onto the Google Disk and save the link from a browser of your document as you will need it while making the following steps).

The spreadsheet may be colored to one’s liking, but we won’t advice to change the location of the cells. Fill in the lines that are highlighted in bold.

The algorithm works as follows:

  1. Once an hour (that is the maximum possible frequency) the script takes the name of the campaign from the table, limit size, start date tracking;
  2. Calculates expenses;
  3. Checks whether the campaign is active. If the answer is yes, the script makes control marks in the table. If the campaign is not active, the script doesn’t make any action and just stops.
  4. Requests a daily account budget (it is explained below why it is done);
  5. Makes calculations, compares expenses on the campaign starting from a certain date to the present moment, with the deactivation threshold. If the deactivation threshold achieved, it goes to the point #6;
  6. Disables the campaign;
  7. Sends an email to the specified email address;
  8. Makes a corresponding note in a Google table about campaign being disabled and the time of deactivation.

See below the complete script:

function main() {

var ss = SpreadsheetApp.openByUrl(
“https://docs.google.com/spreadsheet/ccc?key=0Ahq3mrXBUIYHdDBtZS1FUFBuamZQU2FWSTB4MzZDT1E#gid=0”);//link to your table
var balance = ss.getRange(“C3”).getValue();  //limit size
var data_start =  ss.getRange(“C4”).getValue(); //Start date of tracking
data_start = Utilities.formatDate(data_start, “PST”, “yyyyMMdd”);
var data_today = new Date();//Today’s date
data_today = Utilities.formatDate(data_today, “PST”, “yyyyMMdd”);
var company_name = ss.getRange(“C2”).getValue(); //Name of campaign that is tracked
var email = ss.getRange(“C5”).getValue();  //E-mail for notifications
var cost = 0;// Initial cost
var status = ss.getRange(“E7”).getValue(); //Status of campaign (if disabled  by script)
var campaignsIterator = AdWordsApp.campaigns()
.withCondition(“Name = ‘” + company_name + “‘”)
. get();
while (campaignsIterator.hasNext()) {
var campaign = campaignsIterator.next();
var stats = campaign.getStatsFor(data_start, data_today);
cost += stats.getCost();
}//Determining the cost of expenses for the specified period of time
if( campaign.isEnabled()){
ss.getRange(“E7”).setValue(“0”);
ss.getRange(“D7”).setValue(“”);
//Determining the status of the campaign enabled/disabled. If enabled updates service information.
var budget = campaign.getBudget()
Logger.log(“Spent during the period: ” + cost);//Debug information is displayed in the log
Logger.log(“Daily budget: ” + budget);
Logger.log(“Expenditure restraint: ” + balance);
var budget=campaign.getBudget()//Determining daily budget
if (cost >= balance-(budget/12)) {//Checking overspending
campaign.pause();//Put the campaign on pause and write an email
var subject = “Campaign” + company_name + ” exhausted its budget limit”;
var body = “Spent: ” + cost +  ” Specified spending limit:” + balance + ” campaign ” + company_name + ”  will be disabled” ;
MailApp.sendEmail(email, subject, body);
Logger.log(“email sent: ” + email);//Debug information is displayed in the log
ss.getRange(“E7”).setValue(“1”);//Control mark in Google table
ss.getRange(“D7”).setValue(new Date());//Record to the time table and date of stopping campaign
}
}
}

You may also want to check the developer’s guide.

via

 

 

Leave a Reply

avatar
  Subscribe  
Notify of

Recent posts

Brand Positioning. How to Choose a Positioning Strategy for Your Brand

January 24, 2020

The worst-selling products are products that are marketed to everyone and appeal to no one. In order to earn its place in the market and create a clear brand image in consumers’ minds, you need to create a strong brand positioning. This way, you’ll be sending your customers a clear message about who you are, Continue reading >

How Digital Content Marketing Can Increase Your Brand Awareness

January 15, 2020

Once upon a time, in a town far far away, a certain eCommerce company’s marketing expert presented a brand awareness strategy to the board of directors. She talked about TV advertising and digital marketing, provided an assessment of engagement and even calculated the number of people who would learn about the brand after the campaign. Continue reading >

What is target audience in digital

December 27, 2019

“You’d better know your target audience!” – marketers tell us often and persistently. And there’s a reason for it. A poorly elaborated target audience may lead to an advertising campaign failure. Let’s figure out why it’s crucial to know your target audience, how to define it and how to use your findings to improve your Continue reading >

Black Friday 2019 Report: Which Digital Marketing Channels Converted Best (+Infographic)

December 13, 2019

How has the demand changed in 2019? Why do you need to focus on brand queries? How to reach top search results on Black Friday? Our Promodo team has researched how the Ukrainian eCommerce market prepared for Black Friday and what digital marketing channels did online retailers use for the ad campaigns in 2019. We Continue reading >

Let's get the ball rolling

Please fill in this short form and we will be in touch with you soon

For any questions [email protected]

UK | USA

+44 (0) 20 313 766 81
+44 7852 537715

Lincoln
The Terrace AT5,
Grantham Street,
LN2 1BD

+1 347 809 34 86

Las Vegas
7848 W. Sahara Ave.
NV 89117

State Of Ecommerce 2018 (Poland)

TOP 50 Market Players & Their Traffic Analysis

enter correct name, please
enter correct e-mail, please
PPC

Google AdWords scripts

0
start now

Start now