2012-10-29 4 views
7

Als Product Owner für eine 2 Millionen + einmalige Website pro Monat möchte ich einige A/B-Tests durchführen, die ich mit Google Analytics-Zielen verfolgen kann, ohne die hohen Gebühren für andere Online-Testing-Services zu bezahlen. Die Verwendung von Google eigenen Content Experiments erfordert Weiterleitungen mit JS, bei denen ich nicht riskieren möchte, dass die Seite geladen wird, und die Freiheit hat, mehr als die 5 Varianten zu verwenden, auf die CE Sie beschränkt.Wie kann Route53 effektiv für Online-Experimente verwendet werden?

Diese Antwort mein Interesse geweckt Route53 in der Verwendung von Google Content-Tests zu vermeiden:

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

Ich mag würde wissen, wie ich dienen kann und diese Veränderungen verfolgen.

Wie ich es jetzt verstehe, funktioniert Route53 auf der DNS-Ebene und kann Lastverkehr auf unterschiedliche IPs laden, so dass ich mydomain.com 50%/50% zu 200.0.0.1 und 200.0.0.2 bedienen konnte. Ich kann dann serverseitigen Code verwenden, um die verwendete IP zu bestimmen und verschiedenen JS-Tracking-Code für Google Analytics zu bedienen.

Wenn die Nutzer meine GA-Zielseite erreichen oder nicht erreichen, kann ich die Effektivität meiner Kampagne messen?

Ist das richtig oder fehlt mir etwas in der GA oder Site-Setup?

Antwort

3

Wenn Sie Route53 bereits verwenden und es nicht stören, verschiedene Postleitzahlen separat zu verfolgen, können Sie ein wenig serverseitigen Code verwenden, um den richtigen Tracking-Code für diese ID auszuwählen. Hier ist ein Beispiel in 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> 

Es könnte jedoch viel einfacher sein, einen Tracking-Code zu verwenden und eine benutzerdefinierte Variable mit dem Servernamen oder der IP-Adresse festzulegen. Dies kann später als Filter im Reporting verwendet werden.

<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>