Campaigns Table

This table stores all the information about campaigns.

Note that there is an analogous table, SimCampaigns, that is used during the inventory simulation.

Column Type Default Extra Comment
CampaignID int(11)   auto_increment  
AdvertiserID int(11)      
Name varchar(128)      
Status enum('Active', 'Cancelled', 'Completed', 'Inactive','Suspended') Inactive   By default, new campaigns are given a status of "Inactive". Only "Active" campaigns have their creatives scheduled. When a campaign meets its impression targets or its EndDate, it will be marked as "Complete". You can manually set a campaign to "Suspended" or "Cancelled". Campaigns with Status="Completed" or "Cancelled" do not show up in the list of campaigns.
StartDate date 0000-00-00    
EndDate date 0000-00-00    
ImpressionsGuaranteed int(11)     The number of impressions to be delivered for the campaign. If this value is set to 0, the campaign will be treated as a "house" campaign, and will run only after campaigns which have non-zero values have fulfilled their hourly targets.
ImpressionsDelivered int(11)     Each hour, the hourly maintenance script will update this value based on the number of impressions in the previous hour.
ClicksGuaranteed int(11)     not used at this point
ClicksDelivered int(11)     Each hour, the hourly maintenance script will update this value based on the number of clicks in the previous hour.
Weight int(11) 1   The weight only comes into play if ImpressionsGuaranteed=0. All campaigns with ImpressionsGuaranteed=0 will be served in numbers proportional to their Weight values.
Note text      
CPM float(10,2) 0.00   Cost per 1000 impressions for the campaign.
CPC float(10,2) 0.00   Cost-per-click for the campaign.
Fixed float(10,2) 0.00   A fixed charge associated with the campaign.
PayFixed enum('By Period', 'CIA', 'End of Campaign') End of Campaign   This field indicates how the advertiser is to be invoiced for the fixed charges. If it is "By Period", the cost will be pro-rated by number of days in each invoicing period. If it is "CIA", it will all be charged in the first invoice for the campaign. If it is "End of Campaign", it will all be charged in the last invoice for the campaign.
AgencyCommission float(10,2) 0.00   This percentage is applied to the total charges on each invoice and is subtracted from the amount due.
PurchaseOrder varchar(64)     This field allows you to specify a PO number that will appear on the invoice.
ForceInvoice enum('Y','N') N   Determines whether an invoice is to be generated for the campaign if CPM, CPC, and Fixed are all 0.
Notify text     E-mail addresses to which weekly campaign reports should be sent (separated by commas)
EvenDelivery enum('Day', 'Week', 'Month') Day   If ImpressionsGuaranteed > 0, how are the impressions to be scheduled? Should the same amount be delivered each day, each week (or fraction of a week), or each month (or fraction of a month)?
DaysOfWeek tinyint(3) unsigned 127   A bitmask indicating which days of the week the campaign should run; low bit is Sunday, high bit is Saturday.
HoursOfDay mediumint(8) unsigned 16777215   A bitmask indicating which hours of the day the campaign should run; low bit is hour 0, high bit is hour 23.