All posts by Richard Fergie

Paid search rocks. Despite the endless debate about which is best, organic search engine optimisation (SEO) or paid search, both are hugely important aspects of online promotion.

The Golden Rules of Paid Search
Image credit: Flickr

Despite this, a survey conducted by Microsoft at the end of last year showed 59 per cent of small businesses which have a website do not have a current paid search campaign. That is incredible. For controlled bursts of marketing and the building of brand awareness, paid search can be a powerful tool.

On Tuesday I passed the Microsoft adExcellence exam so I guess I’m now qualified to talk a little bit about AdCenter and how similar/different it is from AdWords. In this post I’m going to tell you about the most useful resources for passing the adExcellence exam and then list some strengths and weaknesses of AdCenter and AdWords.

Recently Google have added an option in the campaign settings menu which allows you to choose not to show your ads on mobile phones running standard browsers. This is different to the mobile format ads; it is to do with modern phones (like the iPhone) that can view web pages with a normal internet browser.

My post about Google Analytics filters went down pretty well so I thought I’d keep the analytics bandwagon rolling and talk about how to use the new Advanced Segmentation feature to get useful data for setting advanced ad scheduling options.

For those of you who don’t know, AdWords has a feature where bids can be increased or decreased by a set multiplier based on the time and day of the week. This is really useful since for most accounts traffic at certain times and on certain days is more likely to convert so it is more valuable.

As shown in my last blog post, now that Google are using expanded broad match to trigger ads from “travel ppc” for a search query on “shooting holidays USA”, getting a comprehensive list of negative keywords is a good idea. In this post I list five good resources for finding negative keywords; some of them are not intended to be used in this way but they still give useful information about possible negative keywords.

It can be very difficult at times to find the actual search terms your PPC traffic arrives from, so this is a Google Analytics trick all advertisers should know. Google’s search query report can be useful but for high-traffic phrase or broad match keywords being told that 8 of your clicks arrived on “85 unique queries” doesn’t really give you the complete picture!

Since the introduction of expanded broad match Google can (and does) match your broad match keywords to just about anything vaguely relevant; knowing these queries is important, either to negative match them or to reduce CPCs by using an exact match. The image below really does highlight this point, notice the extremely irrelevant term “shooting holidays USA” was triggered by a broad match of travel PPC!

This report was setup last week and shows the AdWords keywords (either exact, phrase or broad match) followed by the actual search term which triggered the clickthrough in brackets:
Google AdWords search query report
(Click for full-size image)

Step by step guide on how to setup a Search Query report in Google Analytics
This information can easily be found in Google Analytics but, although the method is simple, it is not obvious; to be able to access this PPC goldmine you have to use filters. Until last week I didn’t even know the filters feature existed and even if I had I wouldn’t have been able to do the regular expressions stuff that our filters will need. For this reason I’d like to thank the Google Analytics Experts and the linklove blog for giving me some simple step by step instructions.

  • In the above case we’ve set up a new profile before messing around, just to ensure that if a mistake was made none of the data is affected. There’s an “Add a Website Profile” option on the Analytics settings page; you want to add a profile for an existing site and then name it.
  • Then you want to write the two filters; click the “Filter Manager” button and then add a filter.
  • This first filter will get the search query and place it in a user defined field. I call it “Get Search Query” but you can name it whatever you want to. Select “Custom Filter” from the filter type drop down menu and select the “Advanced” radio button. You should see some input fields named “Field A -> Extract A” and similar.
  • In the “Field A -> Extract A” drop down menu select “Referral”; this will pull out the SERP’s URL on which the ad was shown. In the box to the left on the drop down menu write “(\?|&)(q|p)=([^&]*)” without the quotation marks. This is a regular expression which extracts the search query from the SERP’s URL.
  • In the “Field B -> Extract B” drop down menu select “Campaign Medium” and write “ppc|cpc” in the box. This filters out all the organic clicks.
  • In the “Output To -> Constructor” drop down choose “Customized Field 1” and enter “$A3” in the box. This just tells Google Analytics where to store the data. Finally you need to click the button to make field B required and the one to turn off case sensitivity. Then apply the filter to your new profile.
  • The 2nd filter includes this new data in the keyword report. Again, you want to set up an advanced custom filter but this time choose “Customized Field 1” from the “Field A -> Extract A” drop down. In the box write “(.*)”
  • For “Field B -> Extract B” select “Campaign Term” to find out which of your keywords the search query matched and enter “(.*)” again in the box.
  • Finally in the “Output To -> Constructor” menu choose “Campaign Term” or wherever you want your data to go and then enter “$B1, $A1” The space after the comma means that you can export your data to a .csv and have a separate field for the actual search term.
  • If you’ve followed the steps as I’ve laid them out then the filters should be applied in the right order; if you want to check the information is there when you click to edit the new profile from the “Analytics Settings” page.

