Google has been, for some time, showing Adwords ads on advanced search queries that should not have matched those ads.
For example, if you do an advanced search for flowers, but limit the domain to stanford.edu only, you will still see lots of ads totally unrelated to that query (since the query explicitly said I only want to see pages from within stanford.edu).
http://www.google.com/search?q=flowers+site:stanford.edu
So you can see in image above, that the first three sponsored results (way up there, in the north of the page, above the real web results) have nothing to do with stanford.edu, yet they are displayed prominently in that location. However, you note of course that the first natural result is indeed a good hit and is within the stanford.edu domain.
If you try the same query on yahoo search, you will notice that we do not show the ads in this case:
http://search.yahoo.com/search?va=flowers&vs=Stanford.edu
Another typical query, that Google shows ads for when they shouldn’t, is when negative words are used in the query. For example, the query “flowers -ftd” should return results that do not have ftd. However, when done on Google you will notice that the sponsored ads still have the ftd result (its actually the first result in the screenshot below), that is despite clear indication from the user that he/she does not want to see ftd stuff (the natural results section behaves properly):
http://www.google.com/search?q=flowers -ftd
But if you do the same query on yahoo search, you will notice that we do not display any sponsored ads in that case, since we know that the user is doing advanced research queries and does not want to be distracted with ads.
http://search.yahoo.com/search?p=flowers -ftd
So the conclusion is, when doing advanced searches, you are better off using yahoo search to avoid irrelevant sponsored results showing up above the natural results 😉
— amr