Einfaches A/B Testing für WordPress

Für ein kleines Projekt wollte ich kürzlich die Performance von zwei Adsense Positionen gegeneinander austesten. Dank der benutzerdefinierten Channels bei Adsense ist das Tracking ja kein Problem. Also habe ich zwei Anzeigen mit zwei eigenen Channels erstellt und musste nur noch dafür sorgen, dass die Hälfte der Besucher die erste Anzeige an Position A angezeigt bekommt und die andere Hälfte die zweite Anzeige an Position B. Keine große Sache also.

Schwieriger als erwartet

Jetzt gibt es für solche A/B Tests natürlich zahlreiche Anwendungen, allen voran die Content Tests in Google Analytics. Meistens muss man bei diesen Tools zwei getrennte URLs anlegen, eine Conversion URL festlegen etc. So viel Aufwand wollte ich eigentlich nicht betreiben, zumal man sich dann wieder Gedanken wegen Duplicated Content etc. machen muss.

Eine Google-Suche nach Adsense A/B Testing brachte zwar interessante Ergebnisse, aber die dort vorgestellten Methoden eigneten sich nur um an der identischen Position verschiedene Formate auszutesten.

Auch die Suche im Plugin-Verzeichnis hatte wenig Erfolg. Zwar gibt es eine Menge A/B Testing Plugins, die aber alle weit über meinen einfachen Anwendungsfall hinaus gingen. So werden entweder autoamtisch aufwändige Kennzahlen ermittelt oder gleich ganze Landing-Pages erstellt. Meine Güte, ich will doch nur eine einfache zufällige Content-Weiche. Mag sein, dass es dafür irgendwo ein einfaches Plugin gibt, ich habe es jedenfalls nicht gefunden.

Do it yourself

Also bin ich selbst aktiv geworden und habe eine kleine Funktion für einen entsprechenden Shortcode geschrieben, die ich an dieser Stelle mit euch teilen möchte. Dieser Code gehört in die functions.php des benutzten Themes:

function easy_ab_test($atts, $content = null) {
global $easy_ab_group;
if (!$atts['group']) $atts['group'] = 1;
if (!$atts['max']) $atts['max'] = 2;
if (!$easy_ab_group) $easy_ab_group = rand(1, $atts['max']);

if ($atts['group'] == $easy_ab_group) return $content;
else return;
}
add_shortcode( 'easyab', 'easy_ab_test' );

Mit dem Shortcode [easyab] kann man nun Content in seinen Beitrag einbinden, der nur einem Teil der Besucher gezeigt wird. Mit dem Attribut group kann man einstellen, welcher Usergruppe der Inhalt angezeigt werden soll. Mit dem optionalen max wird die Anzahl der Gruppen festgelegt, der Standardwert ist 2. Hier ein paar Beispiele

Normaler A/B Test

[easyab group="1"]Hier klicken:[/easyab]
[easyab group="2"]HIER KLICKEN[/easyab]

A/B/C Test

[easyab group="1" max="3"]Hier klicken:[/easyab]
[easyab group="2" max="3"]HIER KLICKEN[/easyab]
[easyab group="3" max="3"]JETZT HIER KLICKEN, MACH SCHON!![/easyab]

Die Varianten müssen natürlich nicht direkt untereinander stehen, sondern können (wie in meinem Fall) auch zwischen verschiedenen Absätzen stehen. Der Shortcode kümmert sich nur um die Anzeige, um das Tracking müsst ihr euch selbst kümmern.

Ein Wort noch zu Caching-Plugins: Je nach verwendetem Plugin müsst ihr die Testseite eventuell vom Caching ausnehmen, damit nicht alle Besucher die gleiche Variante angezeigt bekommen.

Viel Spaß beim Testen! 🙂

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen