Данная инструкция поможет вам настроить передачу событий из формы регистрации в Яндекс.Метрику. Это позволит отслеживать ключевые этапы процесса регистрации пользователей.
Доступные цели для отслеживания:
- Пользователь начал вводить номер телефона.
- Пользователь запросил код подтверждения по СМС.
- Пользователь дошел до этапа подтверждения по телефону.
- Регистрация успешно завершена.
Настройка целей в Яндекс.Метрике
Создание новой цели
- Войдите в интерфейс Яндекс.Метрики.
- Перейдите в раздел "Цели" для вашего счетчика.
- Нажмите кнопку "Добавить цель".
Настройка параметров цели
Для каждой из 4 целей выполните следующие действия:
- Тип цели: выберите "JavaScript-событие".
- Название: укажите понятное название (например, "Начало регистрации").
- Идентификатор: введите один из идентификаторов:
mcrm_register_begin (пользователь начал вводить номер телефона)
mcrm_register_sms_code (пользователь запросил код подтверждения по СМС)
mcrm_register_call_check (пользователь дошел до этапа подтверждения по телефону)
mcrm_register_success (регистрация успешно завершена).
Замена кода фрейма на сайте
- Код фрейма. Замените существующий код фрейма на обновленный вариант (скопируйте его в блоке ниже). В строке 17 впишите адрес вашего сервера MCMR и RegKey
- Правильный идентификатор счетчика. Замените значение ymCounterID = 1010101 на идентификатор вашего счетчика Яндекс.Метрики в 18 строке
- Наличие метрики на странице. На странице, где размещается фрейм, обязательно должна быть установлена Яндекс.Метрика с тем же идентификатором, который указан в переменной ymCounterID.
<script type="text/javascript">
$(document).ready(function () {
var params = window
.location
.search
.replace('?', '')
.split('&')
.reduce(
function (p, e) {
var a = e.split('=');
p[decodeURIComponent(a[0]).toLowerCase()] = decodeURIComponent(a[1]).toLowerCase();
return p;
},
{}
);
var frameUrl = "https://your_server.marketingcrm.online/frame/register/?id=.....&virtual=1";
var ymCounterID = 1010101;
if (params['promo'] !== undefined) {
frameUrl = frameUrl + '&promo=' + params['promo'];
}
if (params['referal'] !== undefined) {
frameUrl = frameUrl + '&referal=' + params['referal'];
}
if (params['utm_source'] !== undefined) {
frameUrl = frameUrl + '&utm_source=' + params['utm_source'];
}
if (params['utm_campaign'] !== undefined) {
frameUrl = frameUrl + '&utm_campaign=' + params['utm_campaign'];
}
if (params['utm_content'] !== undefined) {
frameUrl = frameUrl + '&utm_content=' + params['utm_content'];
}
if (params['utm_term'] !== undefined) {
frameUrl = frameUrl + '&utm_term=' + params['utm_term'];
}
if (params['pm_source'] !== undefined) {
frameUrl = frameUrl + '&pm_source=' + params['pm_source'];
}
if (params['pm_block'] !== undefined) {
frameUrl = frameUrl + '&pm_block=' + params['pm_block'];
}
if (params['pm_position'] !== undefined) {
frameUrl = frameUrl + '&pm_position=' + params['pm_position'];
}
if (params['utm_medium'] !== undefined) {
frameUrl = frameUrl + '&utm_medium=' + params['utm_medium'];
}
window.addEventListener('message', function(event) {
if (event.data && event.data.type === 'frame-reachGoal') {
if (typeof ym === 'function') {
ym(ymCounterID, 'reachGoal', event.data.goal);
}
}
});
ym(ymCounterID, 'getClientID', function(clientID) {
frameUrl = frameUrl + '&client_id=' + clientID;
$(".akrk-frame").html('<iframe src="' + frameUrl + '" frameborder="0" height="750" width="100%">Ваш браузер не поддерживает плавающие фреймы!</iframe>');
});
});
</script>
<div class="akrk-frame"></div> <!-- nominify end -->