ABlyft integrierenInstallation

Environments

Führe ein Experiment auf mehreren Websites, Sprachen oder Stages aus und lege per Regel fest, wo es gilt.

Mit Environments führst du dasselbe Experiment auf mehreren Websites oder auf verschiedenen Versionen einer Website aus, ohne dein Project zu duplizieren. Deine Pages, Audiences und Goals werden einmal definiert und überall wiederverwendet.

Typische Beispiele:

  • Eine Live-Site und eine Staging-Site
  • Regionale oder sprachliche Sites, zum Beispiel us, uk und ca
  • Eine Site, die auf mehreren Subdomains ausgeliefert wird

So funktioniert es

  1. Erstelle ein Environment in deinem Project und gib ihm eine Regel: ein kurzes Stück JavaScript, das auf den Sites, auf denen das Environment gilt, true zurückgibt.
  2. Weise das Environment deinen Experiments zu.
  3. Zur Laufzeit prüft das Snippet zuerst die Bedingungen der Page. Dann prüft es für jedes Experiment die Regeln der Environments des Experiments und anschließend die Audiences. Siehe die Snippet sequence.

Ein Experiment ohne Environment ist nicht eingeschränkt. Bei mehreren Environments genügt eine zutreffende Regel. Die vollständige Tabelle zum Matching findest du im Environments-Guide. Eine leere Regel trifft immer zu.

Environments erstellen und zuweisen

Wie du ein Environment erstellst (Felder, API Name, Default-Environment, Code Helper) und es Experiments zuweist, ist im Environments-Guide beschrieben. Der API Name wird im Dateinamen des Sub-Snippets verwendet.

Die Regel schreiben

Die Regel ist der Body einer JavaScript-Funktion. Gib true zurück, wenn das Environment gilt, sonst false (oder nichts).

// The environment applies on every page
return true;

In der Regel kannst du die Tools verwenden, verfügbar als ablyftTools. ablyftTools.parseUrl() zerlegt die aktuelle Adresse in subdomain, domain und tld (und mehr). Für www.example.com lautet das Ergebnis www, example und com.

Nach Subdomain. Für eine Site wie en.mystore.com:

return ablyftTools.parseUrl().subdomain === 'en';

Nach Domain und Top-Level-Domain. Für regionale Shops auf verschiedenen Domains:

const { domain, tld } = ablyftTools.parseUrl();
return domain === 'mystore' && tld === 'co.uk';

Live versus Staging.

// Live: the production host. Staging: everything else.
return ablyftTools.parseUrl().hostname === 'www.mystore.com';

Nach einem Attribut in der Seite, etwa der Sprache des HTML-Dokuments:

return document.documentElement.lang === 'de';

Das solltest du beachten:

  • Die Regel wird etwa 2 Sekunden lang wiederholt geprüft, sie kann also auch von Inhalten abhängen, die kurz nach dem Laden der Seite erscheinen.
  • Wenn die Regel einen Fehler wirft, wird der Fehler protokolliert und das Environment gilt als nicht zutreffend.
  • Halte Regeln kurz und frei von Seiteneffekten. Sie laufen bei jedem Seitenaufruf.

Wenn dasselbe Experiment auf mehreren Domains laufen soll, stelle sicher, dass seine Pages nicht von einer Domain abhängen, siehe Match types.

Sub-Snippets

Standardmäßig enthält das Haupt-Snippet alle laufenden Experiments, und jedes Experiment prüft seine eigenen Environment-Regeln. Wenn du für ein Environment Create a sub-snippet aktivierst, erstellt ABlyft zusätzlich ein Snippet, das nur die Experiments dieses Environments enthält.

Verwende ein Sub-Snippet, wenn du auf einer bestimmten Site weniger Daten laden möchtest. Du findest es unter Settings → Snippet → Sub-Snippets. Der Name enthält den API Name des Environments:

<script src="https://cdn.ablyft.com/s/12345678-staging.js"></script>

Die Environment-Regeln werden auch in einem Sub-Snippet geprüft. Binde auf einer Seite entweder das Haupt-Snippet oder ein Sub-Snippet ein, nicht beides: Ein zweites ABlyft-Snippet auf derselben Seite wird ignoriert.

Bearbeiten und löschen

Das Bearbeiten und Löschen von Environments sowie die erforderlichen Rollen sind im Environments-Guide beschrieben.

Fehlerbehebung

Wenn ein Experiment auf einer Site nicht läuft und seine Page zutrifft, prüfe als Nächstes das Environment, denn es wird vor den Audiences getestet:

  1. Sind dem Experiment Environments zugewiesen? Wenn ja, gibt die Regel mindestens eines davon auf dieser Seite true zurück?
  2. Wirft die Regel einen Fehler? Fehler zählen als "nicht zutreffend".
  3. Verwenden die Pages des Experiments relative URLs?
  4. Schalte den Debug-Modus ein und öffne die Browser-Konsole. Sie zeigt, ob ein Environment gültig ist. Nur wenn mindestens ein Environment gültig ist, fährt das Snippet mit den Audiences fort. Siehe Debugging.

API-Zugriff

Die Environments eines Projects können über die REST API gelesen werden (projects/{project}/environments, nur lesend). Experiment-Endpoints akzeptieren eine Liste environments mit Environment-IDs. Siehe die REST API.

On this page