У меня есть формы, которые размещаются на стороннем сервисе. Мы назовем это 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 = материал
Страница по сути это:
<?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 регистрировать просмотр / кампанию (даже если это отскок) с этим решением?
Спасибо!
Это мое обновленное решение, основанное на Максимумответ.
Чтобы свести на нет возможные негативные последствия, которые перенаправление может оказать на мой SEO, я добавил nofollow, метаданные noindex. Не 100% на это решение, но кажется логичным.
Для решения Состояние гонки Я добавил функцию, чтобы проверить, загружен ли GA.
Для Плохой UX / Скорость проблема, я не вижу это как проблема с моей текущей конфигурацией реализации / целевой аудитории в настоящее время.
Я обновил свое решение выше.
Оставшиеся проблемы
Хотел бы использовать события GA, как это было предложено SMX чтобы предотвратить попадание на эту страницу как отскок. Хотя я еще не запутался в событиях GA и должен был бы о них узнать, но сейчас нужно перейти к следующему проекту.
Промежуточная страница такого типа с перенаправлениями JavaScript может быть плохой для SEO, но мои SEO-дни позади, и я не уверен, что так и останусь без внимания.
Другие проблемы, которые вы не упомянули:
Состояние гонки: поскольку фрагмент GA является асинхронным, на самом деле нет никакой гарантии, что он загрузит и отследит просмотр страницы до того, как произойдет перенаправление. Увеличение таймаута не является решением из-за проблемы ниже.
Плохой UX / Скорость: прежде чем ваши пользователи получат возможность загрузить сторонний веб-сайт, они будут подвергнуты 1 дополнительной загрузке страницы + 1 секунда тайм-аута, возможно, несколько секунд ненужного ожидания, не очень. Facebook делает что-то похожее, но у них супербыстрая инфраструктура, ваша, вероятно, значительно медленнее.
Решения:
Протокол измерений: это позволит вам отслеживать перенаправление через PHP
, таким образом, гарантируя отслеживание, и как только PHP вызов API, вы можете выдать 302
перенаправление, таким образом удаляя тайм-аут, уродливое перенаправление и, возможно, также дополнительную загрузку страницы (вы могли бы попросить клиента отправить AJAX-запрос в / redirected /, чтобы выполнить этот вызов). Однако это решение довольно трудоемкое.
Хит обратный вызовЭто решение, вероятно, является наилучшей «ценностью» (почти 100% надежности, не так много работы по внедрению). Идея состоит в том, чтобы отключить поведение ссылок по умолчанию (например, return false;
) и использовать GA hitcallback
функциональность для отслеживать клик, а затем разрешить перенаправление ссылки для продолжения.
Да, это, вероятно, самое разумное решение для вашей аналитики. GA будет регистрировать хиты на вашей целевой странице и приписывать им информацию о кампании, как и предполагалось. Конечно, обратите внимание, что вы будете измерять количество посещений целевой страницы: вы не сможете отследить действия, которые люди выполняют на вашем стороннем сайте форм (просмотры страниц, клики и т. Д.). Как вы сейчас настроили, все посещения вашей целевой страницы, скорее всего, будут считаться отказами, поскольку пользователь будет касаться вашего сайта только один раз. Чтобы предотвратить это, вы можете добавить строку javascript в свой заголовок, чтобы отправить еще одно попадание (например, событие) в GA.