Layouts, frequency and in-product messages.
Five layouts cover most jobs. The mistake is using the loudest one for everything, or sending in-app at the same moment as a push.