That's called a marketing agency, and they come in all shapes and sizes. If you're a very small company then there are plenty of freelancer marketers that can help you out, even if it's just to setup a basic framework for running campaigns.
An "app" would not be sufficient to handle any of the complexity here.
An "app" would not be sufficient to handle any of the complexity here.