Общие пакеты для вебсайтов
pnpm i @alexsab-ru/scripts
reachGoal
и pageView
функции добавляют в dataLayer
данные с названием цели
reachGoal("названиеЦели");
pageView("названиеЦели");
в GTM вы можете использовать их чтобы отправить цели в вашу систему аналитики
{
event: "reachGoal-названиеЦели",
eventAction: "названиеЦели"
}
Пример:
import { reachGoal } from '@alexsab-ru/scripts';
// Автоматически подключаются из модуля форм
reachGoal("phone_click");
reachGoal("phone_copy");
reachGoal("phone_contextmenu");
reachGoal("email_click");
reachGoal("email_copy");
reachGoal("email_contextmenu");
Для аналитики форм вы можете использовать следующие цели
reachGoal("form_open");
reachGoal("form_click"); // автоматически подключаются из модуля форм
reachGoal("form_change"); // автоматически подключаются из модуля форм
reachGoal("form_submit");
reachGoal("form_required");
reachGoal("form_error");
reachGoal("form_success");
getFormDataObject
нужна для отслеживания заявок в Calltouch
import { getFormDataObject } from '@alexsab-ru/scripts';
document.querySelectorAll("form").forEach((form) => {
form.onsubmit = async (event) => {
var formData = new FormData(form);
// ...
var formDataObj = getFormDataObject(formData, form.id);
await fetch("https://example.com/api/lead/", {
// ...
})
.then((res) => res.json())
.then((data) => {
if (data.answer == "required") {
reachGoal("form_required");
return;
} else if (data.answer == "error") {
reachGoal("form_error");
return;
} else {
reachGoal("form_success", formDataObj);
}
form.reset();
})
.catch((error) => {
reachGoal("form_error");
});
};
});
Взаимодействия с формой
- form_open – открыл форму
- form_click – кликнул по форме
- form_change – изменения в форме
- form_submit – нажал кнопку Отправить
- form_required – не полное заполнение формы
- form_error – ошибка, данные по какой-то причине не отправились
- form_success – получит положительный ответ от сервера, т.е. данные отправились
- form_close – закрыл форму
Взаимодейтсвие с телефоном
- phone_click — клик по телефону мышкой
- phone_contextmenu — открытие контекстного меню на телефоне правой кнопкой мыши
- phone_copy — копирование выделенного телефона
Если где-то есть кликабельный email на странице, то будут отрабатываться цели на нем
- email_click — клик по email мышкой
- email_contextmenu — открытие контекстного меню на email правой кнопкой мыши
- email_copy — копирование выделенного email
import { getCookie, setCookie, deleteCookie, cookiecook } from './cookie';
getCookie('cookie_name');
setCookie('cookie_name');
deleteCookie('cookie_name');
cookiecook(days);
import { createRequest } from '@alexsab-ru/scripts';
// Отправка заявки на обратный возов в CallTouch
createRequest("ct_callback", "+7 (987) 654-32-10");
// для показа лога нужно использовать третий парамтер
createRequest("ct_callback", "+7 (987) 654-32-10", true);
import { connectForms, cookiecook } from '@alexsab-ru/scripts';
cookiecook();
connectForms('https://alexsab.ru/lead/test/', function() {
console.log("sucess lead");
});