Підміна форми в залежності від UTM мітки

30.06.2021

Добрий день.

Нещодавно до нас звернувся клієнт з проханням допомогти реалізувати функціонал, при якому користувачам, які перейшли на сайт з певною UTM міткою виводити одну форму, а всім іншим - іншу форму.

Як замінити форму на сайті в залежності від UTM мітки?

Готового рішення у нас для цього не було і ми вирішили показати, як це можна реалізувати на будь-якому сайті використовуючи JavaScript код.

Для того, щоб прочитати значення get пераметра з URL в javascrpt є спеціальний об'єкт URL(), який надає зручні методи і параметри, для роботи з URL.

Для того, щоб створити цей об'єкт, необхідно в конструктор цього класу передати поточний рядок URL. Це можна зробити ось так:

var url = new URL(document.location.href);

Для того, щоб отримати значення ютм мітки, необхідно використовувати властивість searchParams об'єкта URL. Щоб отримати значення UTM мітки utm_source, необхідно написати такий код:

var utmSource = url.searchParams.get('utm_source');

Отримавши це значення, ми тепер можемо його порівняти з заданим значенням і замінити ID форми, на будь-який інший. Як приклад, давайте замінимо форму для відвідувачів, які перейшли на сайт з UTM міткою utm_source рівною значенню "promo":

<div id="form_123456_1"></div>
<script type="text/javascript">
   (function (d, w, c) {
       var url = new URL(document.location.href);
       var utmSource = url.searchParams.get('utm_source');
      // ID формы по умолчанию
       var formId = 123456;
       // ID формы, для пользователей с UTM меткой utm_source равной promo
       if (utmSource === 'promo') {
             var formId = 654321;
       }
       (w[c] = w[c] || []).push({formId: formId, host:"formdesigner.ru", formHeight:100, el: "form_123456_1", center: 1, scroll: 0});
       var s = d.createElement("script"), g = "getElementsByTagName";
       s.type = "text/javascript"; s.charset="UTF-8"; s.async = true;
       s.src = (d.location.protocol == "https:" ? "https:" : "http:")+"//formdesigner.ru/js/iform.js?v=0.0.2";
       var h=d[g]("head")[0] || d[g]("body")[0];
       h.appendChild(s);
   })(document, window, "fdforms");
</script>

За замовчуванням, для всіх відвідувачів сайту буде показуватися форма з ID = 123456 (необхідно замінити на своє значення), а для тих користувачів, які перейшли на сайт з utm_source рівним promo, буде виводитися форма з ID = 654321 (необхідно замінити на своє значення).

Ось так просто можна зробити підміну форми в залежності від значення UTM мітки.

Теги:
Готові шаблони веб-форм
Gold

Дізнайтеся вартість абонемента у фітнес-клуб

Пройдіть тест і отримаєте 3 заняття безкоштовно Докладніше
Gold

Форма первинного відвідування пацієнта

Отримайте детальну інформацію про історію хвороби вашого пацієнта за допомогою цієї простої і зручної форми. Докладніше
Free

Як Ви оцінюєте харчування в нашій школі?

Форма голосування для оцінки харчування у вашій школі Докладніше
Free

Запис на здачу аналізів

Форма для запису на лабораторні дослідження, що дозволяє вказати необхідні аналізи, обрати лабораторію, дату та залишити контактний телефон для підтвердження. Докладніше

Немає часу збирати форму самостійно?

Спеціалісти FormDesigner спроєктують і налаштують форму, квіз або калькулятор з нуля. Складність беремо на себе — ви займаєтесь бізнесом.

Поговорити зі спеціалістом
Наші спеціалісти