Google Analytics и Adwords отложили ссылку на JavaScript в App Store? - PullRequest
1 голос
/ 23 февраля 2011

Я пытаюсь измерить конверсию как для своей кампании Google Adwords, так и для обычного трафика, идущего в App Store.Ранее у меня была ссылка "/ app_store /" на моей странице, которая загружалась, ждала 1 секунду и затем переходила в магазин приложений.

Я нашел где-то более элегантное решение с использованием Javascript.Для adwords он загружает пиксельное изображение, а для аналитики - функцию Google Javascript, делает паузу на долю секунды и затем переходит по ссылке.

К сожалению, это не работает для меня.Google Analytics и Google Adsense не видят никого, кто бы ходил в App Store (даже я).

<script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-18180332-1']);
  _gaq.push(['_trackPageview']);

(function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

function recordOutboundLink(link, category, action) {
    try{
        // Google Analytics
        var pageTracker = _gat._getTracker("UA-18180332-1");
        pageTracker._trackEvent(category, action);

        // Google Adwords
        var image = new Image(1, 1);
        image.src = "http://www.googleadservices.com/pagead/conversion/1046551421/?value=$8&amp;label=zqrfCMWh0QEQ_baE8wM&amp;guid=ON&amp;script=0"
        setTimeout('document.location = "' + link.href + '"', 100)

    } catch(err) {}
}
</script>

И по ссылке:

<a href="http://itunes.apple.com/ae/app/isimplifiedchinese/id377690407?mt=8"
onClick="recordOutboundLink(this, 'Outbound Links', 'http://itunes.apple.com/ae/app/isimplifiedchinese/id377690407?mt=8');return false;">
<img alt="Appstore" src="images/appstore.png"></a>

Что я здесь не так делаю?

Обновление 23: 13 Я заметил, что если задержка составляет 100 мс, появляется следующая ошибка (мне потребовалось некоторое время, чтобы рассчитать моментальный снимок экрана).

Failed to load resource

Я проверил это только по предложению Эрвана;не уверен, что это также произошло в старой версии.Ошибка, кажется, уходит на более длительные задержки;Я установил его на 300 мс, чтобы быть в безопасности.

Ответы [ 3 ]

0 голосов
/ 23 февраля 2011

Мне удалось заставить мою работать с _gaq.push();

вместо:

var pageTracker = _gat._getTracker("UA-18180332-1");
pageTracker._trackEvent(category, action);

do:

_gaq.push(['_trackEvent', category, action]);

, поэтому вместо полученияPageTracker снова, так как _gaq уже был инициализирован, когда страница началась.просто используйте _gaq, чтобы нажать трекер событий.Кроме того, имейте в виду, что Google Analytics не обновляется в режиме реального времени и чаще всего не обновляется в течение 48 часов.

0 голосов
/ 23 февраля 2011

Возможно, что сценарий перенаправляется до завершения работы кода GA.Вы можете попробовать поместить его в gaq, чтобы он гарантированно работал после остальной части кода.Тогда ваша функция может выглядеть так:

function recordOutboundLink(link, category, action) {
    // Google Analytics
    _gaq.push(['_trackEvent', category, action]);

    // Google Adwords
    _gaq.push(function() {
    var image = new Image(1, 1);
    image.src = "http://www.googleadservices.com/pagead/conversion/1046551421/?value=$8&amp;label=zqrfCMWh0QEQ_baE8wM&amp;guid=ON&amp;script=0";
    });
    _gaq.push(function() {setTimeout('document.location = "' + link.href + '"', 100);});
}

Я не проверял ее, но она похожа на вещи, которые я пробовал раньше.

0 голосов
/ 23 февраля 2011

Вы должны предотвращать выполнение действия щелчка (перейдите по ссылке) до тех пор, пока вы не запишите его.В атрибуте onclick добавьте «return false»:

onclick="recordOutboundLink(params);return false;"

Надеюсь, это поможет

...