fix: credit tracking, voice clone TTL, avatar upload ui, asset serving fallback, OAuth encryption, free plan video renders, backlink outreach sprint
This commit is contained in:
108
docs-site/docs/features/backlink-outreach/campaign-management.md
Normal file
108
docs-site/docs/features/backlink-outreach/campaign-management.md
Normal file
@@ -0,0 +1,108 @@
|
||||
# Campaign Management
|
||||
|
||||
Campaigns are the top-level organizational unit for backlink outreach. Every lead, email, attempt, reply, and analytics data point belongs to a campaign.
|
||||
|
||||
## Creating a Campaign
|
||||
|
||||
A campaign requires only a name. Add a description and keywords to make discovery and reporting easier.
|
||||
|
||||
**API:** `POST /api/v1/backlink-outreach/campaigns`
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "SaaS Growth Blogs Q3",
|
||||
"description": "Outreach to SaaS marketing blogs for guest post placements",
|
||||
"keywords": ["SaaS", "growth marketing", "B2B"]
|
||||
}
|
||||
```
|
||||
|
||||
**UI:** Navigate to **Backlink Outreach → Campaigns → + New Campaign**.
|
||||
|
||||
!!! tip "Naming conventions"
|
||||
Use a consistent naming scheme like `[Vertical] [Content Type] [Period]` — e.g., "Fitness Guest Posts June" or "AI Startups Roundup Q3".
|
||||
|
||||
## Campaign List View
|
||||
|
||||
The campaign list shows:
|
||||
- **Name** and description
|
||||
- **Lead count** broken down by status
|
||||
- **Creation date**
|
||||
- **Quick actions**: Add leads, view analytics, manage templates
|
||||
|
||||
## Campaign Detail View
|
||||
|
||||
Click a campaign to see its full detail:
|
||||
- **Leads tab**: All leads with status, quality score, and actions.
|
||||
- **Email tab**: Compose and preview outreach emails.
|
||||
- **Outreach tab**: Send emails, view attempts, manage follow-ups.
|
||||
- **Inbox tab**: Replies with auto-classification tags.
|
||||
- **Analytics tab**: Campaign-specific charts and metrics.
|
||||
|
||||
## Managing Leads
|
||||
|
||||
### Adding Leads
|
||||
|
||||
**Single lead:**
|
||||
`POST /api/v1/backlink-outreach/campaigns/{campaign_id}/leads`
|
||||
|
||||
```json
|
||||
{
|
||||
"website_url": "https://example.com",
|
||||
"website_title": "Example Marketing Blog",
|
||||
"contact_email": "editor@example.com",
|
||||
"quality_score": 0.85,
|
||||
"relevance_score": 0.72,
|
||||
"guest_post_likelihood": 0.65,
|
||||
"source": "manual"
|
||||
}
|
||||
```
|
||||
|
||||
**Bulk add:**
|
||||
`POST /api/v1/backlink-outreach/campaigns/{campaign_id}/leads/bulk`
|
||||
|
||||
Send an array of lead objects to add multiple leads at once.
|
||||
|
||||
### Updating Lead Status
|
||||
|
||||
Lead status lifecycle:
|
||||
|
||||
```mermaid
|
||||
stateDiagram-v2
|
||||
[*] --> discovered
|
||||
discovered --> contacted: Send outreach email
|
||||
contacted --> replied: Lead replies (interested)
|
||||
contacted --> bounced: Email bounced / not interested
|
||||
replied --> placed: Backlink published
|
||||
replied --> lost: Lead declined after reply
|
||||
placed --> [*]
|
||||
lost --> [*]
|
||||
bounced --> [*]
|
||||
```
|
||||
|
||||
**Single update:** Click the status button on a lead card.
|
||||
|
||||
**Bulk update:** Select multiple leads → choose new status → confirm.
|
||||
|
||||
!!! warning "Bulk status updates"
|
||||
Bulk updates may partially fail. If some leads can't be updated, the response includes a `failed` list and the UI shows a warning toast with the count of failures.
|
||||
|
||||
## Deleting a Campaign
|
||||
|
||||
`DELETE /api/v1/backlink-outreach/campaigns/{campaign_id}`
|
||||
|
||||
!!! warning "Irreversible"
|
||||
Deleting a campaign removes all associated leads, attempts, replies, and analytics data. This action cannot be undone.
|
||||
|
||||
## Campaign Organization Best Practices
|
||||
|
||||
| Practice | Why |
|
||||
|---|---|
|
||||
| One campaign per vertical | Keeps leads relevant and analytics clean. |
|
||||
| Add keywords at creation | Powers better discovery queries later. |
|
||||
| Review leads before sending | Avoid wasting daily caps on low-quality leads. |
|
||||
| Archive completed campaigns | Keeps the campaign list manageable. |
|
||||
| Use consistent naming | Easier to find and compare campaigns later. |
|
||||
|
||||
---
|
||||
|
||||
*Next: [Discovery](discovery.md) — finding opportunities with AI-powered search.*
|
||||
Reference in New Issue
Block a user