Hi @WeronikaLi ,
These kind of attributes are better collected on user profile level as these settings could change over time, collecting them in timestamped events (e.g. events coming from Web SDK) can give you outdated status of this attribute when looking at older events in user profile.
I'd suggest you to explore below options,
1. Adobe Commerce Source Connector: If the newsletter subscription status of the users is available in Adobe Commerce then use this options to collect the needed data into AEP. You can refer to Connect Commerce data to AEP documentation.
2. HTTP API Source Connector: In case the the newsletter subscription status of the users is only available on the client side then use this information to collect that data directly in a AEP profile dataset. If you opt for this option, you should consider collecting this attribute every time user updates his preferences to have the most updated status in the profile attribute in AEP.
Cheers!