This is how the ad module is designed on another site I use and it works quite well.
Just some stuff off the top of my head now.
Firstly, establishment of the advert types:
Advert Types
Advert types allow the admin to add different advert types and set the max characters for that type. Advert types will be used in the "Ads" area (bottom of this post). Advert types restrict what can be placed in that advert type.
Link
Graphic Image
Flash
Javascript
Plain Text
PHP
There are three primary areas.
Sections
A section is where the ad is placed. Each section has a code which is used in the template. It includes items like:
Section Enabled or Disabled (on/off)
Rotating (yes/no): If enabled adverts will be displaying in random order and appearance.
Max Items (NUM): how many ads are going to show in the section. Meaning - one banner, banners side by side, etc. Not how many ads are in the section but rather how many ads are showing at once.
Permissions: Who's going to see this advert?
Templates
Templates are used by the sections and include any design code that will be used, but not the ad code. Having templates to choose from depending on where in the site the ad will be placed.
Template Name
Description
Sections (dropdown) Set sections to this template.
Template content - Includes html code for the template with %content% representing the ad code.
Ads
These will be the actual ads that run on the site.
>Main Settings
Advert is Enabled? (yes/no)
Advert Name
Advert Public Title - Enter public advert name or if you select link advert type, this will anchor for this advert.
Advert Link (optional) - to be used if using the Graphic or Link advert type.
>Type & Section Settings
Advert Type (dropdown)
Advert Section (dropdown)
>Views Settings
Max. Views (num) - Set max number of views for this ad.
Views (num) - Option to set the number of views starting.
>Clicks Settings
Max. Clicks (num) - Set max number of clicks for this ad.
Current Clicks (num) - Option to set the number of clicks starting.
>Date Settings
Enable Date Start? (yes/no)
Date Start - y.m.d.h.m.s
Enable Date End? (yes/no)
Date End - y.m.d.h.m.s
---------
For the example below lets say I want to place a ad below a video on the site. I wanted it to be a mix of Google ads and an ad I sold to Coke.
First I would create a section which I would call "Ad below Video on X page". I would set the max number of items to 1 - I only want 1 ad showing up at a time. I would select "Yes" to rotate because I would want the ads to rotate.
Then I would create one or two "Templates". Lets first look at creating one template for both adverts, lets say I only need a center tag for both ads. If that's the case then one template would work fine. But lets say I wanted to add wording under the Coke ad that says "sugar is bad" but I didn't want to use that under the google ad. In this case, I would use two templates - one for each ad. The section for both ads would be "Ad below Video on X page".
Then I would create the ads for each. One would be Javascript type - Google Ads. One would be graphic Type where I would upload a banner and add a link under the "Main Settings" in the advert.
updated by @jimmy: 03/17/15 01:30:04PM