There's a problem with all ML-based content recommendation, whether it's advertising, movies, whatever: the people who make the content have strong opinions about what should get shown to whom and when. If those people have negotiating leverage over your organization, your business team will compromise your recommendations to placate those people. That means that after you've build this beautiful model that minimizes whatever cost function you've chosen, there will be a bevy of business rules and content-specific score adjustments that will be overlaid. Over time, this shaggy, bad-assumption-laden system will dominate the user experience, and unless your management has a vested interest in maintaining the integrity of the recommendation system, your model will eventually be lost in a sea of human-generated noise. Not that I'm bitter about this or anything.