Zielgruppen und Seiten
Zwei Fragen, zwei Werkzeuge: Wem gilt der Test, und wo greift er? Beide gehören zum Projekt und lassen sich in mehreren Experimenten wiederverwenden.
Zielgruppen
Eine Zielgruppe ist eine Liste von Bedingungen, die entweder alle oder mindestens eine zutreffen müssen. Weist du einem Experiment mehrere Zielgruppen zu, genügt eine passende.
| deviceType | Mobil, Tablet oder Desktop. |
| visitType | Neu oder wiederkehrend. |
| firstVisit / lastVisit | Wie lange der erste bzw. letzte Besuch her ist. |
| urlParameter | Ein Parameter in der Adresse, etwa eine Kampagne. |
| cookie | Ein Cookie und sein Wert. |
| language | Die Sprache des Browsers. |
| referrer | Woher der Besucher kam. |
| country | Das Land, vom Server aufgelöst. |
| customJs | Ein eigener Ausdruck, wenn nichts davon passt. |
Zwei Zielgruppen sind schon angelegt, wenn du ein Projekt erstellst: Desktop und Mobil. Mobil schließt Tablets ein — wer am Tablet kauft, verhält sich näher am Handy als am Rechner.
Seiten
Eine Seite ist eine Liste von URL-Regeln. Jede Regel schließt entweder ein oder aus; ein Ausschluss gewinnt immer.
| Simple | Adresse muss passen, Query-Parameter sind egal. |
| Exact | Adresse und Query müssen genau stimmen. |
| Substring | Die Adresse enthält den Text. |
| Regex | Mustervergleich, für alles andere. |
Geprüft wird die vollständige Adresse, nicht nur der Pfad. Ein Muster, das mit / beginnt, gilt weiterhin relativ zur Domain.
Ein häufiger Stolperstein: Simple vergleicht die Adresse als Ganzes. Willst du alle Produktseiten treffen, nimm Substring mit /products/ — Simple mit demselben Text trifft nur die Seite, die exakt so heißt.
Direkt oder auf Abruf
Eine Seite greift entweder sofort beim Laden (Direkt) oder erst, wenn dein eigenes Skript es sagt (Callback). Der zweite Weg ist für Fälle, in denen die Adresse nichts verrät — ein geöffneter Warenkorb-Schieber etwa:
Trigger-Skript der Seite
abvantageTools.waitForElement(".cart-drawer.is-open", function () {
active();
});active() steht in diesem Skript bereit und löst die Zuweisung aus, dazu abvantageTools und ab — dieselben Helfer wie im Variantencode. Was es dort noch nicht gibt, ist die Zuweisung selbst: ab.variant() gibt hier noch null, denn die entsteht ja erst durch den Aufruf. Im QA-Modus siehst du solche Seiten als wartet, solange der Aufruf ausbleibt — das ist der Unterschied zwischen „Regel passt nicht“ und „Regel passt, Skript hat noch nicht ausgelöst“.
Wenn zwei Tests sich in die Quere kommen
Zwei Tests, die gleichzeitig auf denselben Besucher wirken, können sich gegenseitig verfälschen — der eine ändert den Preis, der andere den Knopf darunter, und hinterher weiß niemand, was wovon kam. Meistens ist das harmlos, weil sie verschiedene Seiten betreffen. Wenn nicht, gibt es Ausschlussgruppen.
Eine Gruppe bekommt einen Namen und die beteiligten Tests mit ihrem Anteil. Jeder Besucher fällt in genau einen Abschnitt und kommt damit nur für einen der Tests in Frage. Die Anteile müssen zusammen 100 % ergeben.
Der Anteil in der Gruppe ist nicht der Traffic-Anteil des Tests. Er teilt die Besucher unter den Tests auf; wie viele davon ein Test dann tatsächlich nimmt, steht weiterhin am Test selbst. 50 % Gruppenanteil und 20 % Traffic heißt: ein Zehntel aller Besucher.
Ein pausierter Test behält seinen Abschnitt. Ihn einzuziehen würde die Grenzen der übrigen verschieben — und damit wanderten laufende Besucher zwischen den Tests, was beide Erhebungen unbrauchbar macht. Wer den Platz zurück will, nimmt den Test aus der Gruppe.
Wie viele deiner Tests überhaupt gleichzeitig liefen, steht in der Roadmap. Im QA-Modus nennt ein ausgeschlossener Test die Gruppe als Grund, statt nur „kein Treffer“ zu sagen.
Traffic-Anteil
Am Experiment lässt sich einstellen, welcher Anteil der passenden Besucher überhaupt teilnimmt. 20 % heißt: vier von fünf sehen die Seite unverändert und zählen nirgends mit. Sinnvoll bei riskanten Änderungen — die Aussagekraft braucht dafür entsprechend länger.