Просмотр виртуальной страницы Диспетчера тегов Google

У меня есть небольшая проблема с настройкой virtualPageView, которая должна переопределять URL-адрес, отправляемый в Google, когда результата нет.

Вот что у меня есть в виде кода JavaScript:

function returnNoSearchResultsGoogleTagManagerCode($searchterm){
    if ($searchterm == "") return "";

    $requestUri = $_SERVER['REQUEST_URI'] . "&no_result=".$searchterm;


    $js = "<script>
        $(document).ready(function(){
             dataLayer.push({
                 'event':'empty_result',
                 'virtualPageURL':'".$requestUri."'
                });
            });


    </script>";

    return $js;
}

Как видите, я хочу использовать триггер события (empty_result).

В Google я использую триггер, чтобы определить, является ли страница страницей без результатов. Сначала я создал пользовательскую переменную с пользовательским JS.

    function(){
       if (document.getElementsByClassName('ga-no-result').length > 0){
            return true;
       }else{
            return false
       }
   }

Класс устанавливается, если SearchEngine не может найти результат. Все идет нормально. Я также создал переменную dataLayer для хранения virtualPageURL.

уровень данных

Теперь мне нужно событие, которое запускается, если переменная верна.

Событие SearchEmptyResult

Наконец, я создал тег с типом PageView, который срабатывает при возникновении события:

Тег Google

До сих пор все в порядке, тег настроен правильно (я думаю), но если я выполняю поиск, который не дает результатов, URL-адрес страницы не переопределяется

введите здесь описание изображения

Тег правильно запущен, и переменные заполнены. Обзор dataLayer показывает правильное событие dataLayer. Но PageURL не переопределяется... Даже если я подожду целый день, категория не будет отправлена ​​в Google.

Что я делаю неправильно? Я был бы очень благодарен, если бы у кого-то была идея или даже решение :)

заранее спасибо

exa.byte

ОБНОВИТЬ:

Эй, я забыл упомянуть, что я хочу использовать новую переменную страницы в качестве строки, которую Google должен использовать для определения условия поиска и категории поиска. В Google Analytics я настроил поиск как параметр «q», а «no_result» как категория. Можно ли вообще изменить строку, которую Google в конце проанализирует?


