Передача идентификатора gtm динамически в скрипт gtm в разделе head - PullRequest
0 голосов
/ 23 мая 2019

Я включил менеджер тегов google в мое приложение реагировать на js, но проблема в том, что я должен передать идентификатор gtm, присутствующий в сценарии gtm, и динамически включать и выключать анализатор данных в зависимости от ответа значения, поступающего от API.

Я создал компонент LoadAppKeys, который получает значение, по которому я решаю, включен ли gtm или нет. Но как мне передать идентификатор gtm динамически в скрипт, присутствующий в разделе head файла index.html, и добавить скрипт в заголовок, если значение равно 1, а не если его 0.

class LoadAppKeys extends React.PureComponent {

  componentDidMount() {
    this.props.getStorefrontConfigs();
  }

  componentWillReceiveProps(nextProps) {
      if (!nextProps.loading) {
       const gtm = getGTM(nextProps.storefrontConfig);
         if (R.equals(gtm.gtm_enabled, 1)) {
            var script = document.createElement('script');
               script.type = "text/javascript";
               script.text = myGTM(window, document, 'script', 'dataLayer', "GTM-KQZGSBW");
            document.head.appendChild(script);
         }
   }
  }

-------------------------------------

    function myGTM(w, d, s, l, i) {
        (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' ? '&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_id);
      }

Хотите загружать скрипт каждый раз, когда страница основана на значении в компоненте loadAppKeys.

1 Ответ

0 голосов
/ 26 июня 2019

Вы можете напрямую вызвать myGTM вместо полной вставки скрипта.В противном случае, если вы хотите выполнить вставку, все, что вам нужно, это определить атрибут src, например:

script src = 'https://www.googletagmanager.com/gtm.js?id='+id

Там вы не упоминаете, как вы получили идентификатор, но в основном изменитеидентификатор вашей переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...