Напишите нам
WhatsApp
В этой инструкции мы расскажем как настроить передачу Yandex ClientID в скрытом поле заявки в amoCRM для конструктора сайтов LP Motor.
Ниже приведен код, который мы использовали в видео.
Не забудьте прописать в нем номер вашего счетчика в Яндекс.Метрике.

<script type="text/javascript">
(function(){
    //Для работы кода необходимо в переменной ya_counter_id записать идентификатор счетчика вашего сайта в Яндекс.Метрике
    var ya_counter_id = '11111111'; // Изменить на идентификатор счетчика вашего сайта в Яндекс.Метрике
    var ya_client_id = '';
    var fields = [];
    var spans = document.querySelectorAll('span.label_txt');
    for (var i = 0; i < spans.length; i++) {
        if (spans[i].innerHTML === 'ClientID') {
            var element = spans[i];
            while(element.parentNode) {
                if (element.classList.contains('field')) {
                    element.style.display="none";
                    fields.push(element);
                    break;
                }
                element = element.parentNode;
            }
        }
    }
    var setYaClientId = function (){
        var intervalYaClientId = setInterval(function(){
            try {
                if (typeof window['yaCounter'+ya_counter_id] !== "undefined" && typeof window['yaCounter'+ya_counter_id].getClientID !== "undefined") {
                    ya_client_id = window['yaCounter'+ya_counter_id].getClientID();
                    if (!ya_client_id)
                        return;
                    for (var i = 0; i < fields.length; i++) {
                        var inputs = fields[i].getElementsByTagName('input');
                        for (var j = 0; j < inputs.length; j++) {
                            inputs[j].value = ya_client_id;
                        }
                        var textareas = fields[i].getElementsByTagName('textarea');
                        for (var k = 0; k < textareas.length; k++) {
                            textareas[k].value = ya_client_id;
                        }
                    }
                    clearInterval(intervalYaClientId);
                }
            } catch(err) {
            }
        }, 1000);
    };
    setYaClientId();
})();
</script>