One of our biggest customer complaints was that they received too many tickets/emails from us. Customers had no control over how we communicated to them, what we informed them about, or how frequently.
Our solution was to provide them with a way to configure communication preferences per user, device, message category, severity and channel (email, text, phone, etc.). In addition, there were preferences tha could be set by an administrator and by each user. Having this many preferences presented some challenges. It took a number of design and research iterations to figure out a design that both progressed logically and provided enough flexibility to support different personas.
Our final solution allowed Admins to set enable/disable notifications for Users, Categories and Devices at an account level and also allowed for more fine grained preferences for each user.