Campaigns

Organizing content into themes

Campaigns handle different types of posts and let you configure which social channels each campaign can post to. They're your content strategy organizers.

What is a Campaign?

A campaign defines a specific content type or initiative with its own:

  • Post Type - What kind of content (blog posts, product updates, educational)
  • Target Channels - Which Social Accounts it posts to
  • Start Date - When the campaign begins
  • End Date - When it ends (or runs indefinitely)
  • Duration - The campaign's lifespan

Channel Configuration

The key feature of campaigns is per-campaign channel targeting. You decide which social accounts receive content from each campaign:

Example Campaign Setup

📝 "Blog Promotion" Campaign
Posts to: Twitter, LinkedIn, Facebook
Running: Jan 1 - Dec 31 (ongoing)
🎬 "Video Content" Campaign
Posts to: YouTube, TikTok, Instagram
Running: Mar 1 - Jun 30
💼 "B2B Thought Leadership" Campaign
Posts to: LinkedIn only
Running: Ongoing (no end date)

Why Use Campaign Channel Targeting?

  • Right Content, Right Platform - Professional content to LinkedIn, casual to Twitter
  • Visual vs Text - Image-heavy campaigns to Instagram/Pinterest only
  • Audience Segmentation - B2B content to LinkedIn, B2C to Facebook/Instagram
  • Prevent Cross-Posting - Some content shouldn't go everywhere
Example: Your "Company Culture" campaign might post to Instagram, LinkedIn, and Facebook but NOT to Twitter. Your "Quick Tips" campaign might only go to Twitter.

Campaign Types

Common campaign types based on content purpose:

📝 Blog Promotion

Sharing blog content across platforms

Channels: Twitter, LinkedIn, Facebook

🎉 Product Launch

Limited-time campaign with start/end dates

Channels: All platforms

📸 Visual Content

Image and video focused posts

Channels: Instagram, Pinterest, TikTok

💼 B2B Content

Professional, industry-focused posts

Channels: LinkedIn only

Creating Campaigns

Set up a campaign with channel targeting:

  1. Go to Console → Campaigns
  2. Click Create Campaign
  3. Enter campaign name and description
  4. Set start date (when campaign begins)
  5. Set end date (or leave blank for ongoing)
  6. Select target channels - Choose which social accounts this campaign posts to
  7. Save campaign

Campaign Duration

Campaigns can run for any length of time:

  • Short-term: Product launch (2-4 weeks)
  • Medium-term: Seasonal campaign (3 months)
  • Long-term: Quarterly initiatives (3-6 months)
  • Ongoing: Evergreen content (no end date)
When a campaign ends, posts assigned to it won't be scheduled anymore. Make sure to extend or renew campaigns if you want them to continue.

How Schedules Use Campaigns

The Schedules system reads campaign settings to optimize your posting strategy:

  1. You assign posts to campaigns
  2. Each campaign defines its target channels
  3. Schedules only posts campaign content to those specific channels
  4. Content respects campaign start/end dates
  5. Analytics are tracked per campaign for ROI measurement

Campaign Status

Track campaign lifecycle:

  • Scheduled - Start date is in the future
  • Active - Currently running, between start and end dates
  • Completed - Past end date, no longer scheduling posts
  • Paused - Temporarily stopped, can be resumed
  • Draft - Not yet launched, in planning phase

Campaign Analytics

View performance metrics per campaign to measure ROI:

  • Total posts published in this campaign
  • Engagement by channel (which platforms performed best)
  • Total reach and impressions
  • Click-through rate
  • Best performing post in the campaign
  • Cost per engagement (for paid campaigns)

API Usage

Create campaigns with channel targeting via the API:

POST /v1/workspaces/{id}/campaigns/
{
  "name": "Q1 2024 Blog Promotion",
  "description": "Share blog content to drive traffic",
  "start_date": "2024-01-01",
  "end_date": "2024-03-31",
  "social_account_ids": [123, 456, 789],  // Twitter, LinkedIn, Facebook
  "post_type": "blog_promotion"
}

// Assign posts to the campaign
POST /v1/workspaces/{id}/posts/
{
  "content": "Check out our latest article...",
  "campaign_id": 123
  // Posts automatically to the campaign's target channels
}