Thanks to the API, I'm almost completely through automating the management of my AdWords account. I'm already seeing some tremendous results.
Before, I was spending about $100 per day and making a $150 net profit from that traffic. Yesterday, my spend hit $200 and I made a net profit of $300 on that traffic with fewer active keywords. (By net profit, I mean profit after the AdWords expenses are subtracted.) My bids are up an average of 20%. My conversions are up an average of 20%. My ROI remains basically unchanged.
After the initial review, I found about 10% of my keywords needed to be removed for various reasons: product no longer available, disapproved or disabled, not profitable even at $0.05, etc. About 10% of my keywords need to have their bids lowered to hit my profit goals. About 50% of my bids could be increased and still maintain my desired level of profit. On an ongoing basis, it's usually making a couple dozen changes per day.
Now, I'm going to start working on adding new keywords, too. I know I can probably come up with another 5,000 quality keywords for these products. The nice thing is that any new keywords I add will automatically be adjusted and/or removed based on how they perform.
Several "best practices" that I included in my solution:
1) Everything will be totally automated: Statistics collection, bid adjustment, and keyword deletion. The only things I'll need to manually do are: find and add new keywords, test new creatives, and cash the checks.
2) When calculating the bid I can afford for a keyword, if it is $0.03 to $0.05, I keep the keyword active at $0.05. On average, I pay over $0.20, so I figure if even 10% of the visitors who click on keywords that are only worth $0.03 return and visit other parts of the site, it'll make up the difference.
3) Similar to how Google determines placement with AdWords, I'm also factoring in historical conversion ratios. Recent history will be a much bigger factor, but I don't want click fraud or a few bad days to knock out a keyword that performed well in the past.
4) When I delete a keyword, I'm going to keep track of why. If it was a temporary issue (product not available, not enough commission to justify a $0.05 bid, etc.), I will reactivate it things change.
5) I only change my bid if my projected optimal bid is at least 10% higher or lower than what I'm currently bidding.
I hope this gives some ideas to others who are developing in-house management tools with the API.
[edited by: MovingOnUp at 5:29 pm (utc) on Mar. 1, 2005]
Basically, I'm keeping my bids at a level which will generate a specific ROI. I know the profit I make for each product. I track the conversion ratio that I see for each keyword. I know the ROI I want to see. It's a fairly simple formula to figure out what the bid should be.
For instance, if I make $3 on a specific product and I get a 10% conversion ratio for a keyword related to that product, that's $0.30 per click. If I want to maintain a 200% ROI, that will take a $0.10 bid. If my profit on the product changes, or if the product becomes unavailable, or if the conversion ratio changes, my programs adjust the bid up or down.
For keywords where I don't have enough data to have a reliable conversion ratio, I use a default value that is basically just my average conversion ratio. Once it generates enough clicks and orders to have an accurate conversion ratio, I use that.