I seem to have read somewhere (but I can't remember where) that Google does not provide the search keywords IF (and only if) the link is plain HTTP. However, if the link is HTTPS, you would have received the keywords.
To put it more simply:
Google user on HTTPS -> HTTP link => keywords hidden
Google user on HTTPS -> HTTPS link => keywords disclosed.
If that were true, the solution would be to go the SSL way. This needs to be confirmed though.
EDIT I learnt from http://googleblog.blogspot.fr/2011/10/making-search-more-secure.html that some ISPs used to sniff the searches performed by users in order to insert their own ads into Google's search pages… I can only agree with Google even if this were their real motive and they hid it behind privacy concerns./EDIT
To put it more simply:
Google user on HTTPS -> HTTP link => keywords hidden
Google user on HTTPS -> HTTPS link => keywords disclosed.
If that were true, the solution would be to go the SSL way. This needs to be confirmed though.
EDIT I learnt from http://googleblog.blogspot.fr/2011/10/making-search-more-secure.html that some ISPs used to sniff the searches performed by users in order to insert their own ads into Google's search pages… I can only agree with Google even if this were their real motive and they hid it behind privacy concerns./EDIT