Михаил Кривцов

Senior performance-маркетолог / Lead интернет-маркетинга

Москва, РФ · Офис / удалённо / гибрид

Senior performance-маркетолог с опытом работы в продуктовых командах: запуск и развитие digital‑продуктов, привлечение пользователей через платный трафик и SEO/GEO, управление кроссфункциональными командами

Обо мне

Senior performance-маркетолог с 10+ лет опыта в интернет-маркетинге: работаю с платными и органическими источниками трафика и управляю кросс‑функциональными командами — маркетинг, дизайн, продукт, разработка, аналитика.

Работаю на стыке маркетинга и продукта: разрабатываю маркетинговую стратегию и участвую в выводе digital‑продуктов на рынок, нахожу рабочее позиционирование через custdev и анализ реального спроса.

Навыки

Performance маркетинг
Яндекс Директ, Google Ads, VK, Telegram Ads, YouTube, TikTok, myTarget, инфлюенс‑маркетинг, SEO, acquisition/retention, медиапланирование и управление бюджетами
Продуктовые и бизнес‑метрики
CAC, LTV, ARPU, retention, unit‑экономика, P&L, ROMI, ROAS
Analytics & BI
Яндекс Метрика, Google Analytics, Roistat, UIS, Metabase, Yandex DataLens
Автоматизация и инструменты
n8n, Supabase, chatGPT, GPTs, Cursor, Sora, Tilda, Airtable, Google Sheets, Notion, Google Tag Manager, Robokassa, WordPress
Управление
Управление кросс‑функциональными командами, постановка задач и KPI, выстраивание процессов, работа с внутренними командами и внешними подрядчиками, спринты, Kanban
Product маркетинг
MVP, Go‑to‑market, custdev, JTBD, product‑market fit, roadmap, разработка и проверка продуктовых гипотез, анализ конкурентов, УТП, сегментация ЦА
Bitrix24, AmoCRM
Технический бэкграунд
JavaStript (Node.js), PostgreSQL, Docker, pm2, REST API, webhooks, Telegram API, html, css
Email & коммуникации
Mindbox, SendPulse, SendSay, UniSender, триггерные и сценарные рассылки, CDP, CVM

Опыт

MPSTATS — B2B SaaS для селлеров на маркетплейсах

Специалист по платному трафику, Performance‑lead | 2020 — 2025
  • Создал единую performance‑архитектуру для всех платных каналов (Яндекс.Директ, Google Ads, VK, Meta, email), обеспечив предсказуемый приток платёжеспособного трафика
  • Разработал систему учёта результативности performance‑маркетинга, бюджета и отчётности для c‑level и стейкхолдеров
  • Выстроил взаимодействие с командой и подрядчиками — маркетологи, разработчики, дизайнеры. Работал с продуктовой командой
  • В 2025 – 1 500 000 кликов (на 52% больше YoY) со средней стоимостью клика 60 рублей (на 38% дешевле YoY), 80 000 лидов (на 20% больше YoY) со средней стоимостью лида 1000 рублей (на 26% дешевле YoY)

Keys.so – B2B SaaS для интернет‑маркетологов

Директолог, таргетолог, Performance‑lead | 2019
  • Создание, оптимизация и поддержка рекламных кампаний в Яндекс.Директ, Google Ads, VK: семантические ядра, сегментирование ЦА, A/B‑тесты
  • Создание системы отчётности для c‑level
  • Настройка аналитики и передачи событий: Яндекс.Вебмастер, Google Analytics, Google Tag Manager

Sorokin.Media – B2B рекламное агентство

Специалист по платному трафику, Performance‑lead | 2014 — 2018
  • Строил и масштабировал контентные и SEO‑сайты, привлекал органический и платный трафик из Яндекса, Google и соцсетей
  • Управлял полным циклом SEO и создания контента
  • Отвечал за performance‑результат: лидогенерация, CPL/CPA, вклад органики в LTV и P&L, оптимизация конверсий страниц, связка SEO с платным трафиком и ретаргетингом

