I do something which I think is similar. I offer my users the ability to add
a product to a watch list. I do not require that they create an account to
do so but I do need their email address to send them an email about the
product. I store the email address and product_id in a "watchlist" table. I
also store the user's email address in a cookie so that when they return, I
can show them their watchlist as well as pre-fill the email address in a
form. If they ever sign up, I don't really need to do anything further (but
I could).