Перейти к основному содержимому

1.7. Сбор UTM-меток в дополнительные поля нулевого заказа

GetCourse автоматически сохраняет UTM-метки регистраций в стандартное поле «Источник заказа». Но они могут перезаписываться при последующих заказах, теряться при платных операциях и склеиваться между источниками. Чтобы получить точную картину источников трафика, SCAN читает метки из отдельных доп. полей заказа — по одному полю на каждую метку.

Перед началом Нужно, чтобы у формы регистрации уже было привязано нулевое предложение — иначе заказ не создастся и записывать метки будет некуда. Если предложения ещё нет, создайте его по инструкции 1.8. Нулевые предложения и UTM в доп. полях заказа, а затем возвращайтесь сюда.

Какие поля использовать​

Создавать поля и ставить скрипт больше не обязательно — GetCourse заполняет метки сам. Выберите вариант:

ВариантЧто делатьКогда выбрать
1. Системные поля GetCourse gc_system_deal_utm_*Вписать названия полей в настройках школы SCANСамый быстрый способ, подходит любой школе
2. Свои поля, которые уже созданыВписать названия своих полей в настройках школы SCANСбор меток уже настроен и переделывать его не хочется
3. Свои поля + скрипт SCANСоздать поля, вывести в форме, поставить скриптНужна метка utm_group в отдельном поле или хочется свои поля вместо полей ГК. Если своих полей ещё нет — их можно создать

В любом варианте SCAN читает метки из полей, названия которых Вы указали в настройках школы.

Вариант 1. Системные поля GetCourse (без скрипта)​

Подходит любой школе. GetCourse уже создал пять полей заказа и сам записывает в них метки.

Делать не нужно: создавать доп. поля, выводить их в форме, искать ID полей, ставить скрипт, настраивать формы.

Нужно: один раз вписать названия полей в настройках школы SCAN — три шага ниже.

Шаг 1. Посмотрите поля в GetCourse​

Зайдите в GC на страницу Заказы и нажмите ссылку Дополнительные поля:

Страница «Заказы» в GetCourse

В списке уже есть пять полей с тегом utm — они и хранят метки:

  • gc_system_deal_utm_source;
  • gc_system_deal_utm_medium;
  • gc_system_deal_utm_campaign;
  • gc_system_deal_utm_term;
  • gc_system_deal_utm_content.

Шаг 2. Впишите названия полей в настройках школы SCAN​

Откройте настройки школы (см. 1.5. Подключение школы GetCourse) и заполните:

Настройка SCANЧто вписать
Доп. поле для utm_sourcegc_system_deal_utm_source
Доп. поле для utm_mediumgc_system_deal_utm_medium
Доп. поле для utm_campaigngc_system_deal_utm_campaign
Доп. поле для utm_contentgc_system_deal_utm_content
Доп. поле для utm_termgc_system_deal_utm_term
Доп. поле для utm_groupоставить пустым

Так это выглядит в настройках школы:

Настройка школы SCAN с системными полями GetCourse

utm_group оставляем пустым: такого поля у GetCourse нет, эту метку SCAN возьмёт из стандартного «Источника заказа».

Шаг 3. Проверьте​

Откройте страницу с формой, добавив к адресу метки:

?utm_source=source&utm_medium=medium&utm_campaign=campaign&utm_content=content&utm_term=term

Заполните форму и откройте созданный заказ в GetCourse — в доп. полях должны стоять значения из адреса. Готово.

Вариант 2. Свои доп. поля, которые уже созданы​

Если в школе уже настроен сбор UTM в доп. поля заказа — переименовывать поля и что-то переделывать не нужно. Откройте настройки школы (см. 1.5. Подключение школы GetCourse) и впишите названия своих полей в отмеченные строки — SCAN будет читать метки именно из них:

Настройка школы SCAN со своими доп. полями

Логика приоритета меток

