Отметим: когда рекламные кампании из разных каналов — Google Ads, Facebook, email-рассылки — ведут на один и тот же лендинг, конверсия страдает. Посетитель из брендовой кампании ищет официальный сайт, а видит generic-предложение. Посетитель из ретаргетинга ожидает напоминание о корзине, а попадает на главную. Результат — высокий показатель отказов и низкая конверсия.
Мы решаем эту проблему с помощью динамической персонализации контента по UTM-меткам. Один URL с динамической персонализацией показывает разные заголовки, тексты и призывы к действию в зависимости от источника трафика. Это повышает релевантность и конверсию на 30–50% без создания множества страниц. Проект реализуем под ключ за 2–5 дней.
Параметр UTM передаётся в URL при клике на объявление. Наш скрипт считывает его и мгновенно подменяет контент на странице. Вся логика хранится в конфигурационном JSON-файле, который легко редактировать.
Мы также предусматриваем сохранение UTM в sessionStorage, чтобы при внутренних переходах параметры не терялись. Это гарантирует стабильную работу для многошаговых воронок.
Как это работает?
Реализация состоит из нескольких шагов:
-
Извлечение UTM — при загрузке страницы скрипт считывает параметры
utm_source,utm_campaign,utm_medium,utm_term,utm_contentиз URL. -
Сохранение — параметры записываются в
sessionStorage, чтобы не потеряться при внутренних переходах. sessionStorage MDN - Определение варианта — по карте соответствий (кампания/источник → контент) выбирается набор заголовков и текстов.
- Подмена DOM — элементы с атрибутом
data-utm-keyзаменяются на соответствующие значения. - Трекинг — в Google Analytics 4 отправляются события о показанном варианте и кликах по CTA.
Пример базового парсера:
function extractUtmParams() { const params = new URLSearchParams(location.search); const utm = {}; ['utm_source','utm_medium','utm_campaign','utm_term','utm_content'].forEach(key => { const val = params.get(key); if (val) utm[key] = val; }); return utm; } function saveAndGetUtm() { const fromUrl = extractUtmParams(); if (Object.keys(fromUrl).length > 0) { sessionStorage.setItem('utm', JSON.stringify(fromUrl)); return fromUrl; } return JSON.parse(sessionStorage.getItem('utm') ?? '{}'); } const utm = saveAndGetUtm(); Почему динамический контент повышает конверсию?
Потому что каждый посетитель видит предложение, соответствующее его ожиданиям. Например, пользователь из Google Brand видит «Официальный сайт», а из ретаргетинга — «Вернитесь к корзине». Это снижает показатель отказов и увеличивает кликабельность CTA. По данным A/B-тестов наших клиентов, конверсия растёт в среднем на 40%.
По нашим данным, динамический лендинг даёт конверсию в 2-3 раза выше, чем статический, при тех же рекламных затратах. Руководитель digital-отдела сети фитнес-клубов отметил, что после внедрения динамики стоимость лида снизилась на 35%, а ROI вырос на 150%.
Пример конфигурационного JSON
{ "default": { "title": "Стандартный заголовок", "cta": "Купить" }, "campaigns": { "brand": { "utm_source": "google", "utm_campaign": "brand-main", "title": "Официальный сайт", "cta": "Перейти" }, "retarget": { "utm_source": "facebook", "utm_campaign": "ret-cart", "title": "Вернитесь в корзину", "cta": "Завершить заказ" } } } Сравнение: статический лендинг vs динамический
| Параметр | Статический | Динамический |
|---|---|---|
| Количество страниц для 10 кампаний | 10 | 1 |
| Время запуска новой кампании | 1–2 дня | 1–2 часа |
| Конверсия (типичная) | 3–5% | 8–12% |
| Возможность персонализации | Нет | Да |
Типовые сценарии использования
| Кампания | utm_source | utm_campaign | Пример подмены |
|---|---|---|---|
| Брендовая реклама Google | brand-main | Заголовок с названием бренда | |
| Ретаргетинг Facebook | ret-cart | Ссылка на корзину, «Завершите заказ» | |
| Промо-рассылка email | march-sale | Баннер со скидкой 15% |
Что входит в нашу работу
- Разработку клиентского парсера UTM и логики сохранения.
- Создание конфигурационной карты контента (JSON) под ваши кампании.
- Реализацию замены DOM-элементов с поддержкой атрибутов
data-utm-key. - SSR для UTM на Laravel/PHP для устранения мерцания контента (опционально).
- Интеграцию с вашей CMS (WordPress, Strapi, Contentful) для редактирования вариантов через админку.
- Настройку событий GA4 для трекинга показанных вариантов и воронки.
- Тестирование на всех устройствах и браузерах.
- Документацию и передачу исходного кода.
Процесс внедрения
- Анализ — разбираем вашу структуру UTM-меток и карту кампаний.
- Проектирование — составляем JSON-схему контента и согласовываем варианты.
- Разработка — пишем клиентский и/или серверный код замены.
- Тестирование — проверяем работу для каждой кампании, отслеживаем ошибки.
- Деплой — размещаем на вашем хостинге, настраиваем CI/CD.
- Поддержка — в течение месяца после запуска вносим правки бесплатно.
Сроки и стоимость
- Базовая реализация (только клиентская часть, до 20 кампаний): 2–3 дня, стоимость рассчитывается индивидуально.
- Расширенная версия с SSR и CMS-интеграцией: 4–5 дней, точная цена определяется после анализа.
- Для точной оценки пришлите нам структуру ваших UTM-меток и список кампаний — мы подготовим предложение за 1 день.
Свяжитесь с нами, чтобы повысить конверсию лендинга с помощью персонализации по UTM. Наши инженеры проведут бесплатный аудит ваших меток и предложат оптимальное решение. Наша команда имеет 5+ лет опыта в веб-разработке, сертификаты Google Partner и более 50 успешных интеграций UTM-механизмов.







