I have problem with adsense. Many untargeted ads, I wonder if it's because my meta description or meta keyword. I want to ask, how can google knows our website category?
They don't. Adsense ads are targeted by keywords not by category. Make sure that you've included relevant keywords in your page titles, headers, text, etc.
Google does not know the category of your website, but Google knows what is written on your webpages. Just like name of Google AdSense, Google sense the contents of pages and display relevant ads to the keywords that you have used on those pages.
Adsense has good repute to deliver targeted ads. You may need to add some content to your pages. And allow sometime to visit your site by adsense bots.
for the last couple of months, adsense targeting has gotten extremely bad. i think that it's due in part to changes in adwords: "With broad match, the Google AdWords system automatically runs your ads on relevant variations of your keywords, even if these terms aren't in your keyword lists. Keyword variations can include synonyms, singular/plural forms, relevant variants of your keywords, and phrases containing your keywords." http://adwords.google.com/support/bin/answer.py?hl=en&answer=6136 if you have even one keyword on a page, it can be targeted by the advertisers regardless of the rest of the content on the page. the only cure for this is to implement adsense section targeting on your pages that have targeting issues.
Use Adsense section targeting <!-- google_ad_section_start --> <!-- google_ad_section_end --> What is section targeting and how do I implement it?
I honestly think it does. Google must use all the information on the page to find out what is relevant. Rob