#regex #google-analytics
#регулярное выражение #google-analytics
Вопрос:
Я хотел бы отслеживать в Google Analytics приведенную ниже страницу благодарности с РЕГУЛЯРНЫМ ВЫРАЖЕНИЕМ. Приведенная ниже страница благодарности будет отличаться в зависимости от названия загружаемого файла (заголовок-содержимое). Следовательно, какое регулярное выражение мне нужно для подсчета конверсии независимо от названия загружаемого файла?
/ru/media/download/title-content/спасибо
Ответ №1:
Предположим, вы пытаетесь найти путь, который указали.
Что-то вроде этого может сработать:
^/en/media/download/[^/] /thanks$
Здесь я использую [^/]
вместо .
, потому что мы хотим сопоставлять только символы, которые не являются косой чертой, поскольку я предполагаю ^/en/media/download/blah-blah/not/thanks$
, что они не должны совпадать.
Однако это зависит от того, какой язык вы используете. Этот ответ может варьироваться в зависимости от того, делаете ли вы это в файле конфигурации Apache, скрипте PHP, Javascript или чем-то еще.
Кроме того, «якоря» (^ и $) заставляют совпадение начинаться с начала строки и заканчиваться в конце, поэтому foo/en/media/download/bar/thanks/baz
совпадать не будут. Удалите одно или оба по мере необходимости.
Кроме того, в зависимости от вашего механизма регулярных выражений, /
символы могут потребоваться экранировать, заменив каждый из них на /
вместо (очевидно, не требуется для Google Analytics!)
Кроме того, в зависимости от вашего механизма регулярных выражений вам может потребоваться поместить символ в начало и конец регулярного выражения, и вам может потребоваться заключить его в кавычки. Например, в PHP вы бы использовали что-то вроде: if (preg_match('#^/en/media/download/[^/] /thanks$#', $_SERVER['REQUEST_URI'])) { /* do stuff here. */}
(также, по-видимому, не требуется для Google Analytics!)
Благодаря комментарию @kbelder, вы можете рассмотреть что-то подобное, если вы сравниваете весь URI запроса:
^/en/media/download/[^/] /thanks/?([#?].*)?$
- /? — Необязательная косая черта в конце.
- [#?] — хэш или вопросительный знак.
- .* — Любое количество дополнительных символов.
- ([#?].*)? — Необязательные параметры получения или идентификатор привязки.
Это означало бы, что он будет соответствовать:
/en/media/download/blah/thanks/?name=fred
/en/media/download/blah/thanks#credits
но не:
/en/media/download/blah/thanks/name/fred
/en/media/download/blah/thanks/credits
Комментарии:
1. Я знаком с сопоставлением регулярных выражений в Google Analytics, и я думаю, что ваш код должен работать нормально. Для этого не нужно экранировать «/». Я мог бы не включать «$» в конец строки, потому что в URL-адресах иногда добавляются параметры, которые вы хотели бы игнорировать в этом случае.
2. Спасибо, @kbelder! Я мог бы утверждать, что просто не был уверен, какой язык или механизм регулярных выражений использует Google Analytics, но я должен быть честным и признать, что я как-то полностью пропустил тег Google Analytics … и в названии … и в вопросе. Я просто пойду позорно ползать под этим удобным камнем, сейчас…