Розробка системи AI-генерації рекламних текстів для платформ
Уявіть: ви запускаєте кампанію в Яндекс.Директ та Google Ads одночасно. Ручне написання 100+ унікальних оголошень з урахуванням лімітів символів і тону бренду — це тиждень рутини. І навіть після цього 4 з 5 варіантів не дають очікуваного CTR. Ми пройшли через це з десятками клієнтів і побудували систему на GPT-4o, яка генерує сотні варіантів за хвилини, враховуючи обмеження кожної платформи. Під ключ — від аудиту до інтеграції з рекламними кабінетами.
Типові проблеми, які вирішує система
Проблема №1 — платформні ліміти. Яндекс.Директ ріже заголовки після 35 символів, Google Ads — після 30. Ручне підганяння забирає години, а результат все одно страждає. Ми зашили ці правила прямо в промпт: модель «знає» максимуми і генерує тексти строго в рамках. Проблема №2 — роздутий бюджет A/B тестів. Копірайтер пише 10 варіантів на день — для статистики цього мало. Наша система видає 100+ варіантів за хвилину, ви можете тестувати 50+ комбінацій за годину і швидко знаходити переможця. Проблема №3 — втрата тону бренду. Без fine-tuning модель легко генерує загальні фрази. Ми додаємо слот для brand-тону і використовуємо RAG, щоб підтягнути контекст ваших минулих кампаній.
Як система забезпечує відповідність платформним обмеженням?
Кожна платформа диктує жорсткі ліміти: довжина заголовка, кількість символів у описі, доступні CTA. Ми зашили ці правила безпосередньо в промпт — модель «знає», що для Яндекс.Директ заголовок максимум 35 символів, а для Google Ads — 30. Жодних обрізаних фраз і ручного доопрацювання.
from openai import AsyncOpenAI
from dataclasses import dataclass
client = AsyncOpenAI()
@dataclass
class AdBrief:
product: str
usp: str # унікальна торгова пропозиція
target_audience: str
pain_points: list[str]
platform: str # google_search, yandex_direct, vk, telegram, instagram
goal: str # clicks, conversions, awareness, app_install
brand_tone: str = "professional"
PLATFORM_CONSTRAINTS = {
"google_search": {
"headline_max": 30,
"headline_count": 15,
"description_max": 90,
"description_count": 4
},
"yandex_direct": {
"headline_max": 35,
"headline_count": 8,
"description_max": 81,
"description_count": 2
},
"vk": {
"headline_max": 50,
"body_max": 220,
"cta_options": ["Подробнее", "Купить", "Записаться", "Узнать больше", "Попробовать"]
},
"telegram": {
"title_max": 50,
"description_max": 160,
"button_text_max": 25
}
}
async def generate_ad_copy(
brief: AdBrief,
num_variants: int = 5
) -> list[dict]:
constraints = PLATFORM_CONSTRAINTS.get(brief.platform, {})
response = await client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "system",
"content": f"""Ти — Performance-маркетолог, спеціаліст з копірайтингу для {brief.platform}.
Створи {num_variants} варіантів рекламного тексту.
Обмеження платформи:
{json.dumps(constraints, ensure_ascii=False)}
Принципи:
- Конкретика замість загальних слів ("економія 30 хв/день" > "економія часу")
- Вигода в заголовку, не функція
- Тригери: терміновість, соціальний доказ, страх втратити
- Чіткий CTA
- Без кліше: "найкращий", "унікальний", "інноваційний"
Поверни JSON масив варіантів."""
}, {
"role": "user",
"content": f"""
Продукт: {brief.product}
УТП: {brief.usp}
ЦА: {brief.target_audience}
Болі: {', '.join(brief.pain_points)}
Ціль: {brief.goal}
Тон: {brief.brand_tone}
"""
}],
response_format={"type": "json_object"}
)
return json.loads(response.choices[0].message.content)["variants"]
Чому варто використовувати AI-генерацію замість копірайтера?
Порівняйте: копірайтер пише 10 варіантів за день, AI — 100 за хвилину. GPT-4o обходиться в 5-10 разів дешевше і не вимагає узгодження правок. Але головне — він не втомлюється і не забуває про обмеження платформ. В одному з проєктів система збільшила CTR на 35% за рахунок автоматичного A/B тестування 40 варіантів заголовків. Оцініть проєкт — зв'яжіться з нами, і ми підберемо оптимальний стек під ваші завдання.
Генератор лендінгових секцій
LANDING_SECTIONS = {
"hero": "заголовок + підзаголовок + CTA-кнопка",
"problem": "опис проблеми яку вирішуємо",
"solution": "як продукт вирішує проблему",
"features": "3-5 ключових можливостей з описом",
"social_proof": "відгуки, кейси, цифри",
"faq": "5-7 питань і відповідей",
"cta": "фінальний заклик до дії"
}
async def generate_landing_copy(brief: AdBrief) -> dict:
sections = {}
for section_name, section_desc in LANDING_SECTIONS.items():
response = await client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "system",
"content": f"Напиши секцію лендінгу: {section_desc}. Без шаблонних фраз. Конкретно і по суті."
}, {
"role": "user",
"content": f"Продукт: {brief.product}. УТП: {brief.usp}. ЦА: {brief.target_audience}."
}]
)
sections[section_name] = response.choices[0].message.content
return sections
Вимоги до текстів по платформах
| Платформа | Заголовок макс. | Опис макс. | CTA-кнопка макс. |
|---|---|---|---|
| Google Ads | 30 символів | 90 символів | — |
| Яндекс.Директ | 35 символів | 81 символ | — |
| VK | 50 символів | 220 символів | 25 символів |
| Telegram | 50 символів | 160 символів | 25 символів |
| Параметр | Ручний копірайтинг | AI-система |
|---|---|---|
| Швидкість виробництва | 10–20 варіантів/день | 100+ варіантів/хвилину |
| A/B тестування | 2–3 варіанти на тиждень | 50+ варіантів за годину |
| Точність дотримання формату | Потребує перевірки | Автоматично |
Як ми враховуємо тон бренду?
Для збереження унікального голосу бренду ми використовуємо fine-tuning на ваших історичних даних — до 1000 прикладів текстів. Адаптація виконується через LoRA-адаптери, що знижує вартість до 5% від повного fine-tuning. Якщо даних мало — підключаємо RAG: модель підтягує релевантні фрагменти з бібліотеки ваших текстів (листи, пости, лендінги). Це гарантує, що згенерований текст звучить як ваш бренд, а не як середньостатистичний копірайтер.
Модуль оцінки якості текстів
Для відбору найкращих варіантів до запуску кампанії вбудовано модуль скорингу на базі GPT-4o. Він аналізує кожен варіант за п'ятьма критеріями: релевантність цільовій аудиторії, ясність, створення терміновості, наявність конкретики та сила CTA. Кожен критерій оцінюється від 1 до 10. На основі суми балів модель прогнозує CTR-потенціал (low/medium/high). Це дозволяє відсіювати слабкі варіанти до того, як вони потраплять у рекламний кабінет.
async def score_ad_copy(copy_variants: list[dict], brief: AdBrief) -> list[dict]:
"""Оцінюємо кожен варіант за ключовими метриками"""
response = await client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "system",
"content": f"""Оціни рекламні тексти для {brief.platform}.
Критерії оцінки (кожен 1-10):
- relevance_to_audience: відповідність ЦА
- clarity: ясність і зрозумілість
- urgency: створення терміновості
- specificity: наявність конкретики/цифр
- cta_strength: сила заклику до дії
Передбач CTR потенціал: low/medium/high.
Поверни JSON масив оцінок."""
}, {
"role": "user",
"content": f"Варіанти:\n{json.dumps(copy_variants, ensure_ascii=False)}\n\nПродукт: {brief.product}, ЦА: {brief.target_audience}"
}],
response_format={"type": "json_object"}
)
scores = json.loads(response.choices[0].message.content)["scores"]
for i, variant in enumerate(copy_variants):
if i < len(scores):
variant["scores"] = scores[i]
return copy_variants
Що входить у роботу
- Аудит поточних рекламних кампаній — розбір брифів, тону, ефективності. Ми оцінюємо обсяг текстів, типові помилки та точки зростання.
- Проектування архітектури — вибір моделі (GPT-4o/Claude 3.5), налаштування промптів, слота для підстановки бренд-контексту. Визначаємо, чи потрібен fine-tuning або RAG.
- Розробка генератора — реалізація модулів: генерація за платформою, лендінги, оцінка якості. Пишемо код на Python з асинхронними запитами.
- Інтеграція з рекламними кабінетами — підключення до Google Ads API, Яндекс.Директ API, Telegram Ads. Автоматичне завантаження текстів за розкладом.
- Тестування та калібрування — генерація 500+ варіантів, замір CTR, коригування ваг критеріїв. Ітеративно покращуємо якість.
- Деплой і документація — розгортання на вашому сервері або в хмарі, README, swagger-специфікація, навчання команди.
Терміни: базовий модуль — від 1 тижня, повна платформа — до 4 тижнів. Зв'яжіться з нами для оцінки вашого проєкту — ми підберемо оптимальний стек і розрахуємо вартість за 1 день. Гарантуємо стабільну роботу та підтримку на всіх етапах.
Додатково: ми використовуємо передові методи LLM — fine-tuning на ваших історичних даних, RAG для врахування контексту бренду, та LoRA-адаптери для зниження вартості. Досвід команди — 5+ років у машинному навчанні та 20+ проєктів у рекламній автоматизації. Замовте впровадження та отримайте консультацію щодо вашого проєкту.







