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”:

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

What are outbound links?

May 13, 2019

Outbound links are URLs on your website that link externally to other web properties. Both outbound and inbound links are important for your website’s search engines ranking. The only ‘ones’ that fully understand the ranking criteria are search engines themselves, and they carefully protect their algorithms. Still, SEO specialists can use external links outside of Continue reading >

Web Push Notifications For Ecommerce: Tips And Ideas

May 2, 2019

Web push notifications in ecommerce and retail have the lowest engagement rate among all other niches. On average, only 10% of consumers allow online stores to send clickable messages to their browsers. By contrast, the utility and finance industry has a 4-fold higher subscription rate. However, browser push notifications remain one of the effective conversion Continue reading >

A Beginner’s Guide to Key Performance Indicators for Online Stores

April 19, 2019

Tracking and measuring online store key performance indicators is a critical component of any digital marketing campaign. High-quality web analytics helps to properly allocate your budget investments and stop investing in campaigns that don’t drive revenue. It enables you to measure whether the work you do delivers outcomes and if yes, then what the outcomes Continue reading >

How to Improve Sales Performance with Dashboards

April 17, 2019

Whatever ecommerce niche you work in, different types of dashboards may help you simplify evaluating the performance of your online marketing initiatives. These can be both independent platforms and supplementary services. For example, Facebook offers online businesses the opportunity to connect online and offline marketing channels for their ecommerce projects in the In-Store menu. In 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