Как настроить GTM с TurboLinks?Динамические данные с менеджером тегов Google и TurboLinks
Проблема:
GTM и команда SEO просит меня, чтобы добавить это к моей голове:
<% if user_signed_in? %>
dataLayer = [{'userID': '<%= current_user.id %>'},{'userCategory': 'User'}];
<% end %>
</script>
<!-- Paste this code as high in the <head> of the page as possible: -->
<!-- Google Tag Manager -->
<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'?'&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-N7MDCP');</script>
<!-- End Google Tag Manager -->
Это будет кэшировать TurboLinks. Я мог бы попытаться обернуть это на странице: изменить, но это не будет обновлять значения для user_signed_in и т. Д.
Могу ли я безопасно переместить это в тело, где TurboLinks обновит его? Если нет, то как еще я могу заставить GTM работать с динамическим datalayer и GTM?
Хорошо, спасибо. Если я попробую это для части заголовка GTM, мне нужно изменить основную часть тела? Тестирование сайта с предварительным просмотром не отображает событие, если страница не обновляется. Является ли GTM полагаться на page_load? – Will
Я задал вторичный вопрос, который мог бы сделать это более ясным: http://stackoverflow.com/questions/41449839/google-tag-manager-preview-does-not-display-when-navigating-to-pages-with- turbol – Will