Отслеживание переадресации целевых страниц – Google

Проблема

У меня есть формы, размещенные сторонней службой. Мы назовем это www.3rdpartyform.com.

У меня есть свой сайт, www.mysite.com.

Я хочу иметь возможность отслеживать трафик с помощью кампаний Google Analytics, ведущих на www.3rdpartyform.com.

Мое решение

Я создал целевую страницу www.mysite.com/redirected.

Он используется так:

www.mysite.com/redirected/?redirected_url=www.3rdpartyform.com/theform&utm_googlestuff=stuff

Страница по сути такая:

<?php $redirection_link = htmlspecialchars($_GET['redirected_url']); ?>
<html>
  <head>
    (google analytics script)

    <!-- Should address any possible negative impact on SEO caused by redirect. -->
    <meta name="robots" content="noindex, nofollow, noarchive">

  </head>
  <body>
    <script>
      var retryAttempts = 0;
      function checkIfAnalyticsLoaded() {
          console.log('Checking if GA loaded.');
          if (window.ga && ga.create) {
              console.log('GA loaded.');
              redirect();
          } else if (window.urchinTracker) {
              console.log('Old GA loaded.');
              redirect();
          } else if (retryAttempts < 10) {
              retryAttempts += 1;
              setTimeout(checkIfAnalyticsLoaded, 500);
          } else {
              console.log('GA not loaded')
              redirect();
          }
      }

      function redirect() {
          console.log('Redirecting');
          setTimeout(function () {
             window.location.href= '<?php echo $redirection_link; ?>';
          }, <?php echo $time_to_redirect * 1000 ?>);
      }

      checkIfAnalyticsLoaded();
    </script>
  </body>
</html>

Как я думаю, это будет работать

Кто-то нажимает на ссылку, страница загружает мою аналитику Google и видит параметры URL-адреса кампании и регистрирует попадание, затем редирект перенаправляет пользователя на форму по адресу www.3rdpartyform.com/theform.

Мой вопрос

Я попытался найти решение, но не мог придумать, что искать, что дало соответствующие результаты. Есть ли лучшее решение моей текущей проблемы, чем то, что я пытаюсь сделать? Зарегистрирует ли Google Analytics просмотр/кампанию (даже если это отказ) с помощью этого решения?

Спасибо!

Обновленное решение

Это мое обновленное решение, основанное на ответе Max.

Чтобы свести на нет возможные негативные последствия перенаправления для моего SEO, я добавил метаданные nofollow, noindex. Не на 100% в этом решении, но кажется логичным.

Чтобы устранить условие гонки, я добавил функцию проверки загрузки GA.

Что касается проблемы Плохой UX/Скорость, я не вижу в этом проблемы с моей текущей конфигурацией реализации/целевой аудитории в настоящее время.

Я обновил свое решение выше.

Нерешенные проблемы

Хотел бы использовать события GA, как это предлагается SMX, чтобы предотвратить засчитывание обращений к этой странице как отказов. Тем не менее, я еще не возился с событиями GA, и ему нужно будет узнать о них, но пока нужно перейти к следующему проекту.


person Josh    schedule 14.03.2018    source источник


Ответы (2)


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

Другие проблемы, которые вы не упомянули:

  • Соревнование: поскольку фрагмент GA является асинхронным, фактически нет гарантии, что он загрузится и отследит просмотр страницы до того, как произойдет перенаправление. Увеличение времени ожидания не является решением из-за следующей проблемы.

  • Плохой UX/скорость: прежде чем ваши пользователи получат возможность загрузить сторонний веб-сайт, они будут подвергнуты загрузке 1 дополнительной страницы + 1 секунда ожидания, потенциально несколько секунд ненужного ожидания, что не очень хорошо. Facebook делает что-то подобное, но у них очень быстрая инфраструктура, ваша, вероятно, значительно медленнее.

Решения:

Протокол измерения: это позволит вы отслеживаете перенаправление через PHP, тем самым гарантируя отслеживание, и как только API вызов был сделан PHP, вы можете выполнить перенаправление 302, тем самым удалив тайм-аут, уродливое перенаправление и, возможно, дополнительную загрузку страницы (вы можете попросить клиента отправить запрос AJAX на /redirected/, чтобы сделать этот вызов). Однако это решение требует некоторой работы.

Обратный вызов Hit: это решение, вероятно, является лучшим «ценным» (надежность близка к 100%, не так много работы по реализации). Идея состоит в том, чтобы отключить поведение ссылок по умолчанию (например, return false;) и использовать hitcallback для отслеживания клика и разрешения ссылки. перенаправить, чтобы продолжить.

person Max    schedule 15.03.2018
comment
Спасибо за ваш ответ. Я обновил свое решение. Я изучу два альтернативных решения, которые вы предоставили, поскольку я уверен, что они ближе к правильному способу выполнения этой задачи, чем то, что я придумал. - person Josh; 15.03.2018
comment
Пожалуйста. Не стесняйтесь принять мой ответ, если он вас устраивает - person Max; 15.03.2018

Да, это, пожалуй, самое разумное решение для вашей аналитики. GA будет регистрировать посещения на вашей целевой странице и присваивать им информацию о кампании, как и предполагалось. Конечно, обратите внимание, что вы будете измерять посещения целевой страницы: вы никак не сможете отследить действия, которые люди выполняют на вашем стороннем сайте с формами (просмотры страниц, клики и т. д.). При текущей настройке все посещения вашей целевой страницы, скорее всего, будут считаться отказами, поскольку пользователь коснется вашего сайта только один раз. Чтобы предотвратить это, вы можете добавить строку javascript в свой заголовок, чтобы отправить другое обращение (например, событие) в GA.

person SMX    schedule 15.03.2018
comment
Не очень беспокоюсь об отслеживании, когда пользователь переходит к форме. Я заинтересован в реализации события GA, хотя бы для того, чтобы обращения к этой странице не учитывались как отказы, но я еще не начал возиться с событиями. Спасибо за ваш ответ! - person Josh; 15.03.2018