“Keyword not defined” means the search engine did not pass to your website the keyword used by your visitors. Search engines hide the keyword for privacy reasons. It is common that most keywords are “Not defined” after Google changes made in early 2012.

Some search engines (Google for all logged in users, DuckDuckGo, Firefox latest version now also removes keywords, etc.) may not specify the keyword used to reach your website. You’ll probably noticed this on some analytics tool reports like Piwik or Google where keyword appears as “Keyword not defined”. It means that analytics has detected that the visitor came from a search engine, but the keyword was not provided in the Referrer URL. In this case there is no way to access the keyword  used, and no other web analytics tool can get this information either.