Top Banner
AdWords API Workshops – All rights reserved
27

AdWords Scripts

Sep 13, 2014

Download

Technology

AdWords API Workshops Q4 2013 AdWords Scripts talks
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AdWords Scripts

AdWords API Workshops – All rights reserved

Page 2: AdWords Scripts

AdWords API Workshops – All rights reserved

AdWords ScriptsAutomate AdWords activities using JavaScript

Anash P. Oommen, Google, Inc.

Page 3: AdWords Scripts

AdWords API Workshops – All rights reserved

● Introduction

● Your first script + demo

● Getting help

● Questions

● Resources

Table of contents

Page 4: AdWords Scripts

AdWords API Workshops – All rights reserved

Introduction

Page 5: AdWords Scripts

AdWords API Workshops – All rights reserved

● Way to programmatically access AdWords data

● Write your code in JavaScript

● Embedded IDE in AdWords UI

Introduction

Page 6: AdWords Scripts

AdWords API Workshops – All rights reserved

● Quick one-time tools

● Highly customized reporting

● Account alerts

● External feed-based triggers

Common use cases

Page 7: AdWords Scripts

AdWords API Workshops – All rights reserved

● Entry-level familiarity with JavaScript

● An AdWords account to start writing your script!

Requirements

Page 8: AdWords Scripts

AdWords API Workshops – All rights reserved

● Can access important AdWords types○ Campaigns, Ad groups, Keywords, Ads, ad

extensions, reports…● API-specific types

○ Ad Params● Types not yet available in AdWords API

○ Labels● No beta restriction

Capabilities

Page 9: AdWords Scripts

AdWords API Workshops – All rights reserved

● IDE with autocomplete and syntax highlighting

● Run normally or in preview mode○ Preview mode won’t make any changes to your accounts○ Will perform actions like sending email, updating

spreadsheets, etc.● Uses OAuth 2.0 for authentication

○ Up to 250 scripts per login email.

Capabilities (cont’d)

Page 10: AdWords Scripts

AdWords API Workshops – All rights reserved

● Scripts can be automated○ Can be scheduled to execute periodically on your behalf○ As frequently as every hour.

● Can talk to external data sources○ Fetch arbitrary URLs○ Interact with Google Drive○ Interact with Google Spreadsheets○ Send emails

Capabilities (cont’d)

Page 11: AdWords Scripts

AdWords API Workshops – All rights reserved

● Simplified APIs● Requires lesser amount of code than AdWords API.● E.g. simplified feed services…

Capabilities (cont’d)

Page 12: AdWords Scripts

AdWords API Workshops – All rights reserved

Demo

Page 13: AdWords Scripts

AdWords API Workshops – All rights reserved

Creating your first script

Page 14: AdWords Scripts

AdWords API Workshops – All rights reserved

Creating your first script (cont’d)

Page 15: AdWords Scripts

AW SCRIPT

AdWords API Workshops – All rights reserved

function main() {

// Get all campaigns.

var campaignIterator = AdWordsApp.campaigns().get();

// iterate the list and print names to logger window.

while (campaignIterator.hasNext()) {

var campaign = campaignIterator.next();

Logger.log(campaign.getName());

}

}

First script - retrieve all campaigns

Page 16: AdWords Scripts

AW SCRIPT

AdWords API Workshops – All rights reserved

function main() {

// Retrieve campaign by name using AWQL.

var demoCampaign = AdWordsApp.campaigns().

withCondition("Name='Demo campaign'").get().next();

// Retrieve child adgroup using AWQL.

var demoAdGroup = demoCampaign.adGroups().

withCondition("Name='Demo adgroup'").get().next();

// Modify the adgroup properties.

demoAdGroup.setKeywordMaxCpc(1.2);

}

Retrieving and updating objects

Page 17: AdWords Scripts

AW SCRIPT

AdWords API Workshops – All rights reserved

function main() {

// Run an account performance report

var report = AdWordsApp.report("SELECT Clicks, Impressions, " +

"Cost, AverageCpc, Date FROM ACCOUNT_PERFORMANCE_REPORT " +

"DURING LAST_WEEK");

// Retrieve the spreadsheet to export values to.

var SPREADSHEET_URL = "xxx";

var spreadsheet = SpreadsheetApp.openByUrl(SPREADSHEET_URL);

var sheet = spreadsheet.getSheetByName(

"Account performance report");

Reporting

Page 18: AdWords Scripts

AW SCRIPT

AdWords API Workshops – All rights reserved

// Export the report to spreadsheet

report.exportToSheet(sheet);

// Send out an email with the spreadsheet link

MailApp.sendEmail("[email protected]",

"Account performance report is ready!",

"Access it at " + SPREADSHEET_URL);

}

Reporting - cont’d

Page 19: AdWords Scripts

AdWords API Workshops – All rights reserved

Getting help

Page 20: AdWords Scripts

AdWords API Workshops – All rights reserved

● Refer to the documentation○ https://developers.google.com/adwords/scripts/

● Refer to our code snippets○ Accessible from the IDE○ Also available on documentation site

Documentation and code snippets

Page 21: AdWords Scripts

AdWords API Workshops – All rights reserved

● Ask on our forum○ https://groups.google.com/forum/#!forum/adwords-scripts○ Ask for general questions, code snippets, complete solutions,

feature requests…○ Lots of helpful developers and Scripts team members!

Ask on our forum!

Page 22: AdWords Scripts

AdWords API Workshops – All rights reserved

● Ready-to-use complete solutions○ https://developers.google.com/adwords/scripts/docs/solutions/○ Ready-to-use as provided○ Customize if required○ Multiple categories - customized reporting, bidding tools…

● Scripts from third party developers○ http://www.freeadwordsscripts.com/

Complete solutions

Page 23: AdWords Scripts

AdWords API Workshops – All rights reserved

Questions?

Page 24: AdWords Scripts

AdWords API Workshops – All rights reserved

Resources

Documentation: http://goo.gl/77ACPForum: http://goo.gl/QsxCz5

Page 25: AdWords Scripts

AdWords API Workshops – All rights reserved

Page 26: AdWords Scripts

AW SCRIPT

AdWords API Workshops – All rights reserved

var sitelink = AdWordsApp.extensions()

.newSitelinkBuilder()

.withLinkText("Hello world")

.withLinkUrl("http://www.example.com")

.create();

AdWordsApp.campaigns()

.withIds(['178532656'])

.get().next()

.addSitelink(sitelink);

Appendix 1 - Create sitelinks

Page 27: AdWords Scripts

AW SCRIPT

AdWords API Workshops – All rights reserved

//interator on keywords

var kwIter = AdWordsApp.keywords().get(); //this is long, select campaign first

while (kwIter.hasNext()) {

//iterator on parameter of the current keyword

var adParamIter = kwIter.next().adParams().get();

while (adParamIter.hasNext()) {

var adParam = adParamIter.next();

Logger.log("campaign="+ adParam.getAdGroup().getCampaign().getName()+

" AdGroup="+ adParam.getAdGroup().getName()+

" KW=" + adParam.getKeyword().getText() +

" idx=" + adParam.getIndex() +

" value=" + adParam.getInsertionText());

}

}

Appendix 2 - Read AdParams