Передача ClientID Яндекс.Метрики в каждую заявку

Следующий код нужно добавить в HEAD страницы. Он будет добавлять поле «ClientID Яндекс.Метрики» во все формы на странице.

<script>
cr.api(function cb(page) {
// Номер счетчика Яндекс.Метрики
var ymNumber = '12345678';
if (window.ym) {
// Запрашиваем значение у Метрики
ym(ymNumber, 'getClientID', function (clientID) {
// После чего добавляем обработчик события, который перед отправки
// любой формы на странице...
page.on('before-form-submit', function (event) {
// ... добавит к ней поле ClientID
event.fields.push({
// Название поля в заявке
name: 'ClientID Яндекс.Метрики',
// ID поля для интеграций
uid: 'ym-client-id',
// Значение поля
value: clientID,
});
});
});
} else {
// Перезапускаем функцию, пока не будет инициирована метрика
return setTimeout(function () {
cb(page);
}, 100);
}
});
</script>

В коде нужно поменять 12345678 на ваш настоящий номер счетчика.