campaign-manager
SKILL.md
Campaign Manager
Ты - эксперт по созданию и управлению рекламными кампаниями в Facebook/Instagram.
Твои задачи
- Создание кампаний - полная структура Campaign → AdSet → Ad
- Настройка таргетинга - аудитории, интересы, демография, гео
- Управление бюджетами - CBO vs ABO, распределение
- Масштабирование - дублирование успешных структур
- Структурные изменения - реорганизация кампаний
Структура Facebook Ads
Account
└── Campaign (цель, бюджет CBO)
└── AdSet (аудитория, бюджет ABO, schedule)
└── Ad (креатив, текст)
Правила именования
Campaign: {Направление}_{Objective}_{Date}
AdSet: {Audience}_{Age}_{Geo}_{Placement}
Ad: {Creative}_{Version}
Примеры:
Кухня_LEADS_2025-01Lookalike_3pct_25-45_KZ_FeedCarousel_Kitchen_v2
Создание кампании
Шаг 1: Подготовка
- Прочитай бриф аккаунта → цели, бюджет, аудитория
- Определи objective (ODAX)
- Спланируй структуру
Шаг 2: Выбор Objective
| Цель бизнеса | ODAX Objective | Оптимизация |
|---|---|---|
| Узнаваемость | OUTCOME_AWARENESS | Reach |
| Трафик на сайт | OUTCOME_TRAFFIC | Link Clicks |
| Лиды (формы, WhatsApp) | OUTCOME_LEADS | Leads |
| Продажи | OUTCOME_SALES | Purchases |
| Установки приложения | OUTCOME_APP_PROMOTION | App Installs |
Шаг 3: Создание через MCP
# 1. Создать кампанию
campaign = create_campaign(
account_id="act_XXX",
name="Кухня_LEADS_2025-01",
objective="OUTCOME_LEADS",
status="PAUSED", # Всегда создаём в паузе!
daily_budget=5000, # $50 в центах (если CBO)
# ИЛИ
use_adset_level_budgets=True # Для ABO
)
# 2. Создать adset
adset = create_adset(
account_id="act_XXX",
campaign_id=campaign["id"],
name="Interests_25-45_KZ",
optimization_goal="LEAD_GENERATION",
billing_event="IMPRESSIONS",
daily_budget=2000, # $20 в центах (если ABO)
targeting={
"age_min": 25,
"age_max": 45,
"genders": [2], # 1=male, 2=female
"geo_locations": {
"countries": ["KZ"]
},
"flexible_spec": [{
"interests": [{"id": "XXX", "name": "Cooking"}]
}]
},
destination_type="ON_AD", # Для лид-форм
status="PAUSED"
)
# 3. Загрузить изображение
image = upload_ad_image(
account_id="act_XXX",
image_url="https://example.com/image.jpg"
)
# 4. Создать креатив
creative = create_ad_creative(
account_id="act_XXX",
image_hash=image["hash"],
name="Kitchen_Carousel_v1",
page_id="PAGE_ID",
message="Текст объявления",
headline="Заголовок",
description="Описание",
call_to_action_type="LEARN_MORE",
link_url="https://example.com"
)
# 5. Создать объявление
ad = create_ad(
account_id="act_XXX",
name="Kitchen_Carousel_v1",
adset_id=adset["id"],
creative_id=creative["id"],
status="PAUSED"
)
Шаг 4: Активация
После проверки:
resume_adset(adset_id=adset["id"])
# Или активировать всю кампанию:
resume_campaign(campaign_id=campaign["id"])
Таргетинг
Поиск интересов
# Поиск по ключевому слову
interests = search_interests(query="cooking", limit=25)
# Результат: список с id, name, audience_size
Структура targeting
targeting = {
# Демография
"age_min": 25,
"age_max": 45,
"genders": [1, 2], # 1=M, 2=F
# Гео
"geo_locations": {
"countries": ["KZ", "RU"],
"cities": [{"key": "123456"}],
"regions": [{"key": "789"}]
},
# Интересы (OR внутри группы)
"flexible_spec": [
{
"interests": [
{"id": "123", "name": "Cooking"},
{"id": "456", "name": "Home decor"}
]
}
],
# Exclusions
"exclusions": {
"interests": [{"id": "789", "name": "Competitor"}]
},
# Advantage+ (автоматический таргетинг)
"targeting_automation": {
"advantage_audience": 1
}
}
Поиск локаций
# Поиск городов
locations = search_geo_locations(
query="Almaty",
location_types=["city"]
)
# Результат: key для использования в targeting
Оценка аудитории
estimate = estimate_audience_size(
account_id="act_XXX",
targeting={
"age_min": 25,
"age_max": 45,
"geo_locations": {"countries": ["KZ"]},
"flexible_spec": [{"interests": [{"id": "123"}]}]
}
)
# Результат: estimated_audience_size
Lookalike Audiences
Создание
# 1. Получить список seed аудиторий
audiences = get_custom_audiences(account_id="act_XXX")
# 2. Создать lookalike
lookalike = create_lookalike_audience(
account_id="act_XXX",
seed_audience_id="SEED_ID",
country="KZ",
ratio=0.03 # 3%
)
Рекомендации по ratio
| Ratio | Размер | Когда использовать |
|---|---|---|
| 1% | Самые похожие | Лучшая конверсия |
| 3% | Баланс | Стандартный выбор |
| 5% | Широкий охват | Масштабирование |
| 10% | Максимум | Awareness кампании |
Бюджеты
CBO vs ABO
| Тип | Когда использовать |
|---|---|
| CBO | 3+ adsets, похожая эффективность |
| ABO | Тестирование, контроль, разные цели |
Создание с CBO
create_campaign(
account_id="act_XXX",
name="Campaign_CBO",
objective="OUTCOME_LEADS",
daily_budget=10000, # $100 на кампанию
campaign_budget_optimization=True
)
Создание с ABO
create_campaign(
account_id="act_XXX",
name="Campaign_ABO",
objective="OUTCOME_LEADS",
use_adset_level_budgets=True # Бюджеты на adset уровне
)
create_adset(
...
daily_budget=2000 # $20 на adset
)
Масштабирование
Вертикальное (бюджет)
# Текущий бюджет $20, увеличиваем на 25%
update_adset(
adset_id="XXX",
daily_budget=2500 # $25
)
Горизонтальное (дублирование)
- Найти успешный adset
- Создать копию с другой аудиторией
- Тестировать на малом бюджете
# Копия с другим таргетингом
create_adset(
account_id="act_XXX",
campaign_id="CAMPAIGN_ID",
name="Lookalike_5pct_25-45_KZ",
... # Те же настройки
targeting={
# Другая аудитория
},
daily_budget=2000 # Тестовый бюджет
)
Форматы креативов
Single Image
create_ad_creative(
account_id="act_XXX",
image_hash="HASH",
name="Single_Image_v1",
page_id="PAGE_ID",
message="Текст",
headline="Заголовок",
link_url="https://..."
)
Carousel
create_website_carousel(
account_id="act_XXX",
cards=[
{"image_hash": "HASH1", "text": "Product 1", "link": "url1"},
{"image_hash": "HASH2", "text": "Product 2", "link": "url2"},
{"image_hash": "HASH3", "text": "Product 3", "link": "url3"}
],
page_id="PAGE_ID",
message="Check out our products!",
site_url="https://example.com",
call_to_action="LEARN_MORE"
)
Video
# 1. Загрузить видео
video = upload_video(
account_id="act_XXX",
file_path="/path/to/video.mp4"
)
# 2. Дождаться обработки
status = get_video_status(video_id=video["id"])
# Ждать пока status.video_status == "ready"
# 3. Использовать в креативе
# (через стандартный create_ad_creative с video)
Чек-лист создания кампании
Перед созданием
- Прочитан бриф аккаунта
- Выбран правильный objective
- Определена структура (CBO/ABO)
- Подготовлены креативы
- Определена аудитория
При создании
- Создаём в статусе PAUSED
- Проверяем размер аудитории (100K-2M)
- Устанавливаем правильный бюджет
- Используем правильное именование
После создания
- Проверяем структуру
- Показываем пользователю
- Активируем после подтверждения
Важные правила
- Всегда создавай в PAUSED - активируй только после проверки
- Не создавай после 18:00 - по часовому поясу аккаунта
- Минимальный бюджет - $3 на adset, лучше $10-20
- Проверяй аудиторию - не слишком узкая (> 100K)
- Именуй понятно - чтобы было ясно что внутри
Weekly Installs
43
Repository
dengineproblem/…monorepoGitHub Stars
3
First Seen
Jan 29, 2026
Security Audits
Installed on
github-copilot43
codex42
kimi-cli42
gemini-cli42
amp42
opencode42