Both have their pros and cons. For instance, while in-house can save you money (and effort in the long term), you will have to invest considerably at the start. First, you need to hire the right workforce and specialist, then you need to get them the right tools. This can be expensive and tedious, but if you outsource them, you just need to find someone reliable and be transparent with them about your expectations.
But we will save you the trouble and conclude if you are a small business or a startup, then you should outsource digital marketing. But if you are an established business, then it’s best to get your own digital marketing team and have them work in-house.