0

My site has many, many forms and a user may fill out multiple forms in a visit. Each form filled out places the user on a specific mailing list related to their inquiry. At the end of each form, the user may also check an optional checkbox field to subscribe to a more general mailing list.

I can design the form in two ways.

(1 If the user checks the box, it saves the user data as "Yes" in the database under subscribed_to_newsletter. If it's unchecked, no value is saved or written.

(2 If the user checks the box, the same as above. If unchecked however, the value of "No" is saved to the database.

The subtle difference is that in example #1 if someone initially fills out a form and subscribes to the optional mailing list, and later fills out another form and doesn't check the box a second time, it won't overwrite the "Yes" with a "No". The "Yes" value will be left alone.

My thoughts from a user's perspective is that I don't expect a "Sign up form" to also function as an "Unsubscribe" form through omission of a field. As we already have an unsubscribe form which all of the emails we send out have a clear "Unsubscribe" link to, I feel like that's sufficient.

I'm looking for opinions, consensus or best practices that would apply.

1 Answer 1

0

My thoughts from a user's perspective is that I don't expect a "Sign up form" to also function as an "Unsubscribe" form through omission of a field.

You already have identified the expected behavior. A sign-up checkbox is not an unsubscribe button. The rest of this question is your programmer brain getting in the way of that - it doesn't matter how you save it in the database, as long as the expected behavior remains intact.

You could even simplify things further by simply not displaying the checkbox anymore if the user already has signed up for the newsletter.

1
  • Thank you for your reply. Unfortunately no to your last sentence, as this site has no user login or tracking of users
    – timarion
    Commented Jul 10 at 16:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.