Campaign Management for Advertisers
Learn how to create, configure, and manage advertising campaigns on the Cogniad platform.
What is a Campaign?
A campaign is a container for your advertising banners with specific targeting rules, budget settings, scheduling, and performance goals. Campaigns help you organize your advertising efforts and track performance.
Creating a Campaign
Create a new campaign using the API:
const campaign = await fetch('https://api.cogniad.com/v1/campaigns', {
method: 'POST',
headers: {
'Authorization': `Bearer ${access_token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Summer Sale Campaign',
advertiser_id: 'adv_123',
start_date: '2024-06-01',
end_date: '2024-08-31',
daily_impression_limit: 100000,
daily_click_limit: 5000,
priority: 5,
status: 'active',
comments: 'Promoting summer products'
})
});
const campaignData = await campaign.json();
Required Fields
name: Campaign name (string)advertiser_id: Your advertiser account IDstart_date: Campaign start date (YYYY-MM-DD)end_date: Campaign end date (YYYY-MM-DD)priority: Campaign priority (1-10 for contract, 0 for remnant, -1 for override, -2 for eCPM)
Optional Fields
daily_impression_limit: Maximum impressions per daydaily_click_limit: Maximum clicks per daylifetime_impression_limit: Total impressions for campaign lifetimelifetime_click_limit: Total clicks for campaign lifetimestatus: Campaign status (active, inactive, paused)comments: Internal notes about the campaign
Updating Campaign Settings
Update an existing campaign:
const updated = await fetch('https://api.cogniad.com/v1/campaigns/camp_123', {
method: 'PATCH',
headers: {
'Authorization': `Bearer ${access_token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
daily_impression_limit: 150000,
status: 'paused'
})
});
Campaign Scheduling
Campaigns can be scheduled with start and end dates. The system automatically activates campaigns on the start date and deactivates them on the end date.
Date-Based Scheduling
- Start Date: Campaign becomes active on this date
- End Date: Campaign automatically stops on this date
- Time Zone: Dates are interpreted in your account timezone
Manual Activation
You can also manually activate or pause campaigns by updating the status field:
active: Campaign is runningpaused: Campaign is temporarily stoppedinactive: Campaign is disabled
Campaign Types
Campaigns are categorized by priority:
Contract Campaigns (Priority 1-10)
Guaranteed delivery campaigns with fixed pricing. Higher priority numbers (1-10) are evaluated first. Use for direct-sold inventory with specific delivery commitments.
Remnant Campaigns (Priority 0)
Serve ads when no higher-priority campaigns are available. Used to monetize unsold inventory with lower-value ads.
Override Campaigns (Priority -1)
Highest priority campaigns that override all others. Use sparingly for special promotions or guaranteed placements.
eCPM Campaigns (Priority -2)
Performance-based campaigns that use effective CPM bidding. The system automatically optimizes bids based on performance metrics.
Campaign-Banner Association
After creating a campaign, associate banners with it. Banners inherit campaign-level settings but can have their own targeting rules.
// Create banner and associate with campaign
const banner = await fetch('https://api.cogniad.com/v1/banners', {
method: 'POST',
headers: {
'Authorization': `Bearer ${access_token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
campaign_id: 'camp_123',
name: 'Summer Banner 1',
type: 'image',
width: 728,
height: 90,
// ... other banner fields
})
});
Campaign Statistics
Retrieve campaign performance statistics:
const stats = await fetch(
'https://api.cogniad.com/v1/campaigns/camp_123/statistics?start_date=2024-06-01&end_date=2024-06-30',
{
headers: {
'Authorization': `Bearer ${access_token}`
}
}
);
const statistics = await stats.json();
// Returns: impressions, clicks, conversions, revenue, CTR, eCPM, etc.
Best Practices
- Use descriptive campaign names that reflect the campaign purpose
- Set realistic impression and click limits based on your budget
- Monitor campaign performance regularly and adjust as needed
- Use appropriate priority levels for your campaign type
- Test different campaign configurations to optimize performance
- Keep campaigns organized with clear naming conventions