Напишите нам
WhatsApp
В этой инструкции мы расскажем как настроить передачу Yandex ClientID в скрытом поле заявки в amoCRM для конструктора сайтов Платформа ЛП.
Ниже приведен код, который мы использовали в видео.
Не забудьте прописать в нем номер вашего счетчика в Яндекс.Метрике.
<script type="text/javascript">
(function(){
    //Для работы кода необходимо в переменной ya_counter_id записать идентификатор счетчика вашего сайта в Яндекс.Метрике
    var ya_counter_id = '11111111'; // Изменить на идентификатор счетчика вашего сайта в Яндекс.Метрике
    var ya_client_id = '';
    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;
                    var fields = document.querySelectorAll('input[value="ClientID"]');
                    for (var i = 0; i < fields.length; i++) {
                        fields[i].value = ya_client_id;
                    }
                    var div_fields = document.querySelectorAll('div[class="name"]');
                    for (var j = 0; j < div_fields.length; j++) {
                        if (div_fields[j].innerHTML === 'ClientID') {
                            var element = div_fields[j];
                            while(element.parentNode) {
                                if (element.getAttribute('plp-field') === 'hidden') {
                                    var inputs = element.getElementsByTagName('input');
                                    for (var k = 0; k < inputs.length; k++) {
                                        inputs[k].value = ya_client_id;
                                    }
                                    break;
                                }
                                element = element.parentNode;
                            }
                        }
                    }
                    clearInterval(intervalYaClientId);
                }
            } catch(err) {
            }
        }, 1000);
    };
    setYaClientId();
})();
</script>