Upload
search-marketing-expo-smx
View
592
Download
1
Embed Size (px)
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