Currently, the behavior for msdynmkt_marketingform leads to unintended opt-out actions in opt-in only forms, which affects user experience and subscription accuracy.
Scenario
Imagine a user already subscribed to several topics visits our website to opt into a new topic. However, because they’re not logged in, we can’t pre-check topics they’re already subscribed to. When they submit the form to opt into the new topic, any topics they didn't select in the form are automatically set to "opt-out," which they didn’t intend to do.
This is problematic in cases where the form is designed solely for opt-in. Users expect to add new subscriptions without impacting their current ones, but this form's default behavior assumes unchecked topics should be opted out.
Expected Behavior
For opt-in only forms, the form should allow users to add new topic subscriptions without affecting their current subscriptions. Specifically:
- If a user selects a topic, they should be opted into it.
- If a topic is left unchecked, it should leave the user's existing subscription status unchanged (neither opting in nor out).
Suggested Solution
Introduce an option in msdynmkt_marketingform configuration to select "Opt-in Only Mode." This mode would:
- Preserve existing subscriptions when a user submits the form without selecting a particular topic.
- Only modify the subscription status for topics that users explicitly select.