<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Merjis Internet Marketing Blog &#187; API</title>
	<atom:link href="http://blog.merjis.com/category/api/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.merjis.com</link>
	<description>Effective Internet Marketing Strategy and Tactics Through Test</description>
	<lastBuildDate>Thu, 12 Jan 2012 09:18:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>AdWords Editor 8.0.1 Download URL</title>
		<link>http://blog.merjis.com/2010/09/05/adwords-editor-8-0-1-url/</link>
		<comments>http://blog.merjis.com/2010/09/05/adwords-editor-8-0-1-url/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 14:16:25 +0000</pubDate>
		<dc:creator>Jeremy Chatfield</dc:creator>
				<category><![CDATA[advert automation]]></category>
		<category><![CDATA[adwords]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.merjis.com/?p=464</guid>
		<description><![CDATA[Google recently announced a snazzy new update to the AdWords Editor, to 8.0.1. There&#8217;s a few problems with this release cycle. Firstly, whether you are offered 7.6.1 or 8.0.1 to download, depends on the language settings that you have on your Google Account. If you have &#8220;US English&#8221; (at least in the UK), the URL [...]]]></description>
			<content:encoded><![CDATA[<p>Google recently announced a snazzy new update to the AdWords Editor, to 8.0.1. There&#8217;s a few problems with this release cycle. Firstly, whether you are offered 7.6.1 or 8.0.1 to download, depends on the language settings that you have on your Google Account.</p>
<p>If you have &#8220;US English&#8221; (at least in the UK), the URL is <a href="http://www.google.com/intl/en/adwordseditor">http://www.google.com/intl/en/adwordseditor</a> &#8211; and that offers you version 7.6.1 (as of Sunday 5th Sept 2010 at 14:00 UT). What makes that version confusion doubly confusing is that the URL is a redirect at Google&#8217;s end from the offered URL, documented in the release announcement as being <a href="http://www.google.com/adwordseditor/">http://www.google.com/adwordseditor/</a>. I found that I had to switch language preferences to UK English, in order to get to the URL <a href="http://www.google.com/intl/en_uk/adwordseditor/">http://www.google.com/intl/en_uk/adwordseditor/</a>. That URL does offer the 8.0.1 release.</p>
<h2>(REVISED)Testing Failure</h2>
<p>After installation, one of the most obvious things to do is to reconnect to your AdWords Accounts. That&#8217;s done in the usual way &#8211; but Google&#8217;s testing has slipped up. On the Mac I&#8217;m using, the download window looks like this:</p>
<div id="attachment_465" class="wp-caption aligncenter" style="width: 364px"><a href="http://blog.merjis.com/wp-content/uploads/2010/09/Download-in-Progress.png"><img src="http://blog.merjis.com/wp-content/uploads/2010/09/Download-in-Progress.png" alt="AdWords Editor 8.0.1 Download In Progress Window showing truncated progress" title="AdWords Editor 8.0.1 - Download in Progress" width="354" height="216" class="size-full wp-image-465" /></a><p class="wp-caption-text">Truncated Progress - font size/window size problem on Mac</p></div>
<p>The font selected for the window is too large, so the download status is off to the right edge of the window. It isn&#8217;t possible to use the Mac font size change keystrokes to adjust the font to fit. The window size can&#8217;t be stretched to allow the data to be exposed either. Critical error? No &#8211; just annoying and suggestive that the testing regime might mean there&#8217;s some more egregious bugs in the Mac version. Tech details to reproduce? Safari 5.0.1 on Mac 10.6.4 with AdWords Editor 8.0.1.</p>
<h3>Update</h3>
<p>Ah ha! The window sizing bug is caused by a font increase in that account. If the default font size (adjusted in the status area of the main window, lower right) is 110%, you&#8217;ll see this problem.</p>
<h3>Nice Features</h3>
<p>But it does offer some nice features, such as linking to the new Google Places advertising extensions, and the <a href="http://adwordsapi.blogspot.com/2009/11/more-dynamic-ads-with-ad-parameters.html">AdWords API Advert Parameters for templated adverts</a>. Still no generalised mechanism to affect the values of Ad Parameters other than via the API, but that feature itself is such a substantial improvement over the original API, that I can&#8217;t really complain.</p>
<h2>An SEO Note:</h2>
<p>Oh, and while I&#8217;m at it&#8230; I just did a check to see how quickly Google is updating the organic search results&#8230; within three minutes of posting, this article is showing up:<br />
<a href="http://blog.merjis.com/wp-content/uploads/2010/09/adwords-editor-8.0.1-download-Google-Search.png"><img src="http://blog.merjis.com/wp-content/uploads/2010/09/adwords-editor-8.0.1-download-Google-Search.png" alt="" title="adwords editor 8.0.1 download - Google Search" width="597" height="386" class="aligncenter size-full wp-image-471" /></a></p>
 <img src="http://blog.merjis.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=464" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.merjis.com/2010/09/05/adwords-editor-8-0-1-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated Bidding on AdWords</title>
		<link>http://blog.merjis.com/2008/09/22/automated-bidding-on-adwords/</link>
		<comments>http://blog.merjis.com/2008/09/22/automated-bidding-on-adwords/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 07:06:33 +0000</pubDate>
		<dc:creator>Jeremy Chatfield</dc:creator>
				<category><![CDATA[advert automation]]></category>
		<category><![CDATA[adwords]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[paid search]]></category>
		<category><![CDATA[ppc]]></category>
		<category><![CDATA[yahoo!]]></category>

		<guid isPermaLink="false">http://blog.merjis.com/2008/09/22/automated-bidding-on-adwords/</guid>
		<description><![CDATA[We have done a lot of our work on AdWords using the API and programs that we&#8217;ve written. We&#8217;ve done some work with fast paced advertising &#8211; advertisers with a large inventory of rapidly changing stock with different prices (think &#8220;travel&#8221;). I was reminded of this when I saw a comment on this blog by [...]]]></description>
			<content:encoded><![CDATA[<p>We have done a lot of our work on AdWords using the API and programs that we&#8217;ve written. We&#8217;ve done some work with fast paced advertising &#8211; advertisers with a large inventory of rapidly changing stock with different prices (think &#8220;travel&#8221;). I was reminded of this when I saw a comment on this blog by Dr Gerda Arts of <a href="http://www.sayu.co.uk">Sayu.co.uk</a> and followed it to the website. I found a <a href="http://www.sayu.co.uk/bid-optimisation-white-paper.html">brief white paper</a> over there, about automated bidding. It&#8217;s a pretty good read. But it&#8217;s wrong.</p>
<p>Well, when I say &#8220;wrong&#8221;, I suppose I really mean &#8220;less than complete&#8221;. I think the reason is quite subtle &#8211; and not explicitly recognised in the white paper. That doesn&#8217;t mean that they don&#8217;t know, and it doesn&#8217;t mean that they haven&#8217;t worked it out&#8230; it just got me thinking about some work we&#8217;ve done. That, in turn, means a brief look at recent history.</p>
<p>Google&#8217;s dominance of paid search, especially in the UK, means that many users won&#8217;t be aware of the original innovator in the arena. &#8220;First mover advantage&#8221; (yeah, that&#8217;s irony for you) went to GoTo.com, who eventually became &#8220;Overture&#8221; and then &#8220;Yahoo!Search Marketing&#8221; (Y!SM). </p>
<h3>Bidding Models</h3>
<p>GoTo&#8217;s original model for an advert auction (pre-Panama) was that bids would be compared and the longest standing, highest bid, would appear first. A simple auction, easily understood. Also, an auction in which automated bidding would be hugely important. Why so? Because the majority of clicks go the highest ranked listing, but the value of the listing would depend on conversion (or affiliate reward). Getting your advert to the right position would be a matter of fast paced juggling. </p>
<p>Automation can help reduce costs and mistakes in an auction like that, for all advertisers. Tactics, such as choosing when to bid, and how frequently, become important. And little issues like bidding gaps become hugely significant &#8211; because you pay 0.01 more than the advert below you. So if you can find a spot in which the two adverts above you are paying just 0.01 more, but you have a 0.05 spread to the advert below you, you pay much less than your higher competitors, which may justify the lower click volume on a lower position. Lots of calculations to be performed quickly. Automation, absolutely useful.</p>
<p>GoTo&#8217;s model for search revenue was also quite different from that for Google. Initially, GoTo had to partner with higher volume third party sites. This lead to the acquisition by Yahoo. Google&#8217;s first advertising was on their own site, and they could then sell the higher value adverts to search partners who were already prepared, by GoTo, to handle externally supplied advert inventory. This results in an apparent difference in results between Google and Yahoo. Where Google impressions may soar markedly with position, GoTo&#8217;s already broad spread across third party properties meant that the impression volume was not so accelerated by position. That was also subtly influenced by Google&#8217;s auction mechanism &#8211; covered elsewhere on this blog &#8211; which offers absolutely the highest returned value for every advert space used.  </p>
<p>As an early advertising system, GoTo offered a single advert. It costs the publisher cold hard cash to vet adverts. So running a single advert for each advertiser for each keyword, reduces costs. Important for a startup. However, ask anyone in direct marketing what their most powerful technique is; it is the parallel A/B test. The ability to test copy for effectiveness can transform a failing campaign into a successful campaign, sometimes with the most subtle of changes. Google&#8217;s AdWords allows alternate adverts &#8211; dozens of them for massively parallel A/B/C/&#8230;. testing. This changes the way that the bidding system works &#8211; because you need to separate the behaviour for each creative that is used. </p>
<h3>Budgets and Bids</h3>
<p>The way in which budgets are set and satisfied also results in some intriguing differences between the bidding systems. In GoTo&#8217;s model, it appeared that adverts participated in all auctions &#8211; even if they did not have the budget to do so.  Google&#8217;s model appears to run the auction only between participants with enough budget to be able to offer an advert (there&#8217;s evidence for this that I may explain in another article &#8211; it&#8217;s moderately complex reasoning and somewhat off-topic for this thread).</p>
<p>Something really important to carry away is that CPM and CPC (cost per thousand impressions and cost per click) models are interchangeable &#8211; if you can make some assumptions, or some measurements. For example, if you can assume a 2.5% CTR. If you do, then for every thousand impressions you&#8217;ll see 25 clicks. If you know the CPM, you can then infer the CPC. Google makes assumptions like this, all over the place &#8211; you can even infer what the assumed values are with some experiments &#8211; I may write those up. It was pretty cute working out what Google&#8217;s hidden numbers are :)</p>
<h3>Why CPC?</h3>
<p>Psychologically, advertisers are happier with CPC presentations of cost. For example, small advertisers may not want to buy 1,000 impressions. When presenting to board level decision makers, you can tell them that you are buying clicks, not impressions which may or may not turn into business. Clicks might turn into business and definitely turn up on the web site &#8211; and if they don&#8217;t, you can challenge the publishing system for fraud. But impressions &#8211; a lot softer&#8230; harder to explain why you don&#8217;t get clicks or conversions. So Google&#8217;s system has gone for CPC presentation &#8211; but I&#8217;m pretty certain that the auction itself runs as a CPM model. </p>
<h3>Broad Match &#8211; Broader Than You Might Expect</h3>
<p>Finally, Google emphasises broad match (it is the default, it is touted in training, and gives Google control over advertisement appearances for arbitrary searches &#8211; which Google can use to its&#8217; advantage, smoothes the landscape for bidding, etc). The broad match auction allows Google to spread the value over whatever it deems relevant. Bid on your company name in broad match, and if you&#8217;ve bid enough, your advert will appear on searches for competitor names. No one who has done any courses in Marketing Communications should be happy at this point &#8211; MarCom tells you that you need to focus an advert on a competitors specific weakness, relative to your business, if you want to capture someone searching for a competitor. </p>
<p>These differences mean that the nature of the auction on Google is less about fast paced changes &#8211; for most advertisers, who do not have stock that ages, and in turn leads to significant reasons for most advertisers to avoid automation or to reduce emphasis on manipulating bids as a technique. The focus for success on Google shifts from bidding strategy and into ad copy, keywords, match types and landing pages. Arguably, this is the right emphasis anyway. The nature of GoTo&#8217;s auction system drove attention to bidding, and their inability to offer parallel A/B testing of adverts, demoted interest in improving CTR.  </p>
<p>Aggregated reports also make a huge difference, too. GoTo&#8217;s model was pretty simple. You could infer, for a given time period, what the position was, and the paid price, and the impressions and the clicks. For Google, we have a variable delay time (between around 15 minutes and 3 hours, with a minimum of 45 minutes for reliable reporting), and aggregation &#8211; you can&#8217;t get to results for the last time period, for periods of less than a day. This means that to infer what has happened late in the day, you need to know what happened earlier in the day &#8211; because you&#8217;ll subtract all of those from the aggregated result. However, this leads to a blurring of values late in the day. By 10pm, you&#8217;ve had 95% or more of the clicks that you&#8217;ll get, and so changes made to bidding have a relatively tiny effect on the numbers that are reported &#8211; things like the averaged position over the day are more heavily influenced by the earlier days&#8217; higher activity. This means that the effective measurement times to get insightful data are reduced &#8211; you can&#8217;t make sensible decisions about changes when 90% of your results have been collected. </p>
<h3>Seasonality</h3>
<p>What really cripples automation for many small advertisers, and can cause some interesting problems for large advertisers, is seasonality. To effectively select the right price every Christmas, you need to have a model of the change in impressions for the previous Christmas. Building up that model is expensive. Retailers carry this in their heads, but it needs to be expressed to the model before it reaches the date&#8230; otherwise you find that the model is no longer predictive, but reactive, and always behind the curve. </p>
<p>Take, for example, the classic New Year resolution to stop smoking. Keywords relating to stopping smoking have a low volume of search over the year. Starting just before the New Year, it ramps, and declines by the end of January, reaching a peak that is vastly higher than the normal monthly run &#8211; just for this period. If you use a predictive model, it&#8217;ll keep projecting that tomorrow will be like last month&#8230; it&#8217;s had 11 months of being right. It will typically project that tomorrow, the volume will be down. And of course, it rises again and again through January. So the algorithm spends all its&#8217; time chasing the rising curve. How it reacts to the declining interest is also problematic &#8211; with no history and a short time planning horizon. Most algorithms will be dominated by &#8220;tomorrow will be like today, with minor changes&#8221; &#8211; so a declining curve has them retaining bids for too long as the market declines. </p>
<p>Because the auction is really for CPM, and broad match means that bids are compared between wildly different searches, the whole effect is to smooth the bidding landscape and slow the variation of bidding changes. Bidding on Google is pretty stable, after the first frantic period of working out th messages and building a CTR history. </p>
<h3>Noise</h3>
<p>Complicating all of this, is that the Internet is a &#8220;noisy&#8221; signalling environment. Bursts of searches may reflect real changes of user interest, or just statistical variation that means nothing. Designing algorithms that take care of high noise environments. with unknown seasonality, is pretty tricky. Getting retailers to describe their expected annual search impressions is also sometimes and exercise in futility &#8211; because over- and under-statements cause problems that can be worse than having a near-Bayesian model. </p>
<h3>None of that is the defect</h3>
<p>The missing point is that each keyword has several built-in characteristics. Different searches have a different implication, that predisposes the search user to specific types of advert. For example, a search for a brand name, especially a business&#8217; own name, usually indicates a high intent to hear from that business, not a competitor. The CTR for a competitor will be tiny, and the CTR for the business will be high. This leads to an inverted paid price. That is, the bidding landscape will tend to have the lowest average Cost Per Click at Position 1. At other positions, the AvCPC tends to be higher, as the advert is under competitive pressure.</p>
<p>Even worse, if the product being sold is a niche, the Average CPC becomes somewhat less significant &#8211; because it is important that the higher adverts weed out the segments that you can&#8217;t afford to handle. The optimum position is then dictated by competition messages &#8211; inferred by increasing conversion rates in lower positions.</p>
<p>Getting the bid right can&#8217;t rely on a simple Newton-Raphson optimisation, but has to look for non-local minima. Programming systems to find non-local minima is tougher than most businesses can handle. It is possible that Sayu.co.uk has handled this &#8211; but a number of the largest automated bidding systems, especially those popular with large agencies, seem to lack any serious bidding model. </p>
<p>When the non-local optimimum happens to coincide with the traffic maximum, and automated bidding systems fail to identify that, it is a pretty poor failing.</p>
<p>Anyway &#8211; thanks to Gerda Arts and Sayu.co.uk &#8211; it&#8217;s good to have someone explaining what they do in more detail than the handwaving at bigger competitors.</p>
 <img src="http://blog.merjis.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=136" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.merjis.com/2008/09/22/automated-bidding-on-adwords/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Automating Content Network Management &#8211; Part 1</title>
		<link>http://blog.merjis.com/2008/02/12/automating-content-network-management-part-1/</link>
		<comments>http://blog.merjis.com/2008/02/12/automating-content-network-management-part-1/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 00:00:01 +0000</pubDate>
		<dc:creator>Jeremy Chatfield</dc:creator>
				<category><![CDATA[advert automation]]></category>
		<category><![CDATA[adwords]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[click fraud]]></category>
		<category><![CDATA[content match]]></category>
		<category><![CDATA[conversion]]></category>
		<category><![CDATA[web analytics]]></category>

		<guid isPermaLink="false">http://blog.merjis.com/2008/02/12/automating-content-network-management-part-1/</guid>
		<description><![CDATA[About three years ago (2005), we started efforts to automatically improve performance of the AdWords Content Network, for advertisers. We were hoping to develop a product, but we were also doing some research to see how things worked and what lessons we could learn. This is intended to be part 1 of a multipart article, [...]]]></description>
			<content:encoded><![CDATA[<p>About three years ago (2005), we started efforts to automatically improve performance of the AdWords Content Network, for advertisers. We were hoping to develop a product, but we were also doing some research to see how things worked and what lessons we could learn. This is intended to be part 1 of a multipart article, focusing on the background for the most obvious techniques to improve performance. In part 2, I expect to cover more of the practical issues and some more of the observations we made. </p>
<p>The Content Network is Google&#8217;s name, in AdWords, for most of the AdSense network. There&#8217;s an additional component in AdWords that accounts for the rest &#8211; &#8220;Placement Targeting&#8221;. You need a different campaign type for Placement Targeting, and you may find that sites that are presented using the Content Network are not available using Placement Targeting, even if they deliver a good ROI for you. I do not know, and have not researched, why some Content Network sites are  unavailable for Placement Targeting. </p>
<p>Managing keyword search and content match in a single campaign is fraught with problems &#8211; detailed in other articles, <a href="http://blog.merjis.com/2006/12/15/twelve-ways-plus-a-bit-less-a-few/">here</a> and <a href="http://adwords.blogspot.com/2007/12/google-content-network-tips-part-3.html">elsewhere</a>. As long as three years ago, we&#8217;d recognised the issues and were already optimising separated Content Network campaigns. The problem that we were trying to resolve was that, even with separated content match campaigns, we had great difficulty in achieving a good volume of conversions at a competitive ROI. Every time we drove up the volume, the ROI got worse. Every time we drove to a great ROI, we lost volume. </p>
<p>After some investigation of the actual sites that drove business or drove unproductive costs, we became unhappy with the state of many of the sites on which adverts were published. Generally either because the content match yielded low relevance sites, or because the sites were constructed around steering traffic to adverts &#8211; and sites like either of these categories generally showed the lowest conversion rates. </p>
<p>The graphic below shows how a UK English user, with no search history in Chinese, a browser set to English, in receipt of Chinese language spam in Gmail, is shown Chinese adverts.  This sort of &#8220;just the content&#8221; matching is partially why the Content Network has such a low CTR. There&#8217;s other reasons to do with the Buying Process and Intent, but contextually irrelevant matches through word matching is probably one of the main causes: </p>
<p><img id="image143" src="http://blog.merjis.com/wp-content/uploads/2008/02/content-network-mismatch-chinese.png" alt="Chinese Language Advert Triggered By Chinese Spam in Gmail" /></p>
<h3>The Content Network &#038; Gilligan&#8217;s Island</h3>
<p>We decided that the only ways to escape this trap (the inverse correlation of ROI and volume) was to exclude sites that absorbed money, but delivered no business. The measurement system was to be Google&#8217;s own <a href="http://blog.merjis.com/2007/04/03/macros-analytics-paid-search-performance-improvement/">AdWords Conversion Tracking</a> (GACT) and the metric would be unique measured conversions. </p>
<p>GACT does not offer impression tracking, so conversions would only be trackable if the visitor clicked on an advert. In addition, Google appears to prefer the first click in a 30 day window &#8211; so if the visitor clicked first on a paid search advert and later returned via content match adverts, then the conversion would be attributed to a paid search. It is *NOT* clear to me what Google does when the first click exceeds the 30 day cookie window &#8211; for example, perhaps the second click could now be counted as a conversion in the 30 day cookie window, providing new attribution of a previously ascribed sale, to a later click. Using measurements of this stuff is pretty complex, especially when you use someone elses&#8217; stats collection and reporting system and their documentation is kept simple. However, if the products that are sold are unlikely to be repeat sales over a 30 day window, GACT stats will be much more useful than not having them. </p>
<p>There are other techniques to optimise the Content Network. For example, the choice of <a href="http://blog.merjis.com/2008/01/28/google-doing-less-evil/">geotarget, keywords, the budget and bid</a> all affect where the impressions are delivered. Google also probably has controls, hidden from the advertiser, that affect the choice of sites for publishing. We infer the likely presence of these Google-managed controls, from periodic changes in behaviour that would otherwise require seismic shifts in the way that the internet works. Groups of sites and the flexibility of content matching varying in huge ways over a period of days; I contend that the simplest explanation is that Google is testing ways to optimise their revenue, rather than that substantial sections of the internet change allegiances to publisher networks in such short time periods &#8211; especially when some of the sites coming and going clearly follow &#8220;Made For AdSense&#8221; templates. </p>
<p>To do the site optimisation research, we assumed that geotarget, advert copy, keywords and budgets had been optimised by another system. The product research area was to investigate whether it was possible to optimise site exclusion with automated techniques. Complicating it further was that at that time, Google restricted accounts to 500 site exclusions &#8211; this may sound like a lot, but it can be exhausted by a moderate sized advertiser in a month or so. This limit has been relaxed in late 2006, IIRC. </p>
<p>If the project worked, then a major human exercise in identifying sites that were likely to perform poorly, could be automated. This would save costs for advertisers by denying unproductive spend with Google, and reduce management fees for users, allowing a larger user base for my business. The causes of the unproductive spend could be click fraud &#8211; the Content Network seems a particularly ripe target for fraud &#8211; or could be users who just weren&#8217;t anywhere near ready to purchase, outside the 30 day window allowed by Google&#8217;s cookie and that of most web analytics packages, or poor relevance. For the purposes of improving ROI and volume, the exercise is not specifically to tackle any single cause, but to maximise the profit whatever the problems are. However, when we get to the next article, we&#8217;ll see that the causes of low performance are intricately bound up with performance improvement. </p>
<p>We decided that there were two main techniques for optimising site exclusions, which need not be exclusive. The rational basis for decision making is to use measured ROI. The other technique was to train an Artificial Intelligence (we picked a neural network) to choose sites as likely to be effective, or ineffective, after a single click from that site.  Indeed, for the purposes of training a neural network to recognise low performing sites, we could use the ROI technique to identify how sites performed, and then use those sites as the learning sets for the AI. If the predictive powers of the AI are good, after training, then sites can be rapidly identified as being more or less likely to generate sales, saving serious costs. </p>
<p>So here, then, was our escape from the trap. Use economically justifiable techniques to identify sites. Build up a database of sites that work and sites that fail. Infer the characteristics, using an AI, that will allow us to select likely poor performing sites and high performing sites after just a single click. Would this be enough to get us off Gilligan&#8217;s annoying Island, or see us still trapped and ready for the next episode? </p>
<h3>Identifying Poorly Performing Sites Through ROI Targets</h3>
<p>The first technique is a basic &#8220;proof of incompetence&#8221; test. Assuming that the bid, budget and advert has been optimised, then ROI calculations will offer a count of clicks. Example:</p>
<p><code>Average Paid Price is $0.10</code></p>
<p><code>ROI Target is $10.00</code></p>
<p><code>Average number of clicks to achieve ROI = $10.00 / $0.10 = 100 clicks</code></p>
<p>There&#8217;s a particularly complicated calculation to work backwards from this, to the number of clicks you must see before you can assume with a specific confidence level that you are not going to achieve the target ROI. I&#8217;ll run through a simplified version of the thinking that leads to the calculation. </p>
<p>Imagine that the first 100 clicks do not lead to a sale&#8230; can you turn off the advertising to that site? No. Because click 101 could yield a sale. So long as we then get a second sale before click 300, we&#8217;re still achieving an average of 100 clicks per sale &#8211; to a definable confidence level. The more clicks and sales we see, the higher the confidence level. So if we got one sale in 1,000,000 clicks, we&#8217;d be very confident that we were not going to average 100 clicks per conversion. OTOH, if we saw 10,000 orders in 1,000,000 clicks, we&#8217;d be very confident that even if we saw 500 clicks and no sales, that it was not likely to be a sustained problem.</p>
<p>For simplicity, lets double the target ROI click volume&#8230; In this example, we must see 200 clicks and no sales at all in order to decide that this site is unsuitable *for this offer*. It may be suitable for a different offer, of course&#8230; Because Content Network matching is literal, irrelevant advertising is a frequent hazard (look at the screenshot of a <a href="http://blog.merjis.com/2008/02/07/spam-in-comments-unattributed-content/">poor match to a page resulting from a search</a> for &#8220;akismet-admin&#8221;, offering Windows XP Registry tweaking &#8211; completely irrelevant and probably matched on &#8220;admin&#8221;). </p>
<p>Using the numbers above, the proof that the site under consideration will not convert, is a spend of $20.00 (twice the ROI target). The confidence level for this is pretty low; it&#8217;s better than random, but still quite low. However, stick with it and let&#8217;s see where it gets us. </p>
<p>If you have only a few sites appearing in content network AdGroups, then this additional payment over the ROI, to prove that sites *can&#8217;t* make the ROI,  is a burden initially. Say that you have ten sites under consideration, and they have equal volumes of traffic. Overall you may be achieving a $20.00 ROI, and so you need to double the performance (remember that all other factors have been optimised &#8211; we&#8217;re now only looking at which sites to exclude). So we need to at least halve the number of sites involved. That means we need to waste 5 times $20.00 (the proof of incompetence level) to identify sites that definitely won&#8217;t work in the target ROI range &#8211;  a &#8220;wasted&#8221; $100.00. However, that means that the remaining sites must achieve an ROI of $5.00 or the clients&#8217; target has been failed&#8230; </p>
<p>In practice, you need to allow a significant overspend on useless sites, in order to ensure that you end up with a collection of sites that achieve $10.00 average ROI. The overspend is function of the numbers of sites to which you are exposed. The larger the publishing network, the less likely you are to see the same site repeatedly appear and the more sites that appear with low spend levels below the point at which you can reject them. </p>
<p>Now, that&#8217;s assuming an unrealistically simple model. Let&#8217;s make that model more complex and closer to reality. </p>
<p>The usual behaviour in the content network is a profile similar to a power law (Zipf&#8217;s law). The distribution of clicks and impressions will tend to follow a curve with a few sites that attract a lot of impressions and clicks, and a lot of sites that attract a few impressions and clicks. For a large client (think $10,000 per month, testing on the Content Network) this might translate to around 2,000 sites, of which less than ten will achieve or exceed the $20.00 target spend, and the vast majority of which have a handful of clicks. </p>
<p>This means that the client faces a first month cost of $10,000, but has only positively identified a handful of sites as meeting or failing to meet the success criterion. We can exclude these sites (make them a placement targeting target if they worked, otherwise we exclude them). We now have another month of spend&#8230; and a similar sort of ratio. A handful of sites will rise above the detection threshold, and in addition to the previous thousand sites, we&#8217;ll see four or five hundred new sites, and of the sites that we previously saw, we won&#8217;t see half of them again, this month. So the spend gradually increases, but the rate of accreting validated sites is just a few identified sites every month, with an ever increasing count of sites that we&#8217;ve not previously seen (though this rate of adding new sites declines &#8211; but is subject to factors outside the control of the advertiser). </p>
<p>Particularly note that the ROI is being measured with respect to each site. This means the overall campaign ROI will be much worse than the target. In the first month, there&#8217;ll be quite a bit of explaining to worried clients that this is just what was expected and that it will eventually get better. IMO, that&#8217;s not a message that most new clients will be happy to hear&#8230; so this technique isn&#8217;t very &#8220;client friendly&#8221;&#8230;. You&#8217;ve just charged them a bunch to set up this complex stuff and the first thing that happens is an overspend against the ROI target. OTOH, they could have stayed with the old system and have achieved pretty much the same result. This isn&#8217;t a good harbinger. This makes for a specific type of sales problem, that you probably recognise from products that you&#8217;ve used. </p>
<p>It takes many months to identify a large enough group of repeating conversions to present a useful collection of validated sites&#8230; but each month we see a $10k spend. It shouldn&#8217;t take any more explanation to reveal that payback times using this technique are *very* long.  Practically, the reliability is low because it depends on the sites with success continuing to succeed&#8230;. </p>
<p>I&#8217;ve developed a sincere scepticism of assumptions of sustained performance of a site in the content network, over the years I&#8217;ve been using it. I&#8217;ve found sites that provided repeat conversions and then after a while, the site changes tactics, or Google tweaks their hidden levers, and the performance falls through the floor. I&#8217;ve even had repeat converting sites simply drop out of the Content Network &#8211; for me&#8230; continuing to display adverts from competitors and completely irrelevant advertisers and having those sites unavailable in site targeting. It is an exercise in frustration. </p>
<p>Take Google&#8217;s own property, YouTube, for example. Last summer, I had a client with some conversions using a specific target on YouTube. Google changed the targeting and despite overspending the ROI target, I couldn&#8217;t achieve another sale &#8211; the location and the matching of video content were simply not working, for this client, any more. Achieving a single sale, or even repeat sales, does not guarantee that the site or the performance will be the same, next month. </p>
<h3>Second Technique &#8211; the AI</h3>
<p>OK, so we&#8217;ve seen that only using target ROI (plus some fudge to allow for the internet being noisy) can be a pretty fast way to lose large quantities of money and a slow way to identify good sites. If we can use the patterns that we find, perhaps we can use a pattern-recogniser to more quickly identify sites that don&#8217;t work? Then we can choose to dump the ineffective sites and focus spending on sites where we can&#8217;t determine an answer or know the returns to be fine.</p>
<p>AI techniques offer some help. A good tool for recognising unknown patterns is the Neural Network. We built a three layer neural network. You need to train a neural network. We believed that around a thousand sites would be needed to train and test the Neural Network&#8230; a thousand good sites, and a thousand bad sites, and an additional set of sites that had known value, but that were not part of either of the training sets &#8211; 3,000 sites in total.</p>
<p>Complicating this further, the results only hold true for a specific product. If a different product is offered, it is possible that a site that was previously failing, may now work &#8211; and vice versa. So the sites that were marked previously as &#8220;Good&#8221;, &#8220;Bad&#8221; and &#8220;Unknown&#8221;, could be marked after a second trial as &#8220;Always Good&#8221;, &#8220;Always Bad&#8221;, &#8220;Sometimes Good&#8221;, &#8220;Sometimes Bad&#8221; and &#8220;Still Undecided&#8221;. That is, there is probably a group of sites that, whatever the advert, will tend to have a lower than usual conversion rate. Conversely it is unlikely that there will be many sites that, whatever the advert offers, have a high conversion rate. </p>
<p>Another way of categorising would be &#8220;Sites that seem unlikely to convert, whatever the offer&#8221;, &#8220;Sites that might convert for a relevant offer&#8221; and &#8220;Sites where we need more evidence before deciding about this offer&#8221;.</p>
<p>Categorising the sites is the most difficult part &#8211; because content matching is so dependent on the use of words, not of context. The result is that a site that may not convert for one offer is not always poor at converting for other offers &#8211; maintaining a universal list of sites that don&#8217;t convert is made harder by having to expose those sites to multiple offers, until proving that *nothing* sells on them. </p>
<p>AI&#8217;s need good categories &#8211; the clearer the signal in training the AI, the more likely you are to get a decent result when applying the AI to real world data. So, for example, if the criterion is &#8220;artistic&#8221; &#8211; then you&#8217;ll really have to train the AI to detect what &#8220;art&#8221; means. If, on the other hand, the decision is &#8220;half the adverts appear between top of page and the first content&#8221;&#8230; well, it is *likely* to be easier to train &#8211; if you can write the software to perform all the CSS and JS jiggery that is possible. </p>
<p>Part of the exercise, then, is to define the types of entity that are present in the input, and from which the AI will draw its&#8217; inferences. </p>
<h3>Rounding Up Part 1</h3>
<p>ROI based techniques aren&#8217;t worse than standard management practice &#8211; but are more expensive than techniques that rely on identifying whether a site is likely to be effective, based on immediate inspection after the first click. </p>
<p>Automation could be used to identify sites on first click, and add them automatically to site exclusion, pending investigation (human or automaton). </p>
<p>There appears to be a potential to identify, especially across a wide range of advertisers, sites that generate clicks that don&#8217;t convert for any offer. Optimising for a single advertiser looks like a long, slow process, from the stats given above.</p>
<h3>Coming up, in Part 2</h3>
<p>Collecting the data, hazards of data collection, risks of site exclusion and the likely response of the Get Rich Quick guys who build websites that earn them money, but don&#8217;t earn anything for you. This has significant impact on whether a system is workable, and the investment involved to build and deploy it. It also ties into bot nets and human networks of fraudulent clickers, and Google&#8217;s undisclosed techniques for identifying clicks. </p>
 <img src="http://blog.merjis.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=141" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.merjis.com/2008/02/12/automating-content-network-management-part-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Top Position &#8211; Bidders Beware</title>
		<link>http://blog.merjis.com/2007/08/23/top-position-bidders-beware/</link>
		<comments>http://blog.merjis.com/2007/08/23/top-position-bidders-beware/#comments</comments>
		<pubDate>Thu, 23 Aug 2007 01:14:59 +0000</pubDate>
		<dc:creator>Jeremy Chatfield</dc:creator>
				<category><![CDATA[advert automation]]></category>
		<category><![CDATA[adwords]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.merjis.com/2007/08/23/top-position-bidders-beware/</guid>
		<description><![CDATA[Whew! My accounts are mostly set to UK time (inherited from previous account administration). So I have US spend that is now two hours after my midnight, and can clearly see the effects of the new Top Position pricing model. It means that *Phrase* match costs are going through the roof. Now that is not [...]]]></description>
			<content:encoded><![CDATA[<p>Whew! My accounts are mostly set to UK time (inherited from previous account administration). So I have US spend that is now two hours after my midnight, and can clearly see the effects of the new Top Position pricing model. It means that *Phrase* match costs are going through the roof. Now that is not what I expected. My consumer brand Exact matches are mostly staying at the same low CPC that they have had for days. But Phrase Matched keywords are rocketing in cost &#8211; some, before I reduced the bid price, had spent 60% of the entire days budget before I could get a report out of Google.</p>
<p>If you are using Broad or Phrase match, and bidding anywhere near the top positions, you should *run*, not walk to your AdWords reports and see what has been happening since the new Top Position algorithm has been put in place.</p>
 <img src="http://blog.merjis.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=119" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.merjis.com/2007/08/23/top-position-bidders-beware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 Things Meme, Pure Time Delay and Aggregation</title>
		<link>http://blog.merjis.com/2007/04/09/5-things-meme-pure-time-delay-and-aggregation/</link>
		<comments>http://blog.merjis.com/2007/04/09/5-things-meme-pure-time-delay-and-aggregation/#comments</comments>
		<pubDate>Mon, 09 Apr 2007 06:52:27 +0000</pubDate>
		<dc:creator>Jeremy Chatfield</dc:creator>
				<category><![CDATA[advert automation]]></category>
		<category><![CDATA[adwords]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[web analytics]]></category>

		<guid isPermaLink="false">http://blog.merjis.com/2007/04/09/5-things-meme-pure-time-delay-and-aggregation/</guid>
		<description><![CDATA[I got tagged. I just noticed. So, one of Richard Ball&#8217;s tag targets has a 80+ day response time. The effect is that a meme can lie low and then burst into life again. Rather like Quellism, or the Black Planner. Five Things About Me you probably don&#8217;t know, then Five Blogs Tagged and a [...]]]></description>
			<content:encoded><![CDATA[<p>I got <a href="http://www.apogee-web-consulting.com/blogger/2007/01/5-things-blog-tag-meme.html">tagged</a>. I just noticed. </p>
<p>So, one of Richard Ball&#8217;s tag targets has a 80+ day response time. The effect is that a meme can lie low and then burst into life again. Rather like <a href="http://www.richardkmorgan.com/">Quellism</a>, or the <a href="http://kenmacleod.blogspot.com/" title="More than you thought was possible to know about the cyber future of the 4th International">Black Planner</a>.</p>
<p>Five Things About Me you probably don&#8217;t know, then Five Blogs Tagged and a short article on Pure Time Delay and Paid Search Bidding Systems. </p>
<ol>
<li>I was the main researcher for Europe&#8217;s largest low energy housing experiment, at Pennylands in Milton Keynes. I also worked on the Great Linford experiments. My main focus was to make sure we collected all the data we could and to devise ways to analyse it. </li>
<li>I&#8217;ve lived in the south of England (Surrey, Bucks and Beds), LA, Austin (TX) and Denver. </li>
<li>I used to score very highly in Physics at school, until just before the critical exams, when I found precise values of all sorts of constants to at least five places, and used them in exam answers. Stuff like the value of the gravitational constant where the school was located&#8230; Sometimes an answer correct to an order of magnitude is better, at least for examiners. I still prefer detailed information, because I find unexpected and interesting stuff in the details. </li>
<li>I used to own a racing dinghy called &#8220;Nemesis&#8221;, with the sail number 169 (13 squared).</li>
<li>I read a lot of science fiction, apart from technical and business books. You&#8217;d think that&#8217;d make me open to speculating about the future. But if there&#8217;s a way to measure a response, or a piece of information that could be collected to remove the conjectured future options, I get really uncomfortable talking and even thinking about it, until the information is collected. On <a href="http://en.wikipedia.org/wiki/Larry_Niven">the gripping hand</a> I&#8217;ll gleefully read about the <a href="http://www.accelerando.org/">Rapture of the Nerds</a>. </li>
</ol>
<p>Five blogs. Coming at yer. </p>
<ol>
<li><a href="http://gotads.blogspot.com/">John K</a> &#8211; good search marketing news gathering and interesting perspectives</li>
<li><a href="http://adelino.typepad.com/adelino_marketing/">Adelino de Almeida</a> &#8211; Stumbled into this blog while doing ever more digging into multivariate data analysis and marketing</li>
<li><a href="http://kenmacleod.blogspot.com/">Ken MacLeod</a> &#8211; displaced LeGuin&#8217;s &#8220;The Dispossessed&#8221; for a fascinating read of altered future politics</li>
<li><a href="http://www.cookingwithrichard.com/">Richard Jones&#8217; eclectic cookery</a> &#8211; including the <em><a href="http://www.cookingwithrichard.com/2007/03/24/photo-dump/">military rank photo of the year</a></em> for&#8230; &#8220;Major Warr&#8221;</li>
<li><a href="http://www.aigarius.com/blog/">Aigars Mahinovs</a>, who did some deep magic using Neural Nets and other techniques. </li>
</ol>
<h3>Paid Search Bidding Systems with Quantisation, Pure Time Delay and Aggregated Results</h3>
<p>Pure time delay can be difficult to deal with in paid search. Take a simple example. Say you bid $5.00 on AdWords. You check and there&#8217;s no sales. So you crank up to $10.00. Check and there&#8217;s nothing happening. Up to $15.00. Check and&#8230; whoaaa! You&#8217;ve got clicks, and they are expensive. In fact, they&#8217;ve blown your daily budget, already! </p>
<p>What happened?<br />
<span id="more-93"></span></p>
<p>You made the dangerous assumption that just because your advert started running immediately, that the AdWords interface will immediately reflect the impressions and clicks. There&#8217;s a pure time delay. You won&#8217;t see any results for at least 30 minutes. You need to wait a minimum of 45 minutes to get plausible data, and even that time-lagged information can still be adjusted by Google many hours later. </p>
<p>Watch the data carefully &#8211; notice that it doesn&#8217;t change faster than every 15 minutes? It can change more slowly than that if Google&#8217;s servers get busy. Additionally, if you see updates to, for example, a new day of advertising in less than 45 minutes, it can be misleadingly wrong. For example you may discover that you have clicks without impressions. This reveals some information about how Google&#8217;s systems are probably put together&#8230; but that&#8217;s a topic for another time. </p>
<p>The first thing to think about is that 15 minute quantisation granularity. The <a href="http://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem">Nyquist-Shannon Sampling Theorem</a> has an important piece of news for you. You can&#8217;t rationally bid faster than every 30 minutes. It&#8217;s actually a bit more complex than that, because this is quantised information about discrete events, rather than the analogue signals that Nyquist et al were looking at. It&#8217;ll do as a starting point. </p>
<p>Then, that 45 minute time delay has implications on bidding speed.  If the fastest that you can see changes in bids is a 45 minute time lagged version, and if you only get aggregated data (you do &#8211; positions, prices, impressions and clicks are aggregated for 24 hours before being reset at local midnight)&#8230;  then the fastest that you can take decisions on changing measurements is actually an hour. When you get to the last aggregation period in the day, just before midnight, with much less than 1% of the traffic affecting the numbers, the inferred position and price changes are pretty tiny, with huge error bars. Even an hour is a pretty short time to measure the effect of changes. </p>
<p>Strictly speaking, of course, the sampling theorem isn&#8217;t directly applicable, because we&#8217;re looking at discrete events, with quantisation. I wanted to simplify it&#8230; The basic principle is that when you change the bid, you won&#8217;t see the effect for 45 minutes, and the effect is buried in aggregated data going back to local midnight. So extracting a meaningful signal that tells you that a bid change late in the day has had a useful effect, takes more user activity than judging a price change earlier in the day, and that means allowing longer times to collect results, when you do things late in the day. Wierd, eh? </p>
<p>There are some tricks that can allow faster paced bidding. Pretty much anything you can do to beat that lengthy time involves retaining a history, which can negate immediate competitive advantage in fast paced markets, or the tricks will burn up the API quota usage. Perhaps I&#8217;ll describe the tricks at some other time. Getting way off topic for the 5 Things Meme here!</p>
 <img src="http://blog.merjis.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=93" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.merjis.com/2007/04/09/5-things-meme-pure-time-delay-and-aggregation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Macros, Analytics, Paid Search Performance Improvement</title>
		<link>http://blog.merjis.com/2007/04/03/macros-analytics-paid-search-performance-improvement/</link>
		<comments>http://blog.merjis.com/2007/04/03/macros-analytics-paid-search-performance-improvement/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 09:21:06 +0000</pubDate>
		<dc:creator>Jeremy Chatfield</dc:creator>
				<category><![CDATA[advert automation]]></category>
		<category><![CDATA[adwords]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[conversion]]></category>
		<category><![CDATA[web analytics]]></category>

		<guid isPermaLink="false">http://blog.merjis.com/2007/04/03/macros-analytics-paid-search-performance-improvement/</guid>
		<description><![CDATA[An outline of the interaction of web analytics and paid search, with suggested usage and some minor extensions that would improve A/B testing using AdWords.]]></description>
			<content:encoded><![CDATA[<p>How do you tell whether you have actually received visitors from AdWords? You need to use web analytics. There&#8217;s two problems with that solution &#8211; <a href="http://blog.merjis.com/2006/12/08/confirmed-web-analytics-packages-really-dont-help-marketers/">most analytics are completely useless</a> for explaining what happened with your paid search, and secondly, the search engines only give you part of the information they collect about the adverts you pay for&#8230; making it hard to refine your paid search, without being an expert in paid search as well as your professional or vocational expertise. </p>
<p>This article very briefly covers what you can do now with Google&#8217;s own Google Analytics and AdWords, and more extensively describes what you can do with third party web analytics and web server log file analysis. I also note what can not be done, unless Google modify AdWords to provide for more useful information for paid search management. I have not covered &#8220;missing macros&#8221; in much depth nor have I done an in-depth look at how the presence and absence of various macros affects the costs of using the Google AdWords API. However, I&#8217;m quite certain that a better set of tag substitutions could both reduce the cost of using the API and improve the performance of advertisers. </p>
<p><span id="more-92"></span></p>
<h3>AdWords Clicks and Natural Search Clicks</h3>
<p>Free and paid clicks look the same, unless you do something about it. That is, if I&#8217;m looking at a web server log file, I usually can&#8217;t tell whether a visitor has come from paid search or from organic search. Most of the clicks look just the same &#8211; the big exception being content match, where, if you do get a &#8220;referer_info&#8221; field, it may show the click as coming from Google&#8217;s PageAd Syndication server. </p>
<p>This missing information about the origin of the clicks is a frequent cause of confusion for new advertisers, who often complain that they&#8217;ve enabled AdWords but their analytics package continues to show visitors from Google, AOL, etc. They are perfectly correct &#8211; that&#8217;s just where the paid search visitors will come from. Google offers adverts on those sorts of sites, so you will see clicks from those sites, but they&#8217;ll usually look just like a normal search.  </p>
<p>You need a way to make the paid adverts stand out as different from the organic search clicks. The only way that I know of, to make the click source obvious, is to change the destination URL so that the Analytics package can see that this is a special click. There&#8217;s three main ways to do this:</p>
<ul>
<li>Use a &#8220;redirection service&#8221; which counts clicks and won&#8217;t see visitors from organic search</li>
<li>Use &#8220;tags&#8221; on the destination URL, so that the analytics package can see that this isn&#8217;t from organic search</li>
<li>Use a special landing page URL &#8211; so anyone landing on it must be coming from paid search</li>
</ul>
<p>Annoyingly or perhaps fortunately, there is no common standard amongst web analytics vendors for the tags to add. Here&#8217;s a few examples of the types of tags that you might add. Note that you&#8217;ll need to consult your documentation for your package to see what tags you have to add:</p>
<ul>
<li>&#038;cm_mmc=foo-_-bar-_-stuff-_-here
<li>&#038;utm_content={creative}&#038;utm_media={ifsearch:ppc}{ifcontent:content}&#8230;
<li>&#038;ns_campaign=foo&#038;ns_url=http://merjis.com/
</ul>
<p>It&#8217;s probably fortunate that the web analytics companies haven&#8217;t agreed on a common standard, because almost without exception the standard tags they offer for paid search use are insufficient to perform an adequate analysis for a large account and might even run into trouble for a single product offered in a geographically small area. </p>
<h3>Close Linked Google Analytics</h3>
<p>If you use Google Analytics, then you can enable Google AdWords&#8217; Auto-Tagging and you can get some information about the most popular keywords that lead to the site. Rather more usefully, you can also get some information about the search queries. You want to know about the search queries, because you usually want a close match of keyword and query, and that will also help you to tune the advert and landing page, increasing conversion rates. </p>
<p>Auto-Tagging appears to allow Google to identify much more information than you can get from web server log files. Potentially, you should be able to identify which keywords and match types are most likely to lead to a sale, though identifying which referral sites are least likely to offer a converting user is a slighly harder exercise. </p>
<h4>What Auto-Tagging Does</h4>
<p>Looking in web server log files, we see that Auto Tagging has enabled a new field, <code>gclid</code>, added magically by AdWords, to the URL. This can cause some web servers to mis-serve pages. Don&#8217;t just enable Auto-Tagging and hope for the best. </p>
<p><strong>Warning!</strong> Google has, so far, implemented this so that it only adds the tag to real adverts. If you click on the advert from within the AdWords User Interface, the auto-tag isn&#8217;t added and the test may prove successful, when real use will show a problem. Even worse, this implementation choice means that Google&#8217;s automation will look at the URL without the tag, identifying the site as working properly, but when users click on a real advert they <em>might</em> get a 404 or 500 error from the web server. You really, really don&#8217;t want to be paying for clicks that give users a &#8220;No Such Page&#8221; or &#8220;Internal Server Error&#8221; message &#8211; that&#8217;s a poor brand experience and a waste of money. </p>
<p>There&#8217;s a deeper issue with the auto-tag, though. It only offers information to Google Analytics. The data can&#8217;t be interpreted by third party analytics products. This means that you have to either find a way to make Google Analytics deliver the right information, or to add more information in the normal URL so that a web analytics package can offer useful insights. We have some clients who refuse to use Google Analytics and Google Conversion Tracking, because they already have so many web analytical packages installed (we often see large accounts with at least two page tracking systems and at least a half dozen order tracking systems), or because they don&#8217;t want Google to see information about their visitor volumes and sales. </p>
<h4>Weaknesses of Google Analytics For Paid Search</h4>
<p>GA has some significant problems, especially for those new to paid search and analytics. For example, it is quite common to pay for 250 clicks from adverts, but for GA to offer a Search Marketing analysis showing that only 80 visitors arrived from paid search adverts. That&#8217;s with auto-tagging enabled. Explaining the disparity can involve some serious handwaving, but usually only becomes evident when you look at the web server log files. </p>
<p>Perhaps worse, the analysis can&#8217;t be exported via an API, and the irregular lag on data makes calculating new bids or dynamically managing fast paced advertising, an impossibility. </p>
<h3>What Can You Find Out Now?</h3>
<p>There are always going to be things that you don&#8217;t understand, but a lot of what happens can be understood if you know the nature of the search, and the context of the search. That means that not only do you want to carry information that this click came from paid search, you also want to bring any other information about the search that you might think is relevant to improving success. </p>
<p>Google AdWords offers some macros &#8211; pieces of text that are replaced with real values when the advert is delivered.  The known list is pretty small. It is possible that Google has made more of these available, but hasn&#8217;t documented them in any useful form. The bulk of these macros were found in a misnamed PDF from a <a href="http://www.google.com/ads/library/maximimum_effect_dec03.pdf">2003 Google presentation about optimising AdWords</a>.</p>
<h4>{keyword}</h4>
<p>As well as being useful in an advert, when this is known as Dynamic Keyword Insertion, you can use {keyword} in a tag. Used like &#8220;&#038;utm_keyword={keyword}&#8221; it will substitute the keyword that triggered the match, without the match type.</p>
<p>This is helpful, but not complete. In order to check on Match Fraud &#8211; a sub-genus of Distribution Fraud &#8211; you also want to know what the search query was. By cross checking the search query and the keyword, you can see when the search engine is becoming excessively eager to deliver clicks and offer your advert to inappropriate queries. </p>
<p>Additionally, there are three main ways to build an AdGroup (there&#8217;s lots of special ways for specific purposes, but, IMO, they can be generated from these basic types):</p>
<ul>
<li>Use Broad Match and improve CTR with negative keywords</li>
<li>Use Phrase and Exact Match, possibly with negative keywords to improve phrase match CTR&#8217;s</li>
<li>Use all three match types, and bid them to make sure that the right match goes to the right keyword and match type</li>
</ul>
<p>So you <b>REALLY</b> want to know what the match type is.</p>
<p>There is a way to find out, but it requires intensive personal commitment (read that statement as &#8220;you do a lot of typing&#8221;) or you need some automation &#8211; automation that the AdWords API will make you pay for twice (once to develop the software and once as a tax by Google on each use). You need to change the Destination URL for each keyword. That way, you can have keywords with a unique destination URL including a tag like &#8220;&#038;keyword={keyword}/broad&#8221; or &#8220;&#038;keyword={keyword}/phrase&#8221;.</p>
<p>Having a Keyword Level Destination URL also presents another problem for the advanced marketeer&#8230; A/B testing of Landing Pages. If you want to test two pages to see what the conversion is like, you could use two adverts, with identical copy but different destination URLs. You can then look at the conversion performance to see what it is for each advert and from that, infer the better landing page. You can&#8217;t do that when each keyword specifies the Landing Page. If the keyword requires a destination URL because you want to know the match type, then the advert Destination UR is ignored&#8230; and you don&#8217;t get A/B testing, you only end up on the Landing Page embedded in the keyword destination URL &#8211; removing the A/B test. </p>
<p>It&#8217;d all be a lot easier if Google added {matchtype} as a macro. Then you could have &#8220;&#038;keyword={keyword}/{matchtype}&#8221; in the advert, no need for a keyword level destination URL and you can then use identical adverts to send traffic to two or more different landing pages, with full URL tracking of the behaviour. In the interim, if you want to use A/B testing then you are looking at a variety of different mechanisms, each one of which will drive up the costs of using the API and complicates the statistical analysis. The various techniques depend on what you are trying to achieve and the damage to search performance that you are willing to allow, so I&#8217;ll not drill into the details here &#8211; perhaps another posting, sometime. </p>
<h4>{placement}</h4>
<p>So far as I can discover, this tag only works on site targeted advertising. It is replaced by the URL of the site on which the advert is shown. Use it like &#8220;&#038;site={placement}&#8221; to find out where that site targeted click came from. </p>
<p>In one audit, we found a client with 20,000 clicks from the content network of which 30% had no referrer_info data. It was impossible to use these 6,500 clicks to refine the site exclusion list. How much more useful if Google were kind enough to let the advertiser know the publisher ID and the site name, such that it could be used in a site exclusion statement directly? An apparently small change to the advert interface, and we&#8217;d all get a lot more information, that would let us better control costs.  So, for content match, it&#8217;d be good to have &#8220;&#038;site={placement}&#8221; work, and offer the name of the site that Google recognises as the publisher.</p>
<h4>{ifsearch} and {ifcontent}</h4>
<p>These macros are used for conditional text replacement if the statement is true. In other words, using these you can pass back to the analytics package whether the click was from keyword search or content match. Quite useful.  Example &#8211; &#8220;&#038;utm_medium={ifcontent:ppc}{ifcontent:content}&#8221; becomes &#8220;&#038;utm_medium=ppc&#8221; or &#8220;&#038;utm_medium=content&#8221;, depending on where the advert was served.</p>
<p>Slightly less usefully, Google makes no commitment to allowing nesting macros. So, for example, you couldn&#8217;t say (or not with any commitment from Google that if this works, it will continue to work) &#8211; </p>
<blockquote><p>&#038;{ifcontent:site}{ifsearch:keyword}={ifcontent:{placement}}{ifsearch:{keyword}}</p></blockquote>
<p>Since the {placement} macro doesn&#8217;t work in any advert that may be shown with keywords, at present, this is a somewhat spurious example, but that&#8217;s never prevented me from considering what you could do with a system, if it was slightly enhanced. </p>
<h4>{creative}</h4>
<p>Brilliantly useful, especially when trying to do A/B testing, {creative} is replaced by the advert ID. You can then use this to test, for example, which adverts have the better conversion rates. Use in tags like &#8220;&#038;utm_content={creative}&#8221; and your web server log files or analytcs packages can learn which advert causes user activity. </p>
<p>It&#8217;s a little awkward to associate the Advert with the magic number that the {creative} macro returns. There are some reports (look at an Advert Report in the AdWords interface) that will associate the text of an advert with the AdID. When you&#8217;ve got that report, then the analytics makes more sense. I don&#8217;t know of any current web analytic system that shows you the multiple adverts for an A/B next to the conversion data. </p>
<p>Of course, this ties back to A/B testing. And again, the best use of {creative} will happen when the Match Type is also a macro in the Adverts&#8217; Destination URL. </p>
<h2>Summary</h2>
<p>Current web analytics packages are largely inadequate for measuring response from paid search. Tags added to the destination URL, or redirection servers, are essential to identify users coming from paid search &#8211; otherwise they become lost in the organic search traffic. </p>
<p>Imaginative use of the Destination URL allows advertisers to better identify which clicks come from paid search and which are from other sources. Google&#8217;s macros allow keywords, distribution system (search or content matching), creative and the site placement to be identified. The current system doesn&#8217;t make measurement as easy as it could be, and tweaks to gain more information can result in significant increases of AdWords API costs. </p>
 <img src="http://blog.merjis.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=92" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.merjis.com/2007/04/03/macros-analytics-paid-search-performance-improvement/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Merjis AdWords Toolkit 2.8.0 released &#8211; supports API version 8</title>
		<link>http://blog.merjis.com/2007/01/05/merjis-adwords-toolkit-280-released-supports-api-version-8/</link>
		<comments>http://blog.merjis.com/2007/01/05/merjis-adwords-toolkit-280-released-supports-api-version-8/#comments</comments>
		<pubDate>Fri, 05 Jan 2007 14:47:02 +0000</pubDate>
		<dc:creator>rich</dc:creator>
				<category><![CDATA[adwords]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.merjis.com/2007/01/05/merjis-adwords-toolkit-280-released-supports-api-version-8/</guid>
		<description><![CDATA[Actually this has been sitting around in my queue for quite a while. Google announced version 8 &#8220;sneak peek&#8221; release of the AdWords API back in December. For some reason I&#8217;ve been kicked off the AdWords API newsgroup. It might just have been a technical problem, but I had also been posting about our shabby [...]]]></description>
			<content:encoded><![CDATA[<p>Actually this has been sitting around in my queue for quite a while.  Google announced <a href="http://www.google.com/apis/adwords/developer/releasenotes.html">version 8</a> &#8220;sneak peek&#8221; release of the AdWords API <a href="http://adwordsapi.blogspot.com/2006/12/api-version-8-sandbox-sneak-peek.html">back in December</a>.  For some reason I&#8217;ve been kicked off the <a href="http://groups.google.co.uk/group/adwords-api">AdWords API newsgroup</a>.  It might just have been a technical problem, but I had also been posting about our shabby treatment at the hands of Google, particularly with respect to the new quota system which is devouring any hope of making a profit.  So anyway, it took me quite a while to get back on that list &#8212; strangely my subscribe requests just silently didn&#8217;t work.  So I missed the original announcement, but once I found out about v8, it was only a matter of an hour of work to recompile against Google&#8217;s <a href="http://www.google.com/apis/adwords/developer/adwords_api_classref.html">newest WSDL files</a>.  <a href="http://perl.plover.com/yak/typing/">Strong typing</a>, see, it really matters.</p>
<p>You probably don&#8217;t want to upgrade.  The main reason is the &#8220;sneak peek&#8221; only works in the sandbox, and we don&#8217;t know if Google will go and release a &#8220;version 9&#8243; when they&#8217;re ready to go live.  On the other hand it has some potentially useful features.  I&#8217;ve souped up the command line tools considerably, and this version does the Right Thing when presented with mobile ads and other &#8220;new&#8221; AdWords features.</p>
<p>So FWIW here is <a href="http://merjis.com/developers/adwords_toolkit">the Merjis AdWords Toolkit 2.8.0</a>.</p>
 <img src="http://blog.merjis.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=88" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.merjis.com/2007/01/05/merjis-adwords-toolkit-280-released-supports-api-version-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AdWords Bulksheets To Disappear</title>
		<link>http://blog.merjis.com/2006/12/13/adwords-bulksheets-to-disappear/</link>
		<comments>http://blog.merjis.com/2006/12/13/adwords-bulksheets-to-disappear/#comments</comments>
		<pubDate>Wed, 13 Dec 2006 09:50:56 +0000</pubDate>
		<dc:creator>Jeremy Chatfield</dc:creator>
				<category><![CDATA[advert automation]]></category>
		<category><![CDATA[adwords]]></category>
		<category><![CDATA[API]]></category>

		<guid isPermaLink="false">http://blog.merjis.com/2006/12/13/adwords-bulksheets-to-disappear/</guid>
		<description><![CDATA[Several rumours that AdWords bulksheet uploads are to disappear are confirmed in an email to us yesterday from Google Support. We&#8217;re to use the AdWords Editor instead. Curiously Google didn&#8217;t recommend using the AdWords API. Also missing was any announcement about a non-Windows version of the AdWords Editor. We use Windows purely for QA. Everyone [...]]]></description>
			<content:encoded><![CDATA[<p>Several rumours that AdWords bulksheet uploads are to disappear are confirmed in an email to us yesterday from Google Support.  We&#8217;re to use the AdWords Editor instead. Curiously Google didn&#8217;t recommend using the AdWords API. </p>
<p>Also missing was any announcement about a non-Windows version of the AdWords Editor. We use Windows purely for QA. Everyone here has a Mac or Linux box. Windows systems exist to check how MSIE6 and MSIE7 mangle standards compliant CSS. </p>
<p>We&#8217;ve mostly replaced our usage of bulksheet uploads with the API. However, bulksheets offer another function that Google probably hasn&#8217;t understood. If a client wants to mess with their account (e.g. it is quicker for them to indicate a stock outage by manually pausing a campaign or AdGroup than by phoning us and having us pause it) then they make changes that can&#8217;t be easily picked up in Google AdWords reports. &#8220;Invisible&#8221; changes, changes that don&#8217;t result in impressions, have to be picked by something that looks at the whole account.  A bulksheet download does that, even though &#8220;Bulksheet download&#8221; isn&#8217;t an API operation, and must be done by hand. This download saves a crawl of the entire data structure to synchronise with manual changes. A crawl of a large account can cost a few dollars. So a bulksheet download represents a cost saving over the API of hundreds of dollars a year per account. Even for a small advertiser, using bulksheets to synchronise might represent a budget savings of about 5%. Money that could be usefully spent on adverts rather than overcoming a design defect in the API (or, less charitably, a further way to tax API usage).  </p>
<p>Google isn&#8217;t really good on side effects, yet. Sigh. </p>
<p>p.s. this article written in a hurry &#8211; links will be added in an update.</p>
 <img src="http://blog.merjis.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=71" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.merjis.com/2006/12/13/adwords-bulksheets-to-disappear/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Confirmed: Web Analytics Packages Really Don&#8217;t Help Marketers</title>
		<link>http://blog.merjis.com/2006/12/08/confirmed-web-analytics-packages-really-dont-help-marketers/</link>
		<comments>http://blog.merjis.com/2006/12/08/confirmed-web-analytics-packages-really-dont-help-marketers/#comments</comments>
		<pubDate>Fri, 08 Dec 2006 12:34:58 +0000</pubDate>
		<dc:creator>Jeremy Chatfield</dc:creator>
				<category><![CDATA[advert automation]]></category>
		<category><![CDATA[adwords]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[conversion]]></category>
		<category><![CDATA[web analytics]]></category>

		<guid isPermaLink="false">http://blog.merjis.com/2006/12/08/confirmed-web-analytics-packages-really-dont-help-marketers/</guid>
		<description><![CDATA[I&#8217;ve been telling customers for years that web analytics packages are essentially mired in a technologists view of performance, not marketing. Now the larger agencies are starting in on the analytics vendors. We&#8217;ve developed our own, behind-the-scenes sets of analytics to identify user behaviour and optimise paid search marketing. If you can&#8217;t identify average pages [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been telling customers for years that web analytics packages are essentially mired in a technologists view of performance, not marketing. Now the <a href="http://blog.searchenginewatch.com/blog/061205-100714">larger agencies are starting in</a> on the analytics vendors. </p>
<p>We&#8217;ve developed our own, behind-the-scenes sets of analytics to identify user behaviour and optimise paid search marketing. If you can&#8217;t identify average pages browsed by paid search source and keyword, or calculate an ROI using changing bids, what are you doing? </p>
<p>Some leading packages that we&#8217;ve used don&#8217;t even separate the type of match on AdWords, blending the separable performance of exact, phrase and broad match. All too frequently concurrent or sequential A/B testing of copy (advert or landing page) is extremely complex or even impossible, an appalling state for this most basic marketing activity. </p>
<p>Actually, I guess I should be mourning this &#8211; we&#8217;ve been doing this stuff for ourselves, for our small client base, for a few years. Now others will get in on the game!</p>
 <img src="http://blog.merjis.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=69" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.merjis.com/2006/12/08/confirmed-web-analytics-packages-really-dont-help-marketers/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Merjis AdWords Toolkit 2.7.0</title>
		<link>http://blog.merjis.com/2006/11/14/merjis-adwords-toolkit-270/</link>
		<comments>http://blog.merjis.com/2006/11/14/merjis-adwords-toolkit-270/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 14:19:37 +0000</pubDate>
		<dc:creator>rich</dc:creator>
				<category><![CDATA[adwords]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[ocaml]]></category>

		<guid isPermaLink="false">http://blog.merjis.com/2006/11/14/merjis-adwords-toolkit-270/</guid>
		<description><![CDATA[Yet again we beat everyone else with an update to support version 7 of the API. This is largely because the OCaml programming language makes things easy &#8212; comprehensive strong type checking picks out all the places where you need to change the code, and it&#8217;s just a matter of making a few quick edits. [...]]]></description>
			<content:encoded><![CDATA[<p>Yet again we beat everyone else with an update to support <a href="http://adwordsapi.blogspot.com/2006/11/api-version-7-now-available.html">version 7 of the API</a>.  This is largely because the OCaml programming language makes things easy &#8212; comprehensive strong type checking picks out all the places where you need to change the code, and it&#8217;s just a matter of making a few quick edits.</p>
<p>You can grab the <a href="http://merjis.com/developers/adwords_toolkit">Merjis AdWords API toolkit here</a>.</p>
<p>You will need the <a href="http://merjis.com/developers/oc-soap<br />
">latest OC-SOAP</a>.</p>
<p>This also includes <a href="http://groups.google.co.uk/group/adwords-api/msg/32b3bf42739e0cbb">per-client quota logging</a> to support Google&#8217;s insane new API charges which they actually introduced, against all reasonable expectations.</p>
 <img src="http://blog.merjis.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=59" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.merjis.com/2006/11/14/merjis-adwords-toolkit-270/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