Pet‑project

Structura.capital — B2B SaaS для предпринимателей на рынке недвижимости

Technical Product Manager | 2025
  • С нуля разработал концепцию и бизнес‑модель сервиса, провёл custdev, сделал MVP, ценообразование и тарифную линейку, настроил онлайн‑кассу и эквайринг
  • Спроектировал архитектуру: сбор данных на Node.js, база данных PostgreSQL, бекенд REST API, телеграм‑бот на Telegram API, автоматизация и воркеры на n8n
  • Вёл продуктовую документацию и структуру данных

Достижения

Кейсы

MPSTATS Увеличить результативность в Яндекс Директ

Задача: увеличить кол‑во кликов на 50% YoY без увеличения CPC, увеличить кол‑во лидов на 20% YoY без увеличения CPL, увеличить интерес к бренду.

qCPL (квал.лид), CAC, LTV, ROMI, ROAS, продажи и так далее под NDA.

Что сделано: протестировано более 100 performance‑ и околопродуктовых гипотез, включая тестирование разных CPA (микроконверсии, звонок менеджеру, оплата, активация демо‑доступа, подключение API кабинета селлера к сервису и других PQL (Product Qualified Lead)), переход на предиктивный AI маркетинг подрядчика Sales Ninja, плотная работа с продуктовой командой и внедрение продуктовых идей в рекламу, медийная реклама в Яндексе, посевы в ТГ‑каналах, дистрибуция акционного предложения Black Friday и прочее.

Результаты:

  • 1 500 000 кликов (на 52% больше YoY) со средней стоимостью клика 60 рублей (на 38% дешевле YoY)
  • 80 000 лидов (на 20% больше YoY) со средней стоимостью лида 1000 рублей (на 26% дешевле YoY)
График динамики спроса MPSTATS
Поисковый спрос (а значит и интерес к бренду) вырос на 82% YoY (ссылка на крупный размер)

Пример одного из отчетов по оптимизационным действиям с одним из модулей компании. Задача – сократить стоимость квал.лида. К сожалению, все цифры под NDA.

Пример одного из отчетов
Ссылка на крупный размер
Structura.capital Реализовать функционал отбора объектов из БД

Задача: реализовать функционал отбора объектов из БД для компиляции .html‑отчётов.

Что сделано:

  1. Запускаем триггер 1 раз в 60 секунд.
  2. Проверяем, когда последний раз запускался процесс last_processed_at в таблице checkpoint.
  3. Отбираем объекты в БД, у которых дата добавления в БД меньше last_processed_at и repair = 'cosmetic' и profit_wavg > 0.
  4. Разбиваем объекты на пачки по 100 штук в батче.
  5. Объекты из каждой пачки вставляем в таблицу report_jobs, где присваиваем уникальный job_id, хеш и прочие служебные поля.
  6. Обновляем last_processed_at = NOW() в таблице checkpoint, чтобы исключить текущие обработанные объекты из следующего прохода.
  7. Из report_jobs берём ID объектов, готовых для генерации отчётов, где status = 'pending' и next_attempt_at пустой или меньше NOW().
  8. Разбиваем эти объекты на пачки по 100 штук.
  9. Отправляем в generate_report на генерацию страниц: node /generate_report/genP.mjs {{ $json.object_id }} .
  10. Проверяем, скомпилировались ли отчёты:
    1. если да — отмечаем status = 'done' в report_jobs;
    2. если нет — оставляем 'pending' и ставим next_attempt_at + 5 минут;
    3. если попыток было >= 3 — ставим status = 'failed'.
  11. Всё логируем в /var/log/n8n.

Результаты: флоу работает каждую минуту, объекты отбираются, отчёты создаются, логирование ведётся.

Очередь задач report_jobs в БД
Очередь задач в report_jobs и статусы выполнения (ссылка на крупный размер)

Услуги

Я даю результат для компании на стыке маркетинга и продукта, открыт к сотрудничеству и работе по направлениям:


Оказываю услуги в качестве фрилансера и подрядчика: