PubCon Last Vegas 2015 - Editing AdWords Scripts

39
@ChristiJOlson #pubcon Christi Olson iSEM Consulting Part 3: A Non-Coders Guide to Editing AdWords Scripts

Transcript of PubCon Last Vegas 2015 - Editing AdWords Scripts

Page 1: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

Christi OlsoniSEM Consulting

Part 3: A Non-Coders Guide to Editing

AdWords Scripts

Page 2: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

Christi J. Olson• Founder iSEM Consulting • 10+ years marketing management • Seasoned digital marketing leader

Professional Experience with:

Page 3: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

HELPFUL TIPSBEFORE YOU GET STARTED EDITING

Page 4: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

Don’t Use WORD for editing or saving scripts. It can add invisible characters that cause the code to fail

NotePad++ Outlines and groups together code

NotePad++ Makes it easier to review the code

EDIT SCRIPTS IN NOTEPAD OR NOTEPAD++

Page 5: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

SCRIPTS ARE CASE SENSITIVE AND NEED TO BE WRITTEN IN camelCase

Page 6: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

COMMENTS CAN [and should] BE USED WITHIN SCRIPTSDocument what the code is supposed to do, and options for choices within the code

// IS A SINGLE COMMENT LINE

/* SINGLE FORWARD SLASH + ASTERISK/* COMMENT SPANNING MULTIPLE LINES */

Page 7: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

BE PREPARED TO UPDATE SCRIPTS

CHANGES IN ADWORDS, CAUSE VARIABLES AND ENTITIES WITHIN EXISTING SCRIPTS TO CHANGE

Page 8: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

BE PREPARED TO UPDATE SCRIPTS

Upgraded URLs caused some scripts like Broken URL tracker to break because the variables and entities changed.

Find instances of :  getDestinationUrland replace with:  urls().getFinalUrl

Page 9: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

WHAT YOU’LL MOST LIKELY NEED TO EDIT IN EVERY SCRIPT:

RECIPIENT_EMAIL your email address

SPREADSHEET_URL URL for the Google Spreadsheet

// Comma-separated list of recipients. Comment out to not send any emails.var RECIPIENT_EMAIL = '[email protected]';

// URL of the default spreadsheet template. This should be a copy of http://goo.gl/cULxUXvar SPREADSHEET_URL = 'https://docs.google.com/spreadsheet/abc1234/’

Page 10: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

bit.ly/Pub-Scripts Campaign & Keyword Performance Report, Written by Russ Savage Quality Score Tracker, Written by Martin Roettgerding Keyword Performance by QS & Position, Written by Google Developers Anomaly Detector, Written by Google Developers Broken URL Checker, Written by Google Developers & Russ Savage

(FreeAdwordsScripts.com) Search Queries by N-Grams, Written by Daniel Gilbert Search Query Manager, Written by Marcela De Vivo (Gryffin.com)

PRE-WRITTEN SCRIPTS YOU SHOULD USE NOW

Page 11: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

SCRIPTING BASICSTHE ANATOMY OF WHAT’S IN A SCRIPT

Page 12: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

FUNCTIONS OBJECTS (ELEMENTS) ENTITIES VARIABLES METHODS SELECTORS ITERATORS

THE KEY ITEMS YOU NEED TO KNOW:

Page 13: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

ANATOMY OF A BASIC SCRIPT

function main() {  var keywords = AdWordsApp.keywords()  .withCondition(“Status = ‘ENABLED’”) .orderBy("Impressions DESC")      .forDateRange("YESTERDAY")      .withLimit(10)      .get();

  Logger.log("10 keywords with most impressions yesterday");  while (keywords.hasNext()) {    var keyword = keywords.next();    Logger.log(keyword.getText() + ": " +        keyword.getStatsFor("YESTERDAY").getImpressions());  }}

FUNCTION

SELECTORS

ITERATOR + next METHODS

VARIABLE, OBJECT, ENTITY

LOGGER

METHODS

closes out the functioncloses out the iterator

Page 14: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

HOW TO USE SCRIPTSIN THE ADWORDS INTERFACE

Page 15: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

WHERE TO FIND SCRIPTS IN THE ADWORDS UI

Page 16: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

SCRIPTS UI – WHEN YOU HAVEN’T USED IT

Page 17: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

SCRIPTS UI – ONCE YOU’VE ADDED/RUN A SCRIPT

Page 18: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

STEP 1: ADD A SCRIPT

Page 19: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

STEP 2: COPY PRE-WRITTEN SCRIPT INTO NOTEPAD++

Page 20: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

STEP 3: UPDATE SPREADSHEET URL & OTHER FIELDS

Page 21: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

STEP 4: NAME THE SCRIPT & PASTE INTO EDITOR

Page 22: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

STEP 5: AUTHORIZE SCRIPT & PREVIEW

Page 23: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

STEP 6: DEBUG VIA LOGS (IF NECESSARY)

Page 24: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

STEP 6: DEBUG VIA LOGS (IF NECESSARY)

Page 25: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

STEP 6: DEBUG VIA LOGS (IF NECESSARY)

Page 26: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

PREVIEW THE DATA IN THE SHARED DOC

Page 27: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

STEP 7: SCHEDULING

Page 28: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

MAKING MORE EDITS TO SCRIPTSWHEN YOU WANT TO ADD MORE DATA

Page 29: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

“CHEATING” WITH CUSTOMIZED SCRIPTS

FIND A SIMILAR SCRIPT AND USE IT AS A FRAMEWORK TO BUILD OUT

THE MORE IN-DEPTH OR ROBUST SCRIPT THAT YOU WANT

Page 30: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

GREAT AUDIT SCRIPT, BUT THE FORMAT WASN’T IDEAL

DATA WAS IN A LOG OUTPUT

Page 31: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

I WANTED AN XLS SPREADSHEET INSTEAD OF LOG OUTPUT

Page 32: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

MAP WHAT THE SCRIPT DOES, AND WHAT YOU WANT IT TO DO

Page 33: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

CREATE REUSABLE PIECES OF CODECreate Header Rows within Spreadsheet

Start with Campaigns (because ad groups are within campaigns)

For Campaigns:Get Campaign NamesCalculate total KWDs & Negative KWDs

For Ad GroupsGet Ad Group NamesCalculate total KWDs & Negative KWDs

Push everything to the SpreadsheetLog 1 row per Campaign/Ad Group with Totals

Page 34: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

CODE FOR: GET CAMPAIGN & AD GROUP DATA

http://bit.ly/PI-GetCMP http://bit.ly/PI-GetAGCAMPAIGN ITERATOR AD GROUP ITERATORS

Page 35: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

CODE TO GET CAMPAIGN & AD GROUP DATA

Page 36: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

bit.ly/PI-SpreadsheetScript

CODE TO PREP THE SPREADSHEET

Page 37: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

CODE TO CREATE & WRITE TO GOOGLE DOC

Page 38: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

USED THE ORIGINAL CODE TO COUNT KEYWORDS BY MATCH TYPE

This is the original code from the audit doc

Page 39: PubCon Last Vegas 2015 - Editing AdWords Scripts

@ChristiJOlson #pubcon

PULL IT TOGETHER & QA THE FINISHED PRODUCTbit.ly/PI-KWDauditSCRIPT