Откуда SCAN берёт каждую метку, зависит от настройки «Откуда брать UTM метки регистраций»:

  • «Только метки стандартного поля ГК — источник заказа» → все метки берутся из стандартного поля «Источник заказа», доп. поля не читаются.
  • «Только метки из дополнительных полей заказа» → метки берутся из доп. полей заказа.
  • «Из дополнительных полей заказа и из источника заказа» (рекомендуется) → SCAN берёт метки из «Источника заказа», а если метки там нет — проверяет доп. поле и берёт значение из него. Решение принимается по каждой метке отдельно, поэтому часть меток может прийти из источника заказа, а часть — из доп. полей.

Вариант 3. Свои доп. поля и скрипт SCAN​

Прежний порядок настройки. Подходит, если Вы хотите собирать метки в свои поля, а не в поля GetCourse, или если нужна метка utm_group в отдельном поле. Своих полей ещё нет — создадим их по шагам ниже.

Шаг 1. Создаём дополнительные поля в GC​

Зайдите в GC на страницу Заказы и нажмите ссылку: Дополнительные поля:

Страница «Заказы» в GetCourse

Нажмите кнопку Добавить поле и выберите тип строка:

Выбор типа дополнительного поля Форма создания дополнительного поля

Создайте до 6 дополнительных полей заказа — по одному на каждую UTM-метку, которая важна для аналитики. Рекомендуем добавить все шесть:

  • scan_utm_source;
  • scan_utm_medium;
  • scan_utm_campaign;
  • scan_utm_content;
  • scan_utm_term;
  • scan_utm_group.

Названия можно использовать любые — главное, указать их потом в настройках школы SCAN (см. 1.5. Подключение школы GetCourse, параметры «Название доп. поля для метки utm_source» и т.д.).

6 созданных доп. полей заказа:

Список из шести созданных доп. полей

Шаг 2: Вывод доп. полей в форме регистрации​

Добавим форму на страницу GC или в виджет и в форме добавим создание предложения с суммой заказа 0 руб. при отправке формы.

Форма регистрации с опцией создания нулевого предложения

Выведем созданные дополнительные поля в форме регистрации. Откройте настройки блока:

Кнопка открытия настроек блока

Нажмите на кнопку + Поле заказа:

Кнопка «+ Поле заказа»

Выберите созданное дополнительное поле заказа:

Выбор доп. поля в выпадающем меню

Создайте все 6 созданных доп. полей заказа и нажмите кнопку Сохранить и закрыть:

Форма со всеми шестью добавленными полями

Под формой появятся все 6 дополнительных полей:

Форма с выведенными шестью полями

Шаг 3: Установка скрипта​

Скопируйте код ниже:

<!— НАЧАЛО СКРИПТА ВСТАВКИ МЕТОК UTM В ДОП. ПОЛЯ ЗАКАЗА —>
<script type="text/javascript">
$(function(){
try{
function getUtmSelector(utm_id){
return `input[name="formParams[dealCustomFields][${utm_id}]"], textarea[name="formParams[dealCustomFields][${utm_id}]"]`
}
function setValueToCustomField(selector, value) {
var $el = $(selector);
if ($el.attr('type') === 'hidden') {
var $fieldEl = document.querySelector(selector).parentElement.querySelector(".form-control.f-input")
if ($fieldEl) {
$fieldEl.value = value
}
$el.val(JSON.stringify(value));
} else {
$el.val(value);
}
setTimeout(()=>{
setValueToCustomField(selector,value)
},3000)
}
var utm_source_selector = getUtmSelector("id доп поля utm_source")
var utm_medium_selector = getUtmSelector("id доп поля utm_medium")
var utm_campaign_selector = getUtmSelector('id доп поля utm_campaign')
var utm_content_selector = getUtmSelector('id доп поля utm_content')
var utm_term_selector = getUtmSelector('id доп поля utm_term')
var utm_group_selector = getUtmSelector('id доп поля utm_group')

var utm_source_val = getGet("utm_source");
var utm_medium_val = getGet("utm_medium");
var utm_campaign_val = getGet("utm_campaign");
var utm_content_val = getGet("utm_content");
var utm_term_val = getGet("utm_term");
var utm_group_val = getGet("utm_group");
setValueToCustomField(utm_source_selector, utm_source_val);
setValueToCustomField(utm_medium_selector, utm_medium_val);
setValueToCustomField(utm_campaign_selector, utm_campaign_val);
setValueToCustomField(utm_content_selector, utm_content_val);
setValueToCustomField(utm_term_selector, utm_term_val);
setValueToCustomField(utm_group_selector, utm_group_val);

}catch(error){
console.log(error,"Ошибка при вставке utm меток в доп. поля заказа.")
}
});

