Here's an idea: instead of having ad networks design the style of the ad and insert that into your site regardless of whether it fits or not, what if they let you design your own ad with HTML and CSS?
So instead of:
<script src="https://adnetwork.com/ads.js?id=..."></script>
<div class="adnetwork_ad"></div>
What if we had:
<script src="https://adnetwork.com/ads.js?id=..."></script>
<div class="my-custom-class">
<div class="my-custom-class-image">
<img data-ad-image>
</div>
<div class="my-custom-class-content">
<div class="my-custom-class-heading">
<a data-ad-heading></a>
</div>
<div class="my-custom-class-description">
<a data-ad-description></a>
</div>
</div>
</div>
We could use data attributes to specify where the ad image, heading, and description should go, and our ad network would just plop those straight into our site without forcing their own ad format upon us.
So our above code could look like this when rendered:
<script src="https://adnetwork.com/ads.js?id=..."></script>
<div class="my-custom-class">
<div class="my-custom-class-image">
<img src="https://cdn.adnetwork.com/image.png" alt="Kybercode's Product Homepage">
</div>
<div class="my-custom-class-content">
<div class="my-custom-class-heading">
<a href="https://ad.adnetwork.com/...">Kybercode</a>
</div>
<div class="my-custom-class-description">
<a href="https://ad.adnetwork.com/...">Visit Kybercode for the best software and website articles.</a>
</div>
</div>
</div>
But there's definitely lots of things to consider.
For one, every website that you accept into the Ad Network needs to have their ad template reviewed to make sure it fits the Ad Network's guidelines.
There is also nothing really stopping website owners from changing their ad template after being reviewed, whether on accident or on purpose. Perhaps the Ad Network could use a script that detects if the HTML/CSS of the ad has changed, and if so, stop serving ads and trigger another review.
This wouldn't be easy, but I personally would love to be able to style the format of the ads ad networks give us.
Another option is to allow us to write our own custom HTML and CSS directly on the Ad Network's platform, and have them insert that onto our page.
This will give them more control over the ad while still allowing us to design our own ad template.
This isn't as cool as allowing us to write our own code in our website's source code, but is a fair trade-off.
It would also not allow us to, say, change the color of it depending on a dark mode cookie on our site. But it would still be better than using whatever they default to, I suppose.
Overall, I would just like more customization options for ads served on our sites.