Каждую пятницу приходит сообщение от клиента: «Ну как там сайт?». Вы открываете GA4, Яндекс.Метрику, Search Console, смотрите цифры, формулируете текст — и час жизни ушёл. Умножьте на 10 клиентов и 52 недели. Это 520 часов в год на ручную работу, которую можно полностью автоматизировать.
В этой статье — конкретная схема: собираем метрики из нескольких источников, прогоняем через промпт к Claude или GPT-4o, получаем человекочитаемый инсайт и отправляем клиенту в Telegram или на почту.
Что болит у клиента (и у вас)
Клиент не понимает цифры. Ему неинтересно, что «bounce rate составил 64,3%». Ему важно: стало лучше или хуже, почему, что делать. Именно это и генерирует AI.
Для вас проблема в другом: собрать данные из 5 источников, свести в таблицу, написать текст — это механическая работа без творческой ценности. Её надо делегировать скрипту.
Источники данных
Минимальный набор для большинства бизнес-сайтов:
| Источник | Что берём | API/инструмент |
|---|---|---|
| Google Analytics 4 | Сессии, конверсии, источники трафика | GA4 Data API |
| Яндекс.Метрика | Визиты, отказы, цели | Metrika API v1 |
| Google Search Console | Клики, показы, средняя позиция | Search Console API |
| PageSpeed Insights | LCP, CLS, INP, общий балл | PSI API (бесплатно) |
| UptimeRobot / BetterStack | Время доступности, инциденты | REST API |
Для e‑commerce добавляем:
- Данные из CRM (новые заказы, выручка за неделю)
- Данные рекламных кабинетов (Яндекс.Директ, VK Реклама) — CPL, ROAS
Архитектура пайплайна
Cron (каждое воскресенье 08:00)
→ Сборщик метрик (Python / n8n)
→ Агрегация в JSON
→ AI-промпт (Claude API / OpenAI)
→ Форматирование отчёта
→ Отправка (Telegram Bot / Email)
Два варианта реализации: n8n (no-code, быстрее стартовать) и Python-скрипт (гибче, дешевле при масштабе).
Вариант 1: n8n
Если вы уже используете n8n — это самый быстрый путь. Создаёте workflow:
- Schedule Trigger — каждое воскресенье в 8 утра
- HTTP Request — запрос к GA4 Data API (POST
https://analyticsdata.googleapis.com/v1beta/properties/{id}:runReport) - HTTP Request — Яндекс.Метрика (
https://api-metrika.yandex.net/stat/v1/data) - HTTP Request — PageSpeed (
https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=...) - Code node — агрегация всех данных в один JSON объект
- HTTP Request → Claude API или OpenAI
- Telegram node — отправка клиенту
Из минусов: n8n на бесплатном тарифе ограничен по исполнениям. На self-hosted (Docker) — без ограничений, ~500 руб/мес на VPS.
Вариант 2: Python-скрипт
Больше контроля, проще отлаживать, проще запускать через cron на сервере.
import httpx
import json
from datetime import datetime, timedelta
from anthropic import Anthropic
client = Anthropic()
def collect_pagespeed(url: str) -> dict:
api_url = f"https://www.googleapis.com/pagespeedonline/v5/runPagespeed"
r = httpx.get(api_url, params={"url": url, "strategy": "mobile"})
data = r.json()
cats = data["lighthouseResult"]["categories"]
return {
"performance": round(cats["performance"]["score"] * 100),
"lcp": data["lighthouseResult"]["audits"]["largest-contentful-paint"]["displayValue"],
"cls": data["lighthouseResult"]["audits"]["cumulative-layout-shift"]["displayValue"],
}
def generate_insight(metrics: dict) -> str:
prompt = f"""
Ты — аналитик веб-студии. Клиент получит этот отчёт напрямую.
Пиши на русском, деловым языком, без технического жаргона.
Объём: 150-200 слов.
Данные за неделю:
{json.dumps(metrics, ensure_ascii=False, indent=2)}
Напиши:
1. Главный вывод (одно предложение)
2. Что выросло / упало и почему (предположение)
3. Одна конкретная рекомендация на следующую неделю
"""
message = client.messages.create(
model="claude-opus-4-5",
max_tokens=400,
messages=[{"role": "user", "content": prompt}]
)
return message.content[0].text
Полный скрипт с отправкой в Telegram — ещё ~80 строк. Запускается через crontab -e:
0 8 * * 0 /usr/bin/python3 /opt/reports/weekly_report.py >> /var/log/reports.log 2>&1
Промпт для AI: принципы
Сырые данные в промпт не помогут. Важно дать контекст:
Клиент: интернет-магазин женской одежды, Москва
Основная цель сайта: продажи (цель «purchase» в GA4)
Сезонность: март — начало весеннего сезона, рост спроса ожидаем
Данные прошлой недели vs позапрошлой:
- Сессии: 1240 → 1380 (+11%)
- Конверсия: 2.1% → 1.8% (-14%)
- Средняя позиция (GSC): 18.4 → 16.1 (улучшение)
- PageSpeed mobile: 62 → 58 (ухудшение)
Хороший промпт включает: профиль клиента, контекст сезонности, дельты (не абсолюты), приоритет метрик для этого бизнеса.
Что отправлять разным типам бизнеса
Лендинг / услуги:
- Заявки/звонки (конверсии) — главное
- Источники трафика
- Позиции по ключевым запросам
Интернет-магазин:
- Транзакции, выручка, средний чек
- Брошенные корзины
- ROAS рекламных кампаний
Корпоративный сайт:
- Время на сайте, глубина просмотра
- Страницы с высоким отказом
- Прирост органического трафика
Реальные цифры
Время на постройку пайплайна: 4 – 6 часов (Python) или 2 – 3 часа (n8n).
Ежемесячные расходы:
- Claude API (claude-opus‑4 – 5, 10 клиентов x 4 отчёта): ~$3 – 5
- VPS для cron/n8n: 300 – 500 руб
- PageSpeed, GSC, Metrika API: бесплатно
Итого: ~700 руб/мес за полную автоматизацию vs 40+ часов ручного труда.
Пример: сырые данные vs AI-инсайт
Сырые данные:
sessions: 1240, bounce_rate: 67.3, goal_completions: 22,
pagespeed_mobile: 58, avg_position: 18.4
AI-инсайт:
На этой неделе сайт посетили 1240 человек, из которых 22 оставили заявку — это хороший результат для марта. Однако 67% посетителей уходят после первой страницы, что выше нормы. Скорость загрузки на мобильных снизилась до 58 баллов — это может быть причиной. Рекомендую проверить, не появились ли новые тяжёлые изображения на главной, и оптимизировать их до следующей недели.
Разница очевидна. Клиент понимает второй вариант без объяснений.
Есть идея? Реализуем
Разрабатываем проекты, которые решают задачи бизнеса — от лендинга до сложного сервиса. Расскажите о своей задаче, подберём решение.

