The Secret Codes of AdWords Scripts By Steven Hammer

Preview:

Citation preview

#SMX #24B @armondhammer

Decoding Code

The Secret Code of

AdWords Scripts

Steve HammerPresident,

RankHammer

#SMX #24B @armondhammer

Breaking the Code

#SMX #24B @armondhammer

Is this how code feels

#SMX #24B @armondhammer

From Fear to Confidence

#SMX #24B @armondhammer

#SMX #24B @armondhammer

About Me

FAMILYWhat it’s all about

FOOD AND WINE

Eating as an art form?

HOCKEYGo Stars

RANKHAMMERDallas Based Digital Marketing Agency

#SMX #24B @armondhammer

What do we do every day?

#SMX #24B @armondhammer

Manage by rules

Exceeds GoalCPA Too HighBid Reduce

by 15%Actio

n

#SMX #24B @armondhammer

Let’s Translate

#SMX #24B @armondhammer

#SMX #24B @armondhammer12

Basic Logic

When

• Conditions

In

• Item Scope

Change

• Operation

Unless

• Limits

Selector

Iterator logic

#SMX #24B @armondhammer

Specifying a Script

When

• Conditions

In

• Item Scope

Change

• Operation

Unless

• Limits

When

• CPA is higher than XXX

In

• Target Campaign

Change

• Bids by -10%

Unless

• Impression share is <50%

#SMX #24B @armondhammer

Code.org/starwars

#SMX #24B @armondhammer

Blockly

https://developers.google.com/blockly/

#SMX #24B @armondhammer

Loops and Conditions

#SMX #24B @armondhammer

http://www.codecademy.com/tracks/javascripthttp://www.w3schools.com/js/

default.asp

http://www.learn-js.org/

Learning a little JavaScript

https://www.khanacademy.org/computing/computer-programming

#SMX #24B @armondhammer

Make the blocks your own

#SMX #24B @armondhammer

Worst Script Ever

#SMX #24B @armondhammer

Function

#SMX #24B @armondhammer

Comments

#SMX #24B @armondhammer

Statements

#SMX #24B @armondhammer

Logger – Line 2

Bulk Operations >Logs>

Details>Logs>

#SMX #24B @armondhammer

Selector – Line 3 - 6

Makes an array of the typeFiltered by conditionsFinished with get();

#SMX #24B @armondhammer

Selector

Conditions are ANDConnect with .

End with ;

#SMX #24B @armondhammer

Selectable?

https://developers.google.com/adwords/scripts/docs/reference/adwordsapp/adwordsapp_adselector

#SMX #24B @armondhammer

Variables

Discreet

• 5.23• ‘Office’• 5+3• ‘Today’ + variable

Arrays• [4, 5, 7, 9]• [‘Home’,’Office’,’Hotel’]

Objects

• {name:’Steve’,zip:75204,car:’Subaru’}• {1:Array1,2:Array2}

#SMX #24B @armondhammer

Selector

Get all keywordsWith a CTR greater than

0.01For all time

#SMX #24B @armondhammer

We Now Have

Selected every keywordThat has everGotten a click

#SMX #24B @armondhammer

While Next

Sets up the repeating

#SMX #24B @armondhammer

Payload

Calls a method to make a change

#SMX #24B @armondhammer

Iterator

Find the maximum CPCAdd 1%

Set as new Max CPC

#SMX #24B @armondhammer

Worst Script Ever

#SMX #24B @armondhammer

First Change

#SMX #24B @armondhammer

First Change

#SMX #24B @armondhammer

End Product

#SMX #24B @armondhammer

Change {almost}anything

#SMX #24B @armondhammer

Next Level

Prewritten Scripts

+

Code Snippets

#SMX #24B @armondhammer

Starting Scripts

http://www.rankhammer.com/blog/2541/i-heard-you-like-adwords-scripts

https://developers.google.com/adwords/scripts/docs/solution/

http://freeadwordsscripts.com

#SMX #24B @armondhammer

Defining a Function

Functions can return values to feed a variable

Functions can also just be invoked, even without

parameters

#SMX #24B @armondhammer

Snippets

https://developers.google.com/adwords/scripts/docs/examples/

#SMX #24B @armondhammer

Not exactly ready to use

#SMX #24B @armondhammer

Odd Selector Logic

Values have to become strings

#SMX #24B @armondhammer

ODD Selector LOGIC

To make it flexible it has to be:

“Column Operator” + Value

'Name = "' + var + '"'

Odd Selector Logic

#SMX #24B @armondhammer

Tweak The Selector

#SMX #24B @armondhammer46

Organize

Protip:Make a Text DocumentStore modified function snippetsCopy Paste next time

#SMX #24B @armondhammer

Multiple Functions

#SMX #24B @armondhammer

Look at real needs

#SMX #24B @armondhammer

Good CandidatesDaily Activities• Scale Changes• Profit bidding

Bulk Changes• KW addition

Rapid Movement• Limited

Inventory• Price Changes

Creative Models• Correlated

Bidding

Ad Copy Rotation• Timely Changes

#SMX #24B @armondhammer

Specifying a Script

When

• Conditions

In

• Item Scope

Change

• Operation

Unless

• Limits

When

• CPA is higher than XXX

In

• Target Campaign

Change

• Bids by -10%

Unless

• Impression share is <50%

#SMX #24B @armondhammer

Franchises – Locations growing

#SMX #24B @armondhammer

Our problem

When

• Conditions

In

• Item Scope

Change

• Operation

Unless

• Limits

When

• A new location launches

In

• New adgroup

Change

• Add city name to base keywords

Unless

• N/A

#SMX #24B @armondhammer

The goal – another way

Marketing

+marketing

+plano

“marketing plano”

“plano marketin

g”

#SMX #24B @armondhammer

Flesh out the basic idea – all comments

#SMX #24B @armondhammer

Find snippets and modify

#SMX #24B @armondhammer

Flesh out the details

#SMX #24B @armondhammer

Test and Preview

#SMX #24B @armondhammer

I expect you to die try

#SMX #24B @armondhammer

Protip:Copy To EditorReview Changes as “proposed”Reject to undo

#SMX #24B @armondhammer

LEARN MORE: UPCOMING @SMX EVENTS

THANK YOU! SEE YOU AT THE NEXT #SMX

Recommended