As always, it’ll be a little while before Google Analytics starts to register the new data so don’t be too impatient. Unfortunately the filters can’t be applied retrospectively so you can’t start using them on all your old data but as far as I’m concerned this is the only downside. Set up the filters and start refining your AdWords campaigns!

In my ppc for travel post from a couple of weeks ago I recommended splittester for testing ad variations. I got a bit fed up with only being able to test two ads at once and having to type the information in for each test. I though it would be a lot easier if I could do the same thing on a spreadsheet. I emailed Brian Teasley the creator of splittester, to find out what sort of statistical test he used so that I could implement it in my own spreadsheet. He offered to sell me his own spreadsheet for $950. NINE hundred and fifty dollars! Nine HUNDRED and fifty dollars! Nine hundred and FIFTY! For a spreadsheet! Brian, I could buy a bank for that.

I wasn’t going to pay $950 for a spreadsheet so I began to do my own research about statistical testing with the aim of using it for our own ads. Having read quite a few SEO blog posts on the subject I think that quite a lot of people don’t really know what they’re talking about when it comes to ad testing. Throughout this article I’m talking as if you’re optimising for CTR. The procedure for optimising for conversion rate is very similar; for impressions read clicks, and for clicks read conversions. Here are 5 of the most insidious errors:

1. You must have x clicks (mistake 1).
It isn’t a higher number of clicks that makes a result more statistically significant; the important thing, your sample size, is the number of impressions. Think of it this way; if you had an ad with 1,000,000 impressions and no clicks you wouldn’t wait for it to get a certain number (30 seems popular for some reason) of clicks before deciding it was a bad ad. In my own model I treat each impression as a Bernoulli trial with a click being a success. Then I estimate the binomial parameter p, the variance of which gets smaller as the number of impressions increases.

2. You must test two ads.
People only talk about A/B testing of adverts. You can still get valid results if you’re testing 1000 ad variations at the same time. The main problem with this is that your test would have to run for a long time to get significant results. It is also hard to say why the best ad might be best which makes it difficult to write your next ad variation.

3. Use a two-tailed test.
Some of you might not know what a two tailed test is. Imagine you have two ads called A and B that you’re testing for CTR. To test the hypothesis “A and B have different CTRs” you’d use a two tailed test to sum the probabilities that A was better than B and that B was better then A. If the test tells you your hypothesis is true what do you do? You’re no further forward because you already thought the ads would have a different CTR otherwise you wouldn’t be testing them.  To establish how sure you can be that ad A is better than ad B you must use a one tailed test. Telling someone that “You are approximately 99% confident that the ads will have different long term response rates” is useless.

4. You must have x clicks (mistake 2).
It is true that if the test runs for long enough then it will be obvious which ad is actually the best. But how long is long enough? Waiting 6 months to see if an ad with an apparent CTR of 0.5% is going to have a late surge to beat one with a CTR of 4.5% just causes your business to miss out on clicks. To solve this problem and know when a split test has been running long enough you must use a statistical test. I’d say there are three possibilities to choose from:

  • The simplest test to use is known as a z-test. To use a z-test you must assume that CTR is normally distributed and your sample size must be big enough so that the sample CTR variance is a close approximation to the true variance.
  • For small sample sizes use a t-test. Or more specifically, Welch’s t-test. This test does not assume that you know the population variance so it is a better test than the z-test. For large sample sizes the t-distribution matches the normal distribution (used in the z-test) so for large samples, since the t-test is more complicated to use, I’d use the z-test.
  • For the above two tests there is an implicit assumption that CTR is normally distributed (on a bell curve). I think this is actually the case but if you disagree let me know why on the comments below and then start using the Mann-Whitney U test. Wikipedia says that for normally distributed data a Mann-Whitney U test is 95% as good as a t-test and it is less likely to give spurious results based on outliers. I would consider using this test when the CTR is small since then anyone who clicked the ad could be considered an outlier.

