2013-12-06 2 views
2

Я пытаюсь создать регулярное выражение для запуска тега в Диспетчере тегов Google на определенных страницах.Запуск тега на определенных страницах в Диспетчере тегов Google

Проблема, с которой я сталкиваюсь, заключается в том, что я не хочу запускать этот тег по URL-адресам, соответствующим им, поскольку это только идентификатор сеанса, и мне не нужен ярлык для запуска на страницах с запросом строка. Это в основном дубликаты, и им не требуется отслеживание в сторонней программе отслеживания. Я знаю, как я мог исключить их в GA, но я не могу понять, как это сделать для стороннего отслеживания.

Ниже я расскажу о сценарии ниже и о том, что я пробовал.

Пример страницы, которые приходят в моем докладе URL, если я смотрю в ГА:

/страница

/страница/подстраниц мой-красивый-запрос-струнной & некоторые-другие-данные

/страница/подстраниц

/страница/подстраниц/subsubpage

/страница /? запрос-стри ng-again

Так что я хочу сделать отслеживание на страницах, которые НЕ имеют строку запроса, и это доказывает свою проблему.

Если я положил ^/page.*[^\?], он просто не работает. Наверное, я полностью использую отрицательный класс персонажей, все неправильно? Я не могу заставить его работать и потребуется некоторая помощь в том, как разработать лучшее регулярное выражение.

Некоторые другие я попробовал было:

^/page/.*, но это один только соответствует всем после /page/ но не /page.

Я не очень хорошо разбираюсь в регулярных выражениях, поэтому я хочу, чтобы это было так: /page, /page/subpage, /page/subpage/subpage и т. Д., Но не любой URL-адрес, в котором есть строка запроса.

В GTM я не могу создать два правила, которые говорят "Include {{url path}} matching this" and "Exclude {{url path}} matching \?", поэтому все это нужно сделать в пределах одного регулярного выражения ... И это полностью заставило меня потеряться.

Редактировать: Майк дал хороший ответ, чтобы решить мою часть GTM, но мне все еще интересно узнать, можно ли сделать выше, но с одним регулярным выражением?

ответ

7

Вы можете создать два правила, как описано.

В GTM теги могут иметь как правила стрельбы, так и правила блокировки. Блокировка имеет приоритет. например.

Обжиг правило:

{{url}} matches ^page/.* 

Блокирующий правило:

{{url}} does not contain ? 

Другим вариантом является использование яваскрипта макро обычая. Он находится в форме function(){ }, который может определять значение строки запроса в window.location.search и возвращать значение boolean. Затем введите правило обжига {{your custom fn}} equals 1.

Вы также можете создать макрос, который использует тип макроса URL и тип компонента Query. Значение устанавливается в строку запроса без ведущего ?. Если url был example.com?foo=bar, этот макрос будет содержать foo=bar. Затем просто добавьте правило обжига {{query}} matches Regex ^$ или {{query}} does not contain something-that-will-never-be-in-the-url-to-avoid-regex

+0

Спасибо за ответ, Майк. Это действительно решает мою проблему GTM. Было бы здорово, если бы у кого-то был некоторый вклад в мою проблему с регулярным выражением, потому что я все равно хотел бы знать, можно ли сделать выше с одним единственным регулярным выражением. – MrSponge

+1

Похоже, что регулярное выражение, которое вы используете, - '^ \/page [^ \?] *? $' –

+1

Что означает URL, начинающийся с (^)/страниц, за которым следует что-либо, что не является? ноль или более раз (*?) до конца строки ($) –

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