Assuming you have the EMS version with online marketing,you may be able to use automated marketing and set up a process that will capture this and add the value to the user/contact. It would be worth looking into because you wouldn't have to custom code anything, plus, you could modify it and create others that run in parallel. If you don't have the EMS version, then Romans method will work and be a pretty simple implementation.