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:

javascript
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 ID
  • start_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 day
  • daily_click_limit: Maximum clicks per day
  • lifetime_impression_limit: Total impressions for campaign lifetime
  • lifetime_click_limit: Total clicks for campaign lifetime
  • status: Campaign status (active, inactive, paused)
  • comments: Internal notes about the campaign

Updating Campaign Settings

Update an existing campaign:

javascript
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 running
  • paused: Campaign is temporarily stopped
  • inactive: 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.

javascript
// 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:

javascript
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

Campaign Management Tips
  • 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

Related Topics