A client data convar is like a replicated convar, except instead of being replicated from the server to the clients, it's replicated from each client to the server.
When the value changes on the client it is sent to the server.
These values are accessible on the server for each client using Client.GetUserString( "var_name" ).
You can also store your convar as a member on an Entity (ie - not a static)
This works pretty much the same, except on both the server and client it can be accessed directly.