2017-02-15 16 views
0

У меня есть ситуация, когда мне нужно вручную украсить определенную ссылку на всем моем сайте с помощью Google Analytics linkerParam.Изменить ссылки до или после нажатия? GA Междоменное отслеживание

Это должно передать идентификатор клиента GA с моего основного сайта на мой сайт электронной торговли, чтобы поддерживать сеанс.

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

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

Решение, которое мне было предоставлено, в основном добавляет javascript addEventListener к каждой ссылке на страницу переадресации.

Это решение действительно работает.

Лучше использовать addEventListener, когда люди на самом деле нажимают на определенную ссылку, чтобы затем украсить эту ссылку с помощью linkerParam?

Или лучше просто изменить каждую ссылку, когда страница изначально загружается?

Благодаря

+0

Попробуйте получить UserId из объекта ga на вашем целевом сайте. Он должен быть таким же, как на исходном сайте, если оба сайта связаны с autolink – MFGSparka

+0

У меня нет большого контроля над целевым сайтом. Вот почему я пытаюсь украсить URL-адрес, прежде чем отправлять людей на целевой сайт. – Aaron

+0

О, извините. Я пропустил ту часть, что автолинк не работает для вас, и вы также нашли решение. – MFGSparka

ответ

2

В моих пользовательских линкера я декорировать ссылку только после того, как была нажата. Мои причины (которые вы можете или не можете найти убедительными) являются:

  • если пользователь наводит курсор на ссылку, я не хочу, чтобы он увидел прикрепленный идентификатор клиента
  • поскольку поисковые системы в настоящее время выполнения JavaScript они индексируются украденные ссылки
  • Я могу украшать ссылки только после того, как они на самом деле находятся на странице (но я могу прикрепить функцию обратного вызова к ссылкам, которые создаются после факта), поэтому, если пользователь уезжает до того, как DOM готов, ссылка не оформлена
  • На странице с деталями ссылок, украшающих все, на самом деле требуется некоторое время и производительность для чего-то, что мне действительно не нужно (после того, как al л мне нужна только щелкнули ссылку декорированную)

Как Ithans комментарий выше (где я думаю, он сослался на DOM, а не зловещая звучании «думы»), так как пользователь покидает страницу в любом случае после нажатия ссылку (вы не украшаете ссылку на странице), поэтому несколько операций DOM не являются проблемой.

+0

Действительно замечательные моменты. благодаря – Aaron

0

Вы можете изменить все ссылки при загрузке страницы

что-то вроде

var linksToChange = document.querySelectorAll('.theLinkClass'); 

    for (var item of linksToChange) { 
    item.href= "http://google.es"; 
    }; 
+0

Я должен был быть более ясным. Я знаю, как это сделать. Мне интересно, что лучше? Когда кто-то нажимает (addEventListener) или модифицирует href при загрузке страницы? – Aaron

+0

О, извините, лучший способ - изменить каждую ссылку, когда загружается страница, поэтому вам не нужно изменять doom каждый раз, когда событие его вызвало. – ithan