Campaigns are automated posting workflows that schedule and execute Reddit posts across multiple subreddits using your connected accounts. Each campaign can target specific subreddit and account combinations, with intelligent scheduling and health monitoring.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/MatthewSabia1/SubPirate-Pro/llms.txt
Use this file to discover all available pages before exploring further.
Campaign Overview
A campaign consists of:- Account Targets: Which Reddit accounts will be used for posting
- Subreddit Targets: Which subreddits will receive posts
- Content Versions: What content will be posted (title, body, media)
- Schedule Settings: When and how often posts are made
- Run History: Record of all execution attempts and results
Creating a Campaign
Navigate to Campaigns
From the main menu, go to the Campaigns section. You’ll see your campaign dashboard with summary metrics.
Click New Campaign
Click the “New Campaign” button in the header. A creation form expands below the metrics.
Configure Basic Settings
Fill in the campaign metadata:Name (required): Descriptive campaign name (e.g., “Spring Launch Promotion”)Objective (optional): Campaign goal (e.g., “Drive profile visits from target communities”)Description (optional): Additional notes about the campaign strategyStatus: Choose initial status:
- Draft: Campaign exists but won’t run automatically
- Active: Campaign will run on schedule
- Paused: Temporarily suspended
- Completed: Campaign finished, no longer runs
Campaign Configuration
After creating a campaign, configure it using the tabbed interface:Overview Tab
Campaign Settings
- Name: Edit the campaign name
- Objective: Update the campaign goal
- Status: Change between Draft, Active, Paused, Completed
- Daily Post Target: Adjust posts per day (1-100)
- Start/End Dates: Modify campaign duration
- Description: Add strategic notes
Autopost Readiness
A visual checklist showing what’s needed for the campaign to run:Readiness Checks
- ✅ Linked Account Targets: At least one Reddit account selected
- ✅ Subreddit Targets: At least one subreddit selected
- ✅ Active Content Version: At least one content version created
- ✅ Autopost Campaign State: Campaign status is “Active” and not paused
Active Content Configuration
Configure the content that will be posted: Post Type- Text (self): Text post with title and body
- Link: URL post with title and optional body
- Image: Image post (requires media from Media Library)
- Video: Video post (requires media from Media Library)
Accounts Tab
Select which Reddit accounts will be used for posting:View Available Accounts
The tab shows all your connected Reddit accounts with:
- Username and avatar
- Karma score
- Total posts and posts today
- Selection checkbox
Select Accounts
Check the boxes next to accounts you want to use for this campaign. You can select multiple accounts.
Review Health Status
Each account shows its health status:
- Healthy (green): Account is active and ready to post
- Warning (yellow): 1-2 consecutive failures, posting continues
- Error (orange): Multiple failures, may skip posting
- Disabled (red): Account in cooldown, temporarily unavailable
Account Health and Cooldowns
The campaign system automatically manages account health:- After 1 failure: Status changes to “Warning”, posting continues
- After 2 failures: Status changes to “Error”, posting continues with caution
- After 3 failures: Account disabled for 5 minutes
- After 4 failures: Account disabled for 30 minutes
- After 5+ failures: Account disabled for 120 minutes
Subreddit Targets
On the Accounts tab, you’ll also configure subreddit targets:View Saved Subreddits
The subreddit selector shows all subreddits you’ve analyzed and saved, organized by project (if applicable).
Select Targets
Check the boxes next to subreddits where you want to post. Select multiple for broader reach.
Account-Subreddit Pairing
The campaign creates all possible combinations of your selected accounts and subreddits: Example:- 3 selected accounts (u/account1, u/account2, u/account3)
- 2 selected subreddits (r/subreddit1, r/subreddit2)
- Result: 6 pairings:
- u/account1 → r/subreddit1
- u/account1 → r/subreddit2
- u/account2 → r/subreddit1
- u/account2 → r/subreddit2
- u/account3 → r/subreddit1
- u/account3 → r/subreddit2
Members Tab
Manage team collaboration on this campaign:Inviting Members
Enter Email and Role
Input the team member’s email address and select their role:
- Admin: Full campaign management except deletion
- Editor: Can edit content and settings
- Viewer: Read-only access to campaign and results
Send Invite
Click “Invite Member”. An invite token is generated.Note: Email delivery is planned for a future release. Share the invite token manually with your team member.
Campaign Roles
Admin
Can do everything except delete the campaign:
- Edit all campaign settings
- Manage accounts and targets
- Create and edit content versions
- Run and pause campaigns
- Invite and manage members
Editor
Can modify campaign content:
- Edit campaign details
- Change account and subreddit targets
- Create content versions
- Cannot invite members or run campaigns
Viewer
Read-only access:
- View campaign settings
- See run history and results
- Check account health status
- Cannot modify anything
Runs Tab
View and manage campaign execution history:Run History List
All campaign runs are listed with:- Run Type: Manual (user-triggered) or Scheduled (automatic)
- Status:
- Queued: Waiting to execute
- Running: Currently posting
- Completed: Finished successfully
- Failed: Errors prevented completion
- Canceled: Stopped before completion
- Timestamps: When scheduled, started, and ended
- Attempt Metrics: Target, executed, failed, skipped
- Shortfall: Number of posts below target
Run Detail View
When you select a run, you see: Run Summary- Configuration snapshot (what settings were active)
- Overall success/failure metrics
- Timing information
- Account used (username)
- Subreddit target
- Content version
- Status (posted, failed, skipped, deduped)
- Error messages (if failed)
- Reddit post ID (if successful)
- Retry count
- Run started/ended events
- Account health changes
- Posting successes/failures
- Pause/resume actions
- System warnings
Settings Tab
Advanced campaign configuration: Timezone Set the timezone for campaign scheduling (IANA format, e.g., “America/New_York”). Determines when “daily” resets and posting times. Jitter Seconds Randomize posting times by up to this many seconds. Helps posts appear more natural (e.g., 300 = ±5 minutes). Carry-Over Enabled If enabled, unmet daily post targets carry over to the next day. If disabled, each day starts fresh. Pause Requested (Read-only, set via campaign status) Indicates if the campaign should pause after the current run completes.Running Campaigns
Manual Runs
Trigger a campaign run immediately:Click Preview & Run
On the campaign detail page or campaigns list, click “Preview & Run” or “Run now”.
Review Preview
A confirmation dialog shows:
- Campaign name and run date
- Target attempts (how many posts will be made)
- Account/subreddit pair count
- Remaining posts today
- Carry-over from previous days
- Warnings and skips (if any)
- No account targets selected
- No subreddit targets selected
- No active content version created
- Daily post target already met (0 attempts needed)
Automated Scheduling
Campaigns with status “Active” run automatically: How It Works- Scheduler: A cron job runs every minute (Vercel cron at
/api/internal/campaigns/dispatch) - Eligibility Check: Looks for campaigns that:
- Have status “Active”
- Have not requested pause
- Are within start/end date range
- Have not met today’s post target
- Have no queued or running executions
- Queue Run: Creates a campaign run with status “Queued”
- Execute: Run processes attempts in sequence, posting to Reddit via connected accounts
- Update Metrics: Campaign run records success/failure counts and shortfall
- Posts today counter resets to 0
- Shortfall from previous day carries over (if carry-over enabled)
- New runs scheduled to meet daily target
Pause and Resume
PausingClick Pause Button
On the campaign list or detail page, click the “Pause” button (available when status is “Active”).
Complete In-Flight Run
If a run is currently executing, it completes the current attempt before stopping. Future attempts are skipped.
Content Versioning
Campaigns support multiple content versions:Creating Versions
Each time you click “Save New Content Version” in the Overview tab:- Deactivate Previous: The currently active version is marked inactive
- Increment Version: A new version number is assigned (1, 2, 3, etc.)
- Activate New: The new version becomes active immediately
- Snapshot Saved: All content details are stored with the version
Version History
All versions are preserved. You can:- View all past versions in the campaign detail
- See which version was used for each campaign run
- Understand how content evolved over time
- (Future) Reactivate old versions
Active Version
Only one content version can be active at a time:- Active version is used for all new campaign runs
- Run history shows which version was active when that run executed
- Changing active version doesn’t affect queued runs (they use snapshot)
Media Library Integration
For image and video campaigns, link media assets from the Media Library:Link to Campaign
On the campaign detail Overview tab:
- Select media from the “Available Media” dropdown
- Click “Attach Media”
- Media is linked to the campaign
Set Rotation Mode
Choose how media is selected:
- Sequential: Cycles through media in order (1, 2, 3, 1, 2, 3…)
- (Future) Random, weighted, or conditional modes
- If no media is linked, the
link_urlfield is used as fallback - The post becomes a link post instead of direct media
- This allows flexibility in content strategy
Campaign Metrics
The campaigns dashboard shows aggregate metrics:Campaign Status Summary
- Total Campaigns: All campaigns you’ve created
- Active: Currently running on schedule
- Draft: Created but not running
- Paused: Temporarily suspended
- Completed: Finished campaigns
Execution Metrics
- Queued Runs: Pending executions across all campaigns
- Shortfall: Total unmet post targets across campaigns
- Unhealthy Accounts: Accounts in warning, error, or disabled state
Per-Campaign Metrics
Each campaign card shows:- Status Badge: Visual indicator of campaign state
- Date Range: Start to end date
- Daily Target: Posts per day
- Linked Assets: Number of media items attached
- Queued Runs: Pending executions for this campaign
- Shortfall: Unmet posts from yesterday
- Unhealthy Accounts: Problem accounts in this campaign
Troubleshooting Campaigns
Campaign Won’t Run
Check Readiness- Verify all 4 readiness checks are green in the Overview tab
- Ensure status is “Active” and not “Paused”
- Confirm start date is today or in the past
- Check that daily post target isn’t already met
- Campaign runs every minute if conditions are met
- Manual runs bypass scheduling checks
- Look at run history to see if runs are being created but failing
Posts Failing
Account Issues- Check account health status on Accounts tab
- If disabled, wait for cooldown to expire
- Verify Reddit account is still connected in Reddit Accounts page
- Ensure account has sufficient karma for target subreddits
- Verify content meets subreddit rules (check analysis)
- Ensure media URLs are accessible if using image/video posts
- Check that link URLs are valid and not blacklisted
- Review error messages in run attempt logs
High Shortfall
Causes- Not enough account/subreddit pairings to meet daily target
- Accounts frequently hitting cooldowns or errors
- Subreddit restrictions preventing posts
- Posts being removed quickly (appears as success, but isn’t)
- Add more account targets
- Add more subreddit targets
- Reduce daily post target
- Review and fix content to comply with subreddit rules
- Check Reddit account standing (shadowbanned?)
Campaign Best Practices
Start Small
Begin with:
- 1-2 accounts
- 3-5 high-score subreddits
- Daily target of 3-5 posts
Monitor Health
Check campaign runs daily:
- Review run success rates
- Watch for account health degradation
- Read error messages in event logs
- Adjust content or targets based on feedback
Authentic Content
Even automated posts should:
- Provide genuine value
- Follow community guidelines
- Vary in wording (use content versions)
- Avoid spammy patterns
Respect Limits
Stay within Reddit’s bounds:
- Don’t exceed 5-10 posts per day per account
- Space posts across time (use jitter)
- Don’t post identical content repeatedly
- Follow each subreddit’s posting frequency rules
Use Projects
Organize campaigns by:
- Creating projects for different themes
- Grouping related subreddits
- Running separate campaigns per project
- Tracking which strategies work where
Example Campaign Setup
Goal: Launch a new SaaS product to tech communitiesCreate Project
Project name: “SaaS Product Launch Q1”Add subreddits: r/SaaS, r/startups, r/Entrepreneur, r/indiehackers
Create Campaign
Name: “Launch Week - Value Showcase”Objective: “Share our unique features to tech communities”Daily target: 5 postsDuration: 7 days
Create Content
Post type: TextTitle: “We built [Feature] to solve [Pain Point] - here’s what we learned”Body: Share authentic journey, technical challenges, lessons learned. End with subtle mention of product.
Activate
Set status to “Active”Campaign runs automatically, posting 5x/day across 4 subreddits using 2 accountsTotal: 35 posts over 7 days