When you save preferences, where are the preferences persisted to??
A: See the docs for preferencePersistenceMode
String value "server" or "client". When this property is set to client(default), the grid uses a shared object on the client to store preference settings. When it is set to server, the grid fires an event, preferencesChanged, which contains a XML string representation of the preference values. This can then be persisted on the backend, tied to a specific user id.

While you are at it, also review
String value that uniquely identifies this grid across the application. If you have multiple grids' with enablePreferencePersistence, and they happen to share the same value for the id field, e.g. id="grid1" they might overwrite each others' preferences. To combat this situation, we provide a property, which defaults to the id of the grid, but you can override to provide a globally unique key.