5. Any difference in CTR is because of the Ad.
I haven’t seen this view all that much but its one I believed myself until quite recently. I thought that any difference between the CTR of the ads being tested must be due entirely to the difference between the ad texts. I didn’t think that one ad might’ve been shown on slightly more relevant keywords or at a time of day when it was more likely to get clicked. How do you compensate for this when you’re testing? For a useful campaign ‘in the wild’ I don’t think it is possible to completely avoid this problem; it is impractical to have only one exact matched keyword per ad group. Instead do the best you can by following AdWords best practice and using tightly grouped keywords in each ad group.

I hope to blog a bit more about ad variations and statistical testing; I’ve had some pretty weird things come up as being statistically significant. Put any questions or comments in the form below and I’ll try to address them in my next post.

It is a PPC truism the ads in the top two positions get too many “curiosity clicks” and tend to convert poorly in comparison to ads lower down the page. I guess the thinking is that people who bother to read past the first couple of lines on the SERP are serious buyers. (So much of a truism that I can’t seem to find one blog post to link to that deals with this. Maybe it is a Richard Fergie truism rather than an industry wide one).
This all seemed to make sense so I introduced position preference bidding for one of our clients last week. There was no lower limit on ad position but the ads should not have appeared higher than position 3.  In the clients own words the results were “a little grim to say the least.” Conversion rates dropped over 10%. O dear.

I should’ve used my head and done some number crunching beforehand. Instead I’ll do it now and share the results with you. I know how much you love graphs, so I’ll even throw in one of them. Just for you.
The data comes from clients that use conversion tracking and for whom I also had last months data already cached in AdWords editor. For each ad group (over 2000 in total) I’ve plotted its average ad position against its conversion rate. Conversion rates can be very different across different verticals so this figure has been expressed as a percentage of the account average. A logarithmic scale has been used for the conversion rate percentage to try and space the data points out a bit.

Kevin’s comment when he saw this was “that looks like a bit of a mess” and I think he’s right. The graph is dominated by travel pay per click campaigns and recruitment accounts which make a big cloud in the middle. There seems to be a dramatic tail off in conversion rates for the DNA testing vertical about position 5.2 but this data is from only one small account so it may not be that accurate.

So what does this mean in terms of position preference bidding? It all depends on how much you have to pay for the top spot.  As this next graph shows, there is a definite increase in traffic associated with the top ad positions (the trend is exaggerated when a logarithmic scale is not used) so the higher placed your ad the more conversions you’ll get. The trend is not as pronounced as I thought it would be, but there is a correlation there.

If the cost/conversion is low enough you stand to make a lot of money, but if the CPC pushes your cost/conversion too high then it might not be worth bidding for the top spot.

To calculate if bidding for the top spot is worthwhile you need to decide if the tighter margins you’ll get as a result of increased ad spend is worth the extra sales. In some cases it will be, in some cases it won’t. I think my first graph shows that, at least in the verticals tested, there is no sweet spot for ads where conversion rates are high and prices are cheap. It comes down to a quite simple equation; make more on a tighter margin with a higher CPC or make less but have more profit on each transaction.

My own placement preference bidding experiment was a failure; let me know if you’ve had any successful ones.

