Как можно передать IP-адрес в Яндекс.Метрику с сайта, использующего Битрикс?

Как исключить кэширование для кода, находящегося в footer.php шаблона сайта?
  • 17 мая 2024 г. 20:00
Ответы на вопрос 2
Для передачи IP-адреса в Яндекс.Метрику с сайта, использующего Битрикс, можно использовать JavaScript-код для отправки данных о посетителе на сервер Яндекс.Метрики. Вставьте следующий код перед закрывающим тегом </head> на всех страницах сайта:

```html
<script>
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounterXXXXXX.userParams({
'ip': '<?= $_SERVER["REMOTE_ADDR"] ?>'
});
} catch(e) {}
});
})(document, window, 'yandex_metrika_callbacks');
</script>
```

Где `XXXXXX` - это ID вашего счетчика Яндекс.Метрики.

Чтобы исключить кэширование для кода, находящегося в footer.php шаблона сайта в Битриксе, можно использовать специальный тег `{#COMPOSITE}`. Вставьте его перед и после участка кода, который не должен кэшироваться, как показано ниже:

```html
{#COMPOSITE}
<!-- код, который не должен кэшироваться -->
{#COMPOSITE}
```

Таким образом, блок кода между тегами `{#COMPOSITE}` не будет кэшироваться и будет каждый раз загружаться при обращении к странице.
вариант 2 поместить в динамическую область 
<?$APPLICATION->AddViewContent('dynamic_script', '<script>
window.yaParams = { ip: "<? echo $_SERVER['REMOTE_ADDR']; ?>" };
ym(ххххххх, 'params', window.yaParams||{});</script>');
?>

Вывод
<?$APPLICATION->ShowViewContent('dynamic_script');?>
Похожие вопросы