Вставка кода Google Tag Manager в XSLT-шаблоны

Материал из Umicms
Перейти к:навигация, поиск

Актуально для версии 18.

В этой статье мы рассмотрим добавление кода Google Tag Manager в xslt-шаблоны системы.

Регистрация на сервисе и получение кода для вставки в шаблон:

  • Если у Вас нет аккаунта Google, Вы можете создать его на странице регистрации.
  • Перейдите на страницу Google Tag Manager и авторзуйтесь в своем аккаунте.
  • После авторизации Google Tag Manager предложит Вам создать первый аккаунт. Укажите название своей компании, выберите страну и нажмите далее, после этого введите url-адрес своего сайта и выберите платформу, на которой Вы хотите использовать сервис.
  • После сохранения данных Вы автоматически перейдете на страницу, на которой увидите 2 фрагмента кода, которые Google Task Manager предложит добавить в исходный код Вашего сайта.


Вставлять фрагменты кода нужно в файл default.xsl в папке Ваш сайт/templates/Название шаблона/xslt/layouts/
Если пользоваться официальной инструкцией, то сайт может упасть после добавления кода.

  • В первом фрагменте кода, нужно ‘&’ заменить на ‘&’ т.к. данный символ требует экранирования в xslt.
  • Второй фрагмент нужно вставлять непосредственно перед закрывающим тегом <body>, а не после открывающего, т.к. скрипт мешает загрузке структуры сайта.

Ниже инструкция:

Вместо GTM-XXXXX используйте свой идентификатор.

1. Вставьте следующий фрагмент в раздел <head> кода страницы как можно ближе к началу:

<script>
  (function(w, d, s, l, i) {
    w[l] = w[l] || [];
    w[l].push({
      'gtm.start': new Date().getTime(),
      event: 'gtm.js'
    });
    var f = d.getElementsByTagName(s)[0],
    j = d.createElement(s),
    dl = l != 'dataLayer' ? '&amp;l=' + l : '';
    j.async = true;
    j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
    f.parentNode.insertBefore(j, f);
  })(window, document, 'script', 'dataLayer', 'GTM-XXXXX');
</script>

2. Непосредственно перед закрывающим тегом <body> добавьте следующий фрагмент:

<noscript>
  <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXX" height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>

Второй фрагмент кода нужен для браузеров, в которых отключен JavaScript.