function getGet(name) {
var s = window.location.search;
s = s.match(new RegExp(name + '=([^&=]+)'));
return s ? decodeURI(s[1]) :"";
}
</script>
<!— КОНЕЦ СКРИПТА ВСТАВКИ МЕТОК UTM В ДОП. ПОЛЯ ЗАКАЗА —>

и вставьте его в общие настройки GetCourse. Страница находится по адресу: https://www.вашсайт.ру/saas/account/settings

Место в настройках GetCourse для вставки скрипта Поле для вставки кода

В скрипте есть значения id доп. поля заказа — вместо этого нужно вставить свои значения.

Например, заменим значение первой метки:

Пример значения «id доп. поля» в коде скрипта

Открываем страницу с формой, наводим мышку на первое поле scan_utm_source и нажимаем правую кнопку мыши и в открывшемся окне выбираем Посмотреть код:

Контекстное меню браузера с пунктом «Посмотреть код»

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

Инструменты разработчика с выделенным ID поля

Вставьте скопированные цифры в скрипт в настройках GC:

Скрипт со вставленным числовым ID поля

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

Скрипт со всеми заполненными ID полей

И нажмите кнопку Сохранить:

Кнопка «Сохранить» в настройках GetCourse

Шаг 4: Проверка работы скрипта​

Опубликуйте страницу с формой регистрации и откройте её с UTM метками в URL. Например, можно подставить к странице вот эту строчку:

?utm_source=source&utm_medium=medium&utm_campaign=campaign&utm_content=content&utm_term=term&utm_group=group

Во все доп. поля должны подставиться значения из URL:

Форма регистрации с заполненными UTM-метками из URL

Если значений нет или не во всех полях, пожалуйста, проверьте ещё раз всё по инструкции с самого начала.

Шаг 5: Скрытие доп. полей заказа​

Чтобы скрыть выведенные доп. поля нужно в CSS класс элемента добавить тег: hidden и сохранить настройки.

Тег «hidden» в CSS-классе элемента

После этого все поля будут скрыты, но в них по прежнему будут подставляться UTM метки из URL.

Откройте страницу с метками и заполните форму. На странице нулевого заказа в доп. полях должны быть сохранены значения из URL.

Типичные проблемы​

  • Системные поля заказа остаются пустыми — откройте настройки формы и проверьте список обработчиков (так в GetCourse называются действия, которые форма выполняет после отправки). Если там есть обработчик «Собирать utm-метки в доп. поля заказа», он должен стоять ниже обработчика «Создать заявку/заказ» — метки пишутся в заказ, а значит заказ к этому моменту уже должен быть создан.
  • Доп. поля пустые при работе через свои поля со скриптом — проверьте, что ID полей в скрипте указаны правильно (см. Шаг 3). Откройте форму и через «Посмотреть код» убедитесь, что атрибут name содержит тот же ID, что и в скрипте.
  • UTM-метки не доходят до SCAN — проверьте, что:
    • имена доп. полей в GetCourse и в настройках школы SCAN совпадают (см. 1.5, параметры «Название доп. поля для метки utm_…»). Для системных полей ГК впишите gc_system_deal_utm_source и остальные — сам SCAN их не подставляет;
    • первичный сбор данных закончился (после подключения SCAN загружает данные до суток).
  • Метка utm_group пустая — системного поля для неё у GetCourse нет. Выберите режим «Из дополнительных полей заказа и из источника заказа», тогда группа возьмётся из стандартного «Источника заказа».
  • Поля видны на форме у пользователей — это относится только к варианту со скриптом, повторите Шаг 5 (скрытие через CSS-класс hidden). При работе через системные поля ГК выводить их в форме не нужно.