Do you do any sort of pay-per-click management for the online travel vertical? I recently attended a Google AdWords Webinar about online travel trends which they based on a ComScore study of 50,000 UK web users. Our Google rep sent me a copy of the ComScore study which I have used to bring you my top ten useful tips for running a travel PPC campaign.

  • Nearly half of all travel searches are brand related; can you afford to miss out on all this traffic? 36% of people who buy holidays use a brand search first and use a brand search immediately before purchasing so bid on branded keywords in your PPC campaigns
  • Use day parting for PPC; people are 30% more likely to purchase a holiday on a Monday or Tuesday. Increase your bids then to capture this traffic and lower them at the weekend. Only 7% of purchasers buy a holiday on a Saturday.
  • Get them early; 15.9% of purchasers buy their holiday from the first site they visit. Only 1.6% will buy immediately, but around 14.3% will return at some point for a conversion. Forget what you’ve learnt about the buying cycle; bidding on keywords that customers use in the research phase can get you a 15.9% conversion rate!
  • Make sure your URL’s are memorable; 35% of transactions occur without a search on the same day. These people must’ve seen something they liked then gone away to think about it. Make sure they can remember where they were.
  • Destinations aren’t as important as you think. 45% of online travel purchases are made without a destination search. Of course this means that 55% do use a destination related search term but I used to think that just about everybody would search for their destination at some point.
  • Save some money for January. For the last few years there has been a massive peak in travel searches every January. Look on Google Trends with the travel query of your choice. Or don’t; trust me, there will be a peak in January.
  • Ad variations are always a bit of a mystery. Test everything. Once I misspelled “hotels” as “hotsel” is an ad which turned out to have a (statistically) significantly better CTR. I thought I’d found something great so I rolled similar variations out across other ad groups. A few weeks later I checked to see what was going on, using splittester to judge which results were significant. Some ad groups it was better, some ad groups it was worse. I have no idea why. Test everything all the time.
  • Most purchasers will visit your site at least twice before purchasing; make repeat visits more likely by including new and interesting content for them.
  • Be patient. You’ve made all these changes, but on average it takes 29 days between first search and transaction for a holiday buyer. 30% of purchases occur more than 6 weeks after the initial search.
  • Don’t want to be patient? Want to get the 17% of users who purchase after only one search? Then ideally you’re from easyjet, ryanair or some other well known airline. Branded searches tend to convert quicker (63% of single search transactions are branded) so build your brand if you want the shortest gap between click and conversion

I only got to look at the study this week so there hasn’t been time to see if all of these tips really work. I’ll let you know if any big surprises come along as I collect more data.

Update: We have now published a travel SEO article which looks at how to target searchers at the right stage of the buying cycle.

On Monday, like most of the rest of the search world, I was reading the seomoz blog and marvelling at their amazing accomplishment. For those of you who don’t keep up with what’s going on, Rand and the seomoz team have built an database of 30 billion web pages including a link map with information about which links are nofollowed and the anchor text used. All this is available for only $79/month.

An Index for Everyone
On Sphinn MarkeD commented “I can see this being the next trend, private indexes for each SEO agency.” Which got me thinking about the best way to go about collecting a similar sort of data to the seomoz index whilst minimising costs. Crawling the whole web is never going to be cheap; bandwidth and storage requirements are too big, but I think that for most applications a crawl of the whole web is not necessary. Ask uses a “hubs and authorities” model of the web and Google is believed to use something similar to calculate rankings called hilltop so I believe a crawl around the main players in a site’s vertical will give most of the relevant data.

Anyone can Crawl
So how would I accomplish this? The open source search engine Nutch (used by wikipedia) has a web crawler that can gather all the data used by the linkscape tool. Nutch uses the Apache License so, if you know java you can modify the whole thing to suit your needs. Most of the Nutch documentation goes straight over my head, but there is an easier to understand review of the crawler on java.net.

The official Nutch site has a simple tutorial on how to set up a whole web crawl. By using a list of seeds that are appropriate to your vertical and a smaller crawl depth a smaller link map can be made that only considers sites in your target community. You can then apply your own metrics to this data and decide on your strategy.

Sharing the Load
But what if you don’t agree with the hubs and authorities model, or what if you think that hilltop doesn’t have much influence on most rankings? These opinions are justified; pre-hilltop Google massively outperformed Ask so the value of a search model based on web communities is debatable. What is a small SEO company to do? A single small company can’t really do very much, but many small companies can utilise the java distributed computing service hadoop (inspired by Google’s MapReduce and File System) which is well supported by Nutch. This means that as a community, SEO companies could have a comprehensive index of the web, including pretty much any information we’d like with a cost dependent on the number of participants.

$79/month? This could work out cheaper but the initial investment of time would be large; it took seomoz 12 months to set up their database and they were all working for the same company with a clearly defined goal. I don’t think my idea will survive in the wild; Rand, your investment is safe.