person exa.byte    schedule 08.08.2017    source источник
comment
Я думаю, что для просмотра виртуальной страницы вам нужно изменить страницу поля - в вашем GTM-OnSearchEmptyResult вы меняете {{URL-адрес страницы}} - я не думаю, что это правильный способ отправки виртуального просмотра страницы. Также, если вам нужно изменить имя хоста, используйте имя хоста Fieldname.   -  person Matus    schedule 08.08.2017
comment
Что сказал Матус (должен быть ответ ИМО). Кроме того, наличие пользовательского события для пустых страниц результатов и тестирования пустых результатов в пользовательской переменной кажется излишним.   -  person Eike Pierstorff    schedule 08.08.2017
comment
Эй, спасибо за ваши ответы. Переменная страница не существует... как вы можете видеть на снимке экрана, у меня есть доступ к URL-адресу страницы, пути к странице и имени хоста страницы @EikePierstorff Я не совсем понимаю ваш комментарий. Я использую Boolean-Var, чтобы проверить, является ли страница пустым_результатом. Я не вижу здесь избыточности. Не могли бы вы объяснить? Логическое значение просто используется для триггера, а virtualPageView — это уровень данных, который мне нужен, поскольку я настроил его в теге, чтобы значения из DataLayer могли переопределять встроенные переменные. Может я ошибаюсь :(   -  person exa.byte    schedule 08.08.2017
comment
В интерфейсе набора полей самое левое текстовое поле предназначено не для переменной, а для поля, значение которого вы хотите изменить. Поле данных, которое содержит текущий путь к странице, называется страницей. Поэтому, если вы хотите перезаписать текущий путь к странице виртуальным URL-адресом, вы делаете это, устанавливая в поле страницы значение переменной пути к виртуальной странице. Чтобы лучше понять, как это работает, посмотрите ссылку на поле: developers.google. .com/analytics/devguides/коллекция/   -  person Eike Pierstorff    schedule 08.08.2017
comment
@EikePierstorff Хорошо, спасибо. Я настроил его, как вы предложили, но все равно не повезло, что имя поля теперь является страницей (без ), а значение по-прежнему {{virtualPageURL}} (без ). Но когда я просматриваю инструмент GTM-Preview, URL-адрес страницы по-прежнему тот который находится в адресной строке браузера :(   -  person exa.byte    schedule 08.08.2017
comment
Не забудьте обновить страницу после внесения изменений. Я знаю, это звучит глупо, но на самом деле это происходит часто :p   -  person Jelman    schedule 08.08.2017
comment
Нет проблем, это была проблема? :п   -  person Jelman    schedule 08.08.2017


Ответы (5)


Чтобы отправить виртуальный просмотр страницы в Google Analytics, необходимо изменить поле page, а не {{Page Url}} , а также поле title. часто используется.

Это действительно единственные две вещи, которые вам нужно сделать, чтобы отправить простой виртуальный просмотр страницы.

Дополнительно: я всегда начинаю свой путь к странице с /virtual/, чтобы иметь возможность легко распознавать, какие из них являются виртуальными просмотрами страниц в GA.

person Jelman    schedule 08.08.2017

Для просмотра виртуальной страницы вы должны изменить поле «страница» - в вашем GTM-OnSearchEmptyResult вы меняете «{{URL-адрес страницы}}» - я не думаю, что это правильный способ отправки виртуального просмотра страницы. Также, если вам нужно изменить имя хоста, используйте Fieldname «hostname».

В режиме предварительного просмотра вы не увидите изменения URL-адреса страницы на вкладке «Переменные», вам нужно перейти к фактическому тегу GA, который запущен, и проверить его значения. Вы можете сделать это либо в инструменте предварительного просмотра GTM, либо использовать стандартные инструменты разработчика — вкладку «Сеть» и посмотреть, какие значения отправляются в GA:

введите здесь описание изображения

Вы можете видеть, что параметр «dl» — это текущая страница, если вы настроили виртуальную страницу, вы также должны увидеть параметр с именем «dp», это будет новое значение страницы в вашем GA.

person Matus    schedule 08.08.2017
comment
Эй, спасибо за ваш ответ. Я вижу переменную dp в моей сетевой вкладке. @Matus Использует ли Google теперь эту переменную для проверки условий поиска и категорий поиска? (это то, что я на самом деле хочу сделать со строкой URL) Я обновлю квест, спасибо! - person exa.byte; 08.08.2017

Если вы хотите настроить виртуальный просмотр страницы, вам нужно использовать page вместо {{Page URL}} в вашем имя поля, а для названия документа используйте < strong>title в вашем имени поля. для получения дополнительной справочной информации по Google Analytics перейдите по ссылке ниже https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#hitType.

person Dinesh Gopal Chand    schedule 08.08.2017

Если вы не хотите возиться с пользовательскими событиями Диспетчера тегов, вы все равно можете использовать старый добрый метод ga, даже если вы не включаете код Google Analytics на страницу. Вам просто нужно выбрать правильный трекер динамически, как объяснил Симо Ахава в эта тема.

if (typeof ga === "function") {
  ga.getAll().forEach((tracker) => {
    tracker.set('page', '/my/path'); // <- change here
    tracker.send('pageview');
  });  
}

Я также поместил его в здесь.

person hannes_l    schedule 04.04.2018

Спасибо за вашу помощь. Я думаю, что избавился от проблемы и решил ее сейчас. Я опишу свое решение ниже:

Решение довольно простое.

  1. У меня была ошибка/орфографическая ошибка @ google backend. Я установил для параметра search_category значение "no_results", но для реализации использовал "no_result"... Довольно глупо, но иногда за деревьями просто не видно леса...

  2. Я создал новый триггер в качестве помощника «HelperDomReady», чтобы запускать только в том случае, если DOM готов, а переменная «isEmptySearch» равна «(bool) true»

Теперь я могу видеть поисковые запросы, которые не дают результатов в бэкэнде Google, в сводке «категории поиска по сайту». Поскольку я вообще не буду устанавливать параметр, если в поиске было хотя бы одно совпадение, в категории поиска по сайту отображается «не задано» для успешных результатов. Поэтому в разделе категорий будут отображаться только поиски без совпадений. Задача решена :)

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

person exa.byte    schedule 17.08.2017