A data migration throttle that supports the incremental and reversible
migration of web site customization data from a client-side data store to
a server-side data store. Initially, each user of the web site stores
customization data, such as the user's zip code, in a cookies file
together with a globally unique identifier (GUID) which identifies the
user. In order to migrate data to a server side store, the throttle is
set to a value. Each time a user contacts the web server a hash of the
user's GUID is compared with the throttle value, and the user's data is
migrated to the server if the hash value is less than the throttle value.
The throttle may be lowered, thereby causing some users to revert to
client-side storage of customization data.