Our policy is to record email opt-in consent each time that we are given it by a constituent. With the changes to the consent tile, once someone is already opted in, you cannot add additional instances of opting in to email on top without first opting them out of receiving email - which makes the process more longwinded (and seems wrong as they've not actually opted out at all, it's just that RENXT doesn't allow us to add additional opt-ins)
We have returned to using database view for this instead for the time being.
Coming back to this one almost a year later to add a comment to add that I am currently faced with having merged two records one with opt-in email consent overall, but opt out of email appeals and one that just had email-all types-opt out solicit code and the only way to fix this is to delete the solicit code that needs to go directly because I'm not able to add another instance of "overall opt-in, appeals opt-out". We should be able to manage this using the consent tile
We're in a similar position. We're relying on database view to record new expressions of any unchanged consent preferences – whether opted in or out of any given channel. This is essential so that we can see the most recent date each consent preference was expressed, even if it's an additional instance of the same preference.