Скрипт подмены содержимого на сайте для A/B-тестирования

Если вы маркетолог или SEO-специалист, то знаете, как важно регулярно проверять гипотезы: заголовки, изображения, призывы к действию, формы, которые влияют на поведение пользователя и конверсию.

Но запуск A/B-тестов упирается в технические трудности. Нужно вносить изменения в код, ждать помощи программистов, согласовывать изменения с IT, а в итоге тест либо откладываете, либо запускаете один вариант раз в полгода.

Скрипт подмены от QForm решает такую проблему. С ним контент меняется прямо в браузере пользователя, без правок на сервере и привлечения разработчиков. Для этого всего лишь нужно подключить скрипт, создать файл с вариантами (channel.json) и разместить его на сайте.

Замена контента происходит автоматически, пользователь видит только одну версию, назначенную ему системой, а информация сразу уходит в Яндекс.Метрику.

При этом поисковики видят только оригинальный контент, потому что подмена происходит уже после загрузки страницы. Это значит, что инструмент безопасен с точки зрения SEO.

Как всё устроено: от скрипта до подмены

Скрипт QForm проверяет, в какой тестовой группе находится пользователь, и на основании заранее заданных правил подставляет нужный контент в указанные элементы на странице.

Чтобы всё работало корректно, нужно сделать три шага:

Подключить скрипт

Добавьте эту строку в <head> или перед </body>:

html


<script defer src="https://storage.yandexcloud.net/script/channel/channel.js"></script>

Укажите элементы на странице

На странице есть HTML-блоки, в которые вы подставляете разные версии контента. Для этого достаточно указать им понятные CSS-классы.

Пример:

html


<div class="text-1">Заголовок по умолчанию</div>
<div class="text-2"><img src="default.jpg"></div>

Скрипт найдёт все блоки с классами text-1 и text-2 и заменит их содержимое на то, что вы укажете для соответствующего варианта в настройках. Названия классов вы придумываете сами — главное, чтобы они совпадали с ключами в JSON-файле.

Создайте файл channel.json

После того как классы указаны, переходим к настройке самих вариантов. Это делается в конфигурационном файле channel.json, который должен лежать в корне сайта.

Пример:

json


{
  "yandexCounterId": 123456789,
  "channels": {
    "variant-a": {
      "text-1": "Заголовок для варианта A",
      "text-2": "<img src="https://site.ru/banner-a.jpg">"
    },
    "variant-b": {
      "text-1": "Заголовок для варианта B",
      "text-2": "<img src="https://site.ru/banner-b.jpg">"
    }
  }
}

Что здесь важно:

➔ yandexCounterId - ID счётчика Метрики, куда будут отправляться события (по названиям вариантов).

➔ channels - список всех тестируемых вариантов.

➔ text-1, text-2 - ключи, совпадающие с CSS-классами на странице. Их значения это тот HTML, который будет подставлен.

Файл может содержать любое количество вариантов и любых блоков. Допустимо подставлять не только текст, но и HTML: изображения, формы, кнопки, iframe, видеовиджеты и т.д.

Теперь, когда структура системы понятна, давайте рассмотрим, какие именно элементы можно тестировать на сайте и как это выглядит на практике.

Что можно тестировать: примеры A/B-подмен

Скрипт QForm даёт полную свободу для экспериментов: вы можете подменять любые элементы на странице, чтобы проверить, что реально работает на вашу аудиторию. Вот практичные примеры для запуска тестов:

Заголовки

Проверьте, какие формулировки лучше цепляют внимание:

json


"text-1": "Успей купить до конца недели"

или

json


"text-1": "Скидка 20% только сегодня"

Такой а/б тест заголовков на сайте позволяет быстро выявить, какой вариант получает больше кликов или дольше удерживает пользователя.

Картинки и баннеры

Сравните визуалы, которые могут повлиять на первое впечатление. Это отличный способ протестировать баннеры с ротацией, когда каждому пользователю показывается своя версия баннера в рамках одного теста:

json


"text-2": "<img src='img/banner-a.jpg'>"

или

json


"text-2": "<img src='img/banner-b.jpg'>"

Кнопки и CTA

Поиграйте с текстами кнопок или их оформлением:

json


"text-3": "<button class='btn'>Получить предложение</button>"

или

json


"text-3": "<button class='btn'>Узнать цену</button>"

Формы QForm

Покажите разные варианты форм: с видео, без видео, с разной длиной:

json


"text-4": "<div data-formid='form_a'></div>"

или

json


"text-4": "<div data-formid='form_b'></div>"

Видео и виджеты

Тестируйте приветствия, объяснения, демонстрации:

json


"text-5": "<div data-widget='videowidget_a'></div>"

или

json


"text-5": "<div data-widget='videowidget_b'></div>"

Все подмены фиксируются как цели в Яндекс.Метрике. Вы сможете точно отследить, какие варианты дали лучший результат: по просмотрам, кликам, отправкам форм и другим действиям.

Теперь посмотрим, как скрипт работает в связке с остальными инструментами QForm, и что это даёт в плане автоматизации и аналитики.

Как скрипт работает в связке с QForm

Один из главных плюсов скрипта в том, что он идеально дополняет другие инструменты QForm. Это позволяет не просто заменить контент на экране, а выстроить полноценную воронку: от показа до получения заявки и передачи в CRM.

Пример процесса:

  1. Пользователь попадает на сайт и ему назначается вариант A или B.
  2. Скрипт подставляет нужный контент: текст, баннер или форму.
  3. Посетитель заполняет форму QForm.
  4. Система автоматически передаёт в форму его сегмент (через cookie или utm).
  5. Заявка уходит в CRM и вы сразу видите, с какого варианта она пришла.
  6. Метрика фиксирует цель с названием варианта.

В результате вы получаете прозрачную аналитику и полную совместимость со всеми возможностями QForm.

Интеграция позволяет:

➔ использовать разные формы на одной странице;

➔ видеть в CRM, с какого варианта пришел лид;

➔ запускать автоматические действия (например, отправку КП);

➔ собирать и фильтровать данные по сегментам;

➔ получать аналитику по тесту без ручной работы.

Теперь, когда мы разобрали механику и возможности скрипта, подытожим его преимущества.

Почему это удобно и эффективно

Тесты через скрипт QForm значительно проще и быстрее, чем классические решения, где требуется работа с кодом.

Настройка теста занимает минимум времени: один скрипт + один файл с вариантами. Всё читается и обновляется без риска сломать сайт или повлиять на его работоспособность.

Вы сами определяете, что менять: заголовки, изображения, формы, кнопки, видео. Всё настраивается через файл channel.json, а значит не зависите от разработчиков.

Скрипт подходит для любых сайтов: Tilda, WordPress, Bitrix, самописные CMS. Цели сразу отправляются в Метрику, а информация по сегментам интегрируется в формы и отчеты QForm.

Это позволяет маркетологу эффективно работать: придумал гипотезу → запустил → увидел результат → закрепил лучшее решение.

Безопасность и влияние на продвижение

Когда дело касается контента и его замены, важно понимать, как это сказывается на SEO и стабильности сайта.

Безопасность сайта

  1. Скрипт работает на клиентской стороне, то есть ничего не меняется на сервере и в исходном коде сайта.
  2. Он подключается асинхронно (defer) и не блокирует загрузку страницы.
  3. Даже если файл channel.json временно недоступен, сайт продолжит работать штатно без ошибок.

Влияние на поисковую оптимизацию

  1. Поисковые роботы (Яндекс, Google) видят оригинальный контент, без подмен. Это защищает от дублирования и не влияет на индексацию.
  2. Все варианты контента тестируются на одной странице, без новых адресов и дублей. Это важно для сохранения позиции страницы в поиске.
  3. Добавление видеовиджетов от QForm, которые можно тестировать через этот же скрипт, увеличивает поведенческие показатели: время на сайте, вовлеченность, глубину просмотра. А это реальные плюсы для SEO.

Скрипт протестирован на популярных платформах и не конфликтует с аналитикой, системами A/B-тестирования, конструктором форм или другими внешними виджетами.

Заключение

Скрипт подмены контента от QForm удобен и безопасен для A/B-тестов на сайте. Всё настраивается в несколько шагов: вы просто подключаете скрипт, создаете JSON с вариантами и указываете, в каких блоках нужно менять контент. При этом не нужно менять структуру сайта, вносить правки в код.

Результаты тестов сразу попадают в Яндекс.Метрику, а сами варианты можно использовать в заявках, формах и CRM-системах. Это дает маркетологу

человек уже установили бесплатно формы на свой сайт