Документация для разработчиков
Темная тема

Использование сквозной аналитики при создании лида

Пример использования сквозной аналитики при создании лида. Предварительно создайте php-страницу с веб-формой обратной связи (Ф.И.О, телефон). На странице разместите код примера.

Что происходит во время выполнения кода?

1. Подключается стандартный js-код из сквозной аналитики Битрикс24.
2. После заполнения формы помимо полей формы в скрытом поле передаётся код для сквозной аналитики b24Tracker.guest.getTrace().
3. Затем вызывается crm.lead.add, в котором в поле TRACE добавляется код из getTrace.

Скрипт сквозной аналитики устанавливается на вашем сайте перед закрывающим тегом </body> на всех страницах сайта включая страницу с формой.

Внимание! Для использования примера настройте работу класса CRest и подключите файл crest.php в файлах, где используется данный класс. Подробнее.

<!DOCTYPE html>
<html lang="ru">
	<head>
		<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" crossorigin="anonymous">
	</head>
	<body class="container">
		<h1>Feedback</h1>
		<?
		include("crest.php");
		$message = '';
		if(!empty($_POST['SAVE']))
		{
			$fields = [
				'TRACE' => $_POST['TRACE'],
				'NAME' => $_POST['NAME'],
				'LAST_NAME' => $_POST['LAST_NAME'],
				'PHONE' => [ [ 'value'=>$_POST['PHONE'] ] ],
			];
			$result = CRest::call(
				'crm.lead.add',
				[
					'fields' => $fields
				]
			);
			if (!empty($result['result']))
			{
				$message = 'Feedback saved';
			}
			elseif (!empty($result['error_description']))
			{
				$message =	'Feedback has not been saved: '.$result['error_description'];
			}
			else
			{
				$message = 'Feedback has not been saved';
			}
		}
		?>
		<div class="col-12">
			<p><?=$message?></p>
		</div>
		<form method="post" action="">
			<input type="hidden" id="FORM_TRACE" name="TRACE">
			<div class="row">
				<div class="col-4 mt-3">
					<label>Name*</label>
				</div>
				<div class="col-6 mt-3">
					<input type="text" name="NAME" required>
				</div>
			</div>
			<div class="row">
				<div class="col-4 mt-3">
					<label>Last name*</label>
				</div>
				<div class="col-6 mt-3">
					<input type="text" name="LAST_NAME" required>
				</div>
			</div>
			<div class="row">
				<div class="col-4 mt-3">
					<label>Phone*</label>
				</div>
				<div class="col-6 mt-3">
					<input type="text" name="PHONE" required>
				</div>
			</div>
			<div class="row">
				<div class="col-sm-10">
					<input type="submit" name="SAVE" class="btn btn-primary" value="Send">
				</div>
			</div>
		</form>
		<script>
			 window.onload = function(e){
				var traceInput = document.getElementById('FORM_TRACE');
				if(traceInput)
				{
					traceInput.value = b24Tracker.guest.getTrace();
				}
			}
		</script>
	</body>
</html>

Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Игорь Шевчик
Сообщение не промодерировано, возможны ошибки и неточности.
Лучше подключать JS так (особенно для нескольких форм)
Код
window.addEventListener('load', (event) => {
    let traceInput = document.getElementById('<?=$traceId?>');
    if(traceInput)
    {
        traceInput.value = b24Tracker.guest.getTrace();
    }
});
4
Denis Tabac
Сообщение не промодерировано, возможны ошибки и неточности.
Здравствуйте!

Помогите пожалуйста изменить поле Сквозная аналитика - https://dl.dropboxusercontent.com/s/6w78pqc8mdekywg/2020.08.01.2224.png ?
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх