Решил задачу при помощи блокировки отправки формы кнопкой "submit" и отправки ее самостоятельно посредством ajax-запроса. Хотя, вариант из комментариев к вопросу кажется более жизнеспособным, если нужны именно "реальные" пользователи, подтверждающие свою учетную запись, а не отслеживание самого процесса регистрации. Зависит от задачи и того, что хотят от вас специалисты по рекламе.
Опишу здесь свой вариант решения.
1. "/template_name/components/bitrix/system.auth.registration/template_name/template.php"
Здесь поставил на "submit button" событие onclick:
onclick = "registerSubmit(event);"
2. В основном файле скрипта (или в любом другом, загружающемся на странице):
function registerSubmit(event) {
event.preventDefault();
var form = jQuery(event.target).closest('.registration-form');
if (form.length) {
form.find('[name="USER_EMAIL"]').val(form.find('[name="USER_LOGIN"]').val());
BX.ajax.post(
form.attr('data-ajax'),
form.serialize(),
function(result) {
var parent;
result = jQuery(result);
if (result.attr('id') == 'bx_incl_area_1') {
yaCounter52684615.reachGoal('LK');
location.href = '';
}
else {
/*
Обработка действий в случае неудачной попытки регистрации,
в этом случае в result приходит разметка формы с текстом ошибок.
*/
}
}
);
}
return false;
}
То же - и для авторизации, за исключением, что путь к шаблону компонента другой и некоторые изменения в самой функции. Некоторые действия, возможно, специфичны для конкретно моего решения и установленного шаблона - не знаю, какие изменения в шаблоны были внесены до меня. Эта строка:
form.find('[name="USER_EMAIL"]').val(form.find('[name="USER_LOGIN"]').val());
Заполняет невидимый input "USER_EMAIL" данными из input'а "USER_LOGIN" (туда пользователь, как ни странно, вводит свой email-адрес). Она может быть не нужна в стандартном (или любом другом) шаблоне.
Но суть остается прежней: получаем форму-родителя кнопки "submit", на которую нажали, смотрим, чтобы все необходимые для регистрации поля были заполнены, сериализуем форму и посылаем post-запросом на требуемый адрес (у меня этот адрес был записан в "data-ajax"). Если все прошло успешно - перезагружаем страницу, а если нет - выполняем другие действия. Например, заменяем содержимое родителя формы тем, что пришло от сервера. Код в этой секции намеренно удалил, потому что он-то уж точно был специфичным.
Для определения, прошло ли все успешно, смотрим, что возвращает сервер в обоих случаях, ищем различия между двумя результатами и так проверяем. У меня при успешной регистрации сервер возвращает пустой "div" с "id = bx_incl_area_1".