2015-10-23 4 views
11

Я пытаюсь интегрировать Диспетчер тегов Google с моим приложением Ember. Мне сложно понять, как уведомить GTM о том, что страница изменилась, и отправить событие просмотра страницы.Диспетчер тегов Google и одностраничные приложения

Я много читал в Интернете, в основном работая над созданием новой переменной для «виртуальной страницы» или чего-то еще, но, очевидно, это далеко не идеально.

Я хочу, чтобы иметь возможность использовать только dataLayer.push, чтобы уведомить об изменении страницы. Есть ли легкий выход, которого я не нашел или это действительно боль, чтобы отслеживать с GTM на SPA?

+0

Любопытно, если VPVs далеко не идеальны, то что идеально для вас в вашем случае SPA. VPV - это почти единственный вариант для вас, если, конечно, вы не измените архитектуру страницы вашего сайта. Тем не менее, чтобы использовать VPV, вам нужно нажимать событие каждый раз, когда изменяется «страница», а затем запускает тэг просмотра страницы, который запускает и устанавливает новое имя страницы (т. Е. Ваш VPV). – nyuen

+0

@nyuen, похоже, вы знаете, о чем говорите. Я просто задавался вопросом, почему это было не так просто, как с GA, где я мог просто сделать ga ('send', 'pageview') ', и GA будет уведомлять страницу об изменении. –

+0

@nyuen также, может ли GA после этого уведомить страницу, измененную непосредственно из GTM, поэтому мне не нужно запускать 'ga ('send', 'pageview')' then 'dataLayer.push'? –

ответ

8

Вам определенно нужно нажать события в DataLayer, который затем вы можете запустить тег просмотра страницы GA в GTM. Таким образом, чтобы подтолкнуть события в DL:

dataLayer.push({'event':'virtualPageView'}); 

Затем настроить триггер под названием «В», который стреляет на пользовательское событии под названием «virtualPageView». Добавьте этот триггер в тег GA.

Лучшее, что нужно сделать, это также отправить информацию о виртуальной странице при отправке события. Таким образом вы можете настроить переменные, которые вытаскивают эти значения свойства dataLayer в вызов просмотра страницы. Таким образом, вы можете сделать это:

dataLayer.push({ 
    'event':'virtualPageView', 
    'page':{ 
    'title':'contact us', 
    'url':'/contact' 
    } 
}); 

Таким образом, вы хотите настроить переменную под названием «Д.Л. заголовок страницы» (к примеру), который представляет собой значение dataLayer из «page.title» и другой переменной под названием «DL - страница url ', который является значением dataLayer' page.url '.

Затем вы настраиваете новый тег Universal Analytics, который имеет все обычные настройки просмотра страниц, но с 2 «Поля для установки» (в разделе «Дополнительные настройки»). Установите 'title' на {{Название DL-страницы}} и 'page' на {{DL-страница url}}

Наконец, установите триггер в 'vpv', и вы найдете каждый раз, когда вы нажимаете данные события + в datalayer вы получите страницу ViewView с заголовком вашей виртуальной страницы и виртуальным url.

+0

Я пробовал это, и у меня была одна серьезная проблема, так как я продолжаю толкать событие в dataLayer. Я получаю экспоненциальное количество событий, так как dataLayer постоянно на разных страницах. – Sunny

+0

@Sunny Я предполагаю, что вы имеете в виду, что вы получаете большой массив dataLayer, потому что вы продолжаете вставлять в него события просмотра страниц. Это недостаток использования DL, подобного этому, в одностраничном приложении. Не забывайте, что DL - это просто массив, сидящий на веб-странице. вы можете очистить его в любое время, если вы выберете. –

+0

@dmpg_tom @Sunny 'dataLayer' имеет ограничение в 300 записей и будет очищаться по мере необходимости: http://www.simoahava.com/gtm-tips/datalayer-declaration-vs-push/#comment-608025 – krukid

0

Это предложение было задано довольно давно. С текущим набором функций GTM вы можете легко настроить отслеживание страницы SPA без особых проблем.

Сначала перейдите к Triggers и создайте новый курок. В качестве типа триггера выберите History Change. Это создаст триггер, который срабатывает каждый раз при изменении истории местоположений.

Затем создайте новый Tag из Universal Analytics и настройте его согласно скриншоту ниже.

[Universal Analytics tag configuration[1]

Что касается запуска, установите ранее определенную историю изменений триггер, и вы сделали. Каждый раз, когда навигация происходит в вашем SPA, будет запущено событие просмотра страницы с правильным пути к странице.

Смежные вопросы