Yes, you would think it would be that simple, but it’s definitely not.
Advertisers will give you double click (by google), atlas (Facebook), mediamind, etc tags m, to deliver as the ad. They will load in god knows what JS into their little space and (I cannot stress this enough), advertisers love their gimmicky little iteractable/expandable, engagement-filled ads.
To boot, they’re all laden with code to detect what publishers/sites/apps you’re displaying on, how much of the ad is viewable on screen and for how long, every scrap of code they can possibly fit in there to identify the user down to the finest grain they can manage.
You would think that things needn’t be this complex, but ad-tech companies have done a wonderful job of convincing advertisers that “targeted advertising is definitely better, and you definitely invest the extra cost in it, and definitely do all these other things because if you don’t then you’re totally falling behind your competitors, who are totally scraping every bit of data from their users, so you’d be a loser not to do the exact same thing and ~give all that dats to us.~ Sorry, make “valuable use” of all that data”.