You can create up to 4 variants per campaign. Leads are randomly assigned to variants based on distribution percentages when the campaign launches.
Campaign Status and Variant Updates
Variants can be updated on both DRAFT and PAUSED campaigns viaPUT /campaigns/{campaign_id}, but the behavior differs:
When updating variants on a PAUSED campaign:
- Existing variants are matched by
variant_nameand updated in place (preserving IDs and analytics) - New variant names are created
- Variant names omitted from the request are deleted
ACTIVE campaigns must be paused first before updating variants. Use
POST /campaigns/{campaign_id}/pause to pause, then update, then POST /campaigns/{campaign_id}/activate to resume.Configuring Variants
Variants are provided in thevariants array when updating a campaign via PUT /api/public/v1/campaigns/{campaign_id}:
- Python
- JavaScript
Variant Fields
Distribution percentages must sum to exactly 100%. If configuring variants, the API validates this on every update.
Subject Line Best Practices
- Keep it concise — 40-60 characters for optimal display
- Focus on value — Lead with a benefit or question
- Personalize — Use
{{first_name}}or{{company}} - Avoid spam triggers — No ALL CAPS, excessive punctuation, or words like free, urgent
Testing Different Approaches
Test one element at a time:Compare variant performance after 7-14 days to reach statistical significance.
Next Steps
Follow-up Sequences
Set up automated follow-up emails.
Personalization
Use variables and conditionals for personalized content.

