This may be a pretty basic question, but how exactly does AdSense determine which ads to display? Is it in realtime based on page content, or after spidering the page periodically?
My thought is to parse out the search engine query string (i.e. keywords used during search) and somehow incorporate them into the web page... the idea being to target the ads even better than they are now.
If AdSense works in real time, this may work. If not, then it won't.
In my site (a home business magazine), ads are almost real time. I am lucky not to get any PSAs on any of my pages, and I get targeted ads almost immediately as soon as the page is loaded.
The only change in the pattern for my site was for this page on "Frugal Marketing Strategies" where my leaderboard got only 1 ad and that ad has the word frugal. I immediately changed the title and removed "Frugal" and left "Marketing Strategies" and 4 targeted ads were immediately shown on the page. That led me to think that titles may be the first and foremost basis of Adsense ads, rather than the content.
I think adsense uses at least three sources of information to target the ads. If googlebot has seen the page, they can use the text of the page to target ads. Otherwise if the site is know to google, google might have decided on an overall site theme, and use that to target the ads. In lieu of that, it might use keywords in the domain name and filename to guess the theme.
From my experience, google spiders the index page and uses the topic of that page for ads on new pages when it hasn't spidered the site fully.
I have also noticed that it like to put up ads with the topic the same as links on the page. i.e. my page links to a page about red widgets with red widgets in the anchor text and google serves ads about red widgets on that page (not the target page).