2012-10-29 10 views
7

Jako właściciel produktu za ponad 2 miliony + unikalną miesięcznie witrynę, chcę przeprowadzić pewne testy A/B, które mogę śledzić za pomocą celów Google Analytics, bez płacenia wysokich opłat za inne usługi testowania online. Korzystanie z własnych Eksperymentów z treścią treści wymaga przekierowania z użyciem JS, którego nie chcę ryzykować trafieniem wydajności ładowania strony i mam swobodę korzystania z więcej niż 5 odmian, na jakie ogranicza Cię CE.Jak skutecznie używać Route53 do eksperymentów online?

Ta odpowiedź wzbudził moje zainteresowanie wykorzystaniem Route53 uniknąć Eksperymentowanie z treścią Google:

Google Analytics Content Experiments A/B testing server-side code without page refresh

chciałbym wiedzieć jak mogę służyć i śledzić te zmiany.

Jak rozumiem teraz, funkcja Route53 działa na poziomie DNS i może ładować ruch saldo do różnych adresów IP, więc mógłbym służyć witrynie mydomain.com 50%/50% do 200.0.0.1 i 200.0.0.2. Mogę następnie użyć kodu po stronie serwera, aby określić używane IP i podać inny kod śledzenia JS dla Google Analytics.

Następnie, jeśli użytkownicy osiągają lub nie osiągają mojej strony celu GA, mogę zmierzyć skuteczność mojej kampanii?

Czy to prawda, czy też brakuje mi czegoś w konfiguracji GA lub witryny?

Odpowiedz

3

Jeśli używasz już Route53 i nie masz nic przeciwko śledzeniu różnych kodów sczepiania osobno, możesz użyć kodu po stronie serwera, aby wybrać poprawny kod śledzenia dla tego identyfikatora. Oto przykład w PHP.

<?php 
    var $serverIp_trackingCodes_map = array(
     '192.168.1.1' => 'UA-XXXXX-1', 
     '192.168.1.2' => 'UA-XXXXX-2', 
     '192.168.1.3' => 'UA-XXXXX-3', 
     '192.168.1.4' => 'UA-XXXXX-4' 
    ); 
?> 

<script type="text/javascript"> 
    //The usual ga tracking code 
    var _gaq = _gaq || []; 
    //Pass in the tracking code for that server 
    _gaq.push(['_setAccount', '<?php echo $serverIp_trackingCodes_map[ $_SERVER["SERVER_ADDR"] ] ?>']); 
    _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); 
    })(); 

</script> 

Ale może być znacznie łatwiej użyć jednego kodu śledzenia i ustawić niestandardową zmienną z nazwą serwera lub adresem IP. Może to później posłużyć jako filtr w raportowaniu.

<script type="text/javascript"> 
    //The usual ga tracking code 
    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-XXXXX-X']); 
    _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); 
    })(); 

    //Set the custom variable 
    _gaq.push(['_setCustomVar', 1, 'ServerIP','<? echo $_SERVER["SERVER_ADDR"]?>']); 

</script>