Отметим: когда рекламные кампании из разных каналов — 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-механизмов.







