The script below will help you do just that. I am assuming that many of your optimizations are based on cost per conversion as well as the current position on the page. Now we can start to put together a generic script for these optimizations.
The script starts with a CAMP_LIST variable that holds all the campaign names and their rules. You can add as many campaigns and rules per client as you like.
Take a look and let me know if you have any questions.
Thanks,
Russ
//----------------------------------- // Unique Bid Updates By Campaign // Created By: Russ Savage // FreeAdWordsScripts.com //----------------------------------- function main() { // this is the structure that holds all the bid information about your accounts. var CAMP_LIST = [ { 'camp_name' : 'camp name 1', 'rules' : [ { 'cpv_min' : 0, 'cpv_max' : 10, 'avg_pos_min' : 2, 'avg_pos_max' : 6, 'bid_change_amt' : 1.1, 'bid_limit' : 10 }, { 'cpv_min' : 10, 'cpv_max' : 20, 'avg_pos_min' : 6, 'avg_pos_max' : 10, 'bid_change_amt' : 1.2, 'bid_limit' : 10 } ] }, { 'camp_name' : 'camp name 2', 'rules' : [ { 'cpv_min' : 0, 'cpv_max' : 5, 'avg_pos_min' : 3, 'avg_pos_max' : 5, 'bid_change_amt' : .9, 'bid_limit' : .01 }, { 'cpv_min' : 5, 'cpv_max' : 20, 'avg_pos_min' : 5, 'avg_pos_max' : 8, 'bid_change_amt' : 1.2, 'bid_limit' : 10 } ] } ]; var date_range = 'LAST_7_DAYS'; for (index in CAMP_LIST) { var camp = CAMP_LIST[index]; var camp_name = camp.camp_name; var rules = camp.rules; var kw_iter = AdWordsApp.keywords() .withCondition("CampaignName CONTAINS_IGNORE_CASE '" + camp_name + "'") .get(); while(kw_iter.hasNext()) { var kw = kw_iter.next(); var kw_stats = kw.getStatsFor(date_range); var conv = kw_stats.getConversions(); if (conv == 0) { continue; } //skip anything with no conversions var cost = kw_stats.getCost(); var cpv = cost/conv; var avg_pos = kw_stats.getAveragePosition(); var max_cpc = kw.getMaxCpc(); for(i in rules) { var r = rules[i]; if(cpv >= r.cpv_min && cpv < r.cpv_max && avg_pos >= r.avg_pos_min && avg_pos < r.avg_pos_max) { kw.setMaxCpc(calculate_bid(max_cpc,r.bid_change_amt,r.bid_limit)); break; } } } } function calculate_bid(current_bid,perc_to_change,max_min_amt) { if(perc_to_change >= 1) { return (current_bid * perc_to_change > max_min_amt) ? max_min_amt : (current_bid * perc_to_change); } else { return (current_bid * perc_to_change < max_min_amt) ? max_min_amt : (current_bid * perc_to_change); } } }
Thanks for posting these scripts, there are not many people doing so. Therefore: thanks!
ReplyDeleteHi there, wondering if anyone could still help me out with this script? I'd appreciate it, marcus@m2mktg.us
ReplyDeleteHey! follow this link to get the last info on this topic. See ya!
ReplyDeletetanx for post
ReplyDeleteدانلود کتاب صوتی هنر شفاف اندیشیدن دانلود کتاب صوتی هنر شفاف اندیشیدن
دانلود کتاب صوتی هنر شفاف اندیشیدن دانلود کتاب صوتی هنر شفاف اندیشیدن
tanx for post
ReplyDeleteدانلود کتاب صوتی هنر شفاف اندیشیدن دانلود کتاب صوتی هنر شفاف اندیشیدن
دانلود کتاب صوتی هنر شفاف اندیشیدن دانلود کتاب صوتی هنر شفاف اندیشیدن
Great article!
ReplyDeleteدانلود کتاب صوتی قدرت عادت
دانلود کتاب صوتی قدرت عادت دانلود کتاب صوتی قدرت عادت
It's good that the inmates were given a chance to repent their sins. They can still make their lives meaningful and worth living. Maybe one day they may inspire people and make a change to the world. We don't know https://ukbestessays.org/essaywritinglab-review/ what their future could be, so it's better to let them change. Just like someone I know who became one of the best essay writers uk. Imagine if we stopped them doing what they like to do.
ReplyDeletetest
ReplyDeletehi there! you blog is by far the best source for adwords scripts! keep up the good work... I wanted to ask you how are you dealing with the new ABS TOP metric (AbsoluteTopImpressionPercentage) to adjust bidding.. how are you getting this new variable? I couldn't find any sample in your blog. I've tried a few attempts but didn't find the one that works... and couldn't find anything either in the official API. Thanks for the help!
ReplyDelete
ReplyDeletehp printer showing offline
my printer shows offline
printer is showing offline
why my printer is showing offline
hp printer offline windows 10
Thank you for the post. Seems very informative!
ReplyDeleteHOW TO RENEW AVG ANTIVIRUS SUBSCRIPTION?
How to deal with Internet Explorer keeps crashing error?
Samsung printer do not connect – Get troubleshooting tricks
How to print an email from Yahoo?
norton liveupdate failed to complete
ReplyDeletenorton error 8504 104
epson error 0xf1
malwarebytes won t open
malwarebytes not opening
canon mg3600 setup
How To Stop Malwarebytes Popups? Simple Fixes!
ReplyDeleteMALWAREBYTES NOT OPENING – LET'S FIX MALWAREBYTES WON'T OPEN ISSUE.
ReplyDeleteWhat to Do When Malwarebytes is Unable to Connect to the Service
tanx for post
ReplyDeleteخرید بلیط هواپیما