Welche Kameleoon-Domains muss ich auf die Whitelist setzen?
Welche Kameleoon-Domains muss ich auf die Whitelist setzen?
Einfache Einrichtung (mit Wildcards)
Fügen Sie der Konfiguration Ihres CSP-Headers den folgenden Inhalt hinzu:Vollständige Einrichtung (vollständig detailliert)
Ersetzen Sie[your-site-code] durch Ihren Kameleoon-Site-Code in jeder Zeile, in der er erscheint, und fügen Sie dies Ihrer Konfiguration hinzu:Web Experimentation
https://[your-site-code].kameleoon.xx: Lädt das Anwendungsskript von Kameleoon Web Experimentation,engine.js(früherkameleoon.jsgenannt).https://(eu|na)-data.kameleoon.(eu|io): Wird für das Tracking verwendet.https://logger.kameleoon.io: Sendet Tracking-Daten zur Protokollierung.https://data.kameleoon.net: Erforderlich, wenn Sie das Kameleoon-Simulationstool zum QA von Experimenten über mehrere Subdomains hinweg verwenden.
Feature Experimentation (clientseitige SDKs)
https://client-config.kameleoon.com: Erforderlich für SDK-Versionen < 2.1.0.https://sdk-config.kameleoon.eu: Erforderlich für SDK-Versionen >= 2.1.0.https://(eu|na)-data.kameleoon.(eu|io): Wird für das Tracking verwendet.https://logger.kameleoon.io: Sendet Tracking-Daten zur Protokollierung.
Grafische Editoren
https://static.kameleoon.com: (veraltet) Lädt statische Ressourcen für den alten grafischen Editor.https://editor.kameleoon.com: (veraltet) Wird vom alten grafischen Editor verwendet.https://graphical-editor.kameleoon.com: Wird vom neuen grafischen Editor verwendet.https://storage.kameleoon.(eu|io): Lädt Bilder, die in mit den grafischen Editoren erstellten Experimenten verwendet werden.
Prompt-Based Experimentation (PBX)
https://aibuilder.kameleoon.com: Wird vom Prompt-basierten Editor verwendet.https://electra.kameleoon.com: Wird vom Prompt-basierten Editor verwendet.https://storage.kameleoon.(eu|io): Lädt Bilder im Prompt-basierten Editor.https://api.kameleoon.com: Lädt kontobezogene Informationen.https://sdk-config.kameleoon.eu: Steuert die im Prompt-basierten Editor aktivierten Kameleoon-Feature-Flags.wss://electra.kameleoon.com: Wird für den Datenaustausch verwendet.
Simulation
https://api.kameleoon.com: Wird von der alten Simulation verwendet.https://simulation.kameleoon.com: Wird von der neuen Simulation verwendet.
Produktempfehlung
https://static.products.kameleoon.com: Lädt Ressourcen für das Produktempfehlungs-Modul.https://api.products.kameleoon.com: API, die vom Produktempfehlungs-Modul verwendet wird.https://images.products.kameleoon.com: Lädt Produktbilder für Empfehlungen.
APIs und Integrationen
https://api.kameleoon.com: Erforderlich, wenn Sie die Automation API zum Testen direkt aus dem Browser verwenden möchten.https://customers.kameleoon.com: Erforderlich, wenn Sie die SDK API oder eine von Kameleoon entwickelte benutzerdefinierte Integration verwenden.
Interne Ressourcen
engine.js keine Simulationspfade oder anwendungsspezifischen Informationen, um die Skriptgröße zu minimieren. Um diese Details bereitzustellen, laden Sie das vollständige Skript kameleoonFull.js, das engine.js mit den notwendigen Daten zu internen Ressourcen und Ladeanweisungen versorgt.https://static.kameleoon.com: Lädt interne Ressourcen.https://static.experimentation.dev: Lädt interne Ressourcen.https://sdk-config.experimentation.dev: Steuert die im Kameleoon-Produkt aktivierten Kameleoon-Feature-Flags.https://eu-data.experimentation.dev: Sendet Tracking-Daten zu Protokollierungszwecken.
Verlangsamt das Skript von Kameleoon (engine.js) meine Website?
Verlangsamt das Skript von Kameleoon (engine.js) meine Website?
CDN-Bereitstellung und Skalierbarkeit
Das Skriptengine.js wird über das Cloudflare CDN bereitgestellt, was bedeutet, dass es unabhängig vom Traffic-Volumen Ihrer Website automatisch skaliert. Es gibt keine Lade- oder Verzögerungsprobleme bei beliebigem Traffic-Niveau – Cloudflares globales Netzwerk übernimmt die Bereitstellung, sodass weder Spitzen noch anhaltend hoher Traffic die Skriptleistung für Ihre Besucher beeinträchtigen.Caching
Standardmäßig speichert der Browserengine.js 90 Minuten lang im Cache, was die wiederkehrenden Ladezeiten für wiederkehrende Besucher minimiert. Wenn Ihr Anwendungsfall eine kürzere Cache-Dauer erfordert, kann diese auf Anfrage auf bis zu 1 Minute reduziert werden. Kontaktieren Sie den Kameleoon-Support, um diese Einstellung für Ihr Konto anzupassen.Wichtige Hinweise
Die Skriptgröße kann je nach Anzahl der von Ihnen durchgeführten Experimente und deren Inhalt (CSS/JavaScript) zunehmen.Verwenden Sie für Experimente oder Personalisierungskampagnen, die nicht sofort geladen werden müssen, den Tag „DELAYED”. Dies verzögert das Laden nicht essenzieller Experimente bis nach dem ersten Seitenladevorgang. Kameleoon verwaltet diese intelligent: Es lädt die Konfiguration erst nach 10 Sekunden Inaktivität herunter oder wenn ein Besucher angesprochen und einer Variation zugewiesen wird, die nicht der Kontrollvariante entspricht. Dieser Ansatz sorgt für minimale Auswirkungen auf die Ladeleistung bei gleichzeitiger voller Funktionalität für priorisierte Experimente.Web Experimentation (engine.js)
Die engine.js verarbeitet ausgehende Anfragen über eine interne Warteschlange, die ungefähr alle 500 ms läuft. Die Warteschlange bündelt Ereignisse in Batches und sendet bei Bedarf rekursiv weitere Batches. Beim Entladen oder Bereinigen der Seite erzwingt die Engine die sofortige Verarbeitung aller ausstehenden Ereignisse. In Safari speichert die Engine nicht gesendete Ereignisse im Sitzungsspeicher, um Datenverlust zu vermeiden.Zudem sendet die Engine alle 60 Sekunden ein Aktivitätsereignis, wenn ein Scroll oder Klick erkannt wird. Wenn keine Aktivität erkannt wird, führt sie keinen zusätzlichen Tracking-Aufruf durch.Feature Experimentation (SDKs)
Bei Feature-Flag- und SDK-Anwendungsfällen führt Kameleoon die Flag-Auswertungen nach der Initialisierung lokal durch. Tracking-Anfragen an die Data API werden gebündelt und im Hintergrund gesendet, anstatt einzeln pro Auswertung. Die Bündelung reduziert das Anfragevolumen und verhindert Leistungseinbußen bei Verkehrsspitzen. Das Flush-Intervall ist im SDK konfigurierbar, standardmäßig beträgt es 1 Sekunde.Ratenlimits der Data API
Kameleoon wendet Ratenlimits auf die Data API an, um die Zuverlässigkeit des Dienstes zu schützen. Die Limits basieren auf Ihren vertraglich vereinbarten monatlich einzigartigen Besuchern (MUV) und der IP-Adresse des Anforderers. Wenn Sie diese Limits überschreiten, gibt die API HTTP 429 zurück.Diese Limits gelten für alle Anfragen, die die Data API erreichen, einschließlich der Tracking-Aufrufe, dieengine.js automatisch sendet, und der gebündelten Tracking-Anfragen, die Feature Experimentation SDKs senden. In Umgebungen, in denen viele Besucher eine einzige IP-Adresse teilen (zum Beispiel in Büros oder Unternehmensnetzwerken), können IP-basierte Limits auch dann gelten, wenn Ihre gesamten MUV innerhalb des Vertrags bleiben.Bei serverseitigen Integrationen können Sie IP-basierte Limits aufheben, indem Sie Ihre Anfragen authentifizieren. Wenn Ihr Anwendungsfall höhere Limits erfordert, wenden Sie sich an den Kameleoon-Support, um die Optionen zu besprechen.Ratenlimits gelten für Ihr gesamtes Kundenkonto, nicht für einzelne Projekte. Wenn ein Projekt übermäßig viele Anfragen erzeugt (beispielsweise weil eine fehlerhafte Implementierung eine Schleife erstellt, die Custom-Data-Events wiederholt sendet), verbraucht dieses Projekt das gemeinsame Konto-Limit und kann HTTP 429-Fehler in all Ihren anderen Projekten verursachen.Um das Projekt zu identifizieren, das unerwarteten Traffic erzeugt, verwenden Sie die Live events-Seite (Insights > Live events). Wählen Sie jedes Projekt nacheinander aus und vergleichen Sie die Ereignisanzahl der letzten Stunde oder 24 Stunden mit dem erwarteten Volumen. Ein Projekt, das deutlich mehr Ereignisse erzeugt, als sein Besuchervolumen rechtfertigt (beispielsweise mehrere Millionen Ereignisse bei einem Vertrag mit 100.000 MUV), ist wahrscheinlich die Ursache. Filtern Sie die Ereignisse nach Typ, um die Ursache einzugrenzen: Custom-Data-Events sind die häufigste Ursache, oft weil eine fehlerhafte Schleife dieselbe Custom-Data-Variable oder alle Custom-Data-Variablen bei jedem Seitenaufruf sendet.Skalierbarkeit der Plattform
Die Kameleoon-Plattform verwendet horizontale Skalierung, Auto-Scaling-Infrastruktur, Lastverteilung sowie regelmäßige Last- und Stresstests. Weitere Details finden Sie unter Wie unterstützt die Plattform von Kameleoon Skalierbarkeit und Elastizität?.Warum verwendet die Kameleoon-Engine (Anwendungsdatei engine.js) die eval()-Funktion?
Warum verwendet die Kameleoon-Engine (Anwendungsdatei engine.js) die eval()-Funktion?
eval()-Funktion, um benutzerdefinierten Code zu Kameleoon hinzuzufügen, wie z. B. benutzerdefinierte Daten und benutzerdefiniertes JavaScript, wenn Variationen einer Seite implementiert werden. Die eval()-Funktion ermöglicht es Kameleoon, diesen benutzerdefinierten Code dynamisch zur Laufzeit auszuführen.Wenn Sie eine Content-Security-Policy-(CSP)-Direktive verwenden, die die Verwendung der eval()-Funktion verhindert, implementieren Sie das folgende JavaScript-Snippet vor dem Kameleoon-Installations-Tag:eval() blockiert, hebt die Implementierung des Code-Snippets diese Einschränkungen nicht auf. Um die volle Funktionalität sicherzustellen, passen Sie die entsprechende CSP-Direktive an, um eval() oder ähnliche Funktionen zuzulassen. Andernfalls bleiben bestimmte erweiterte Targeting- oder Anpassungsfunktionen in Kameleoon aufgrund der Browser-Sicherheitsdurchsetzung unzugänglich.eval()-Funktion. Sie können diese Anforderung jedoch umgehen, indem Sie die Kameleoon Chrome-Erweiterung installieren und die Einstellung Dev Tools > Tag injection > Bypass policies aktivieren, um die Richtlinien lokal zu überschreiben. Sie müssen außerdem Ihren Sitecode angeben. Das Aktivieren der Einstellung Bypass policies ermöglicht es Ihnen, den grafischen Editor in einem Chrome-Browser zu verwenden.
eval()-Funktion blockiert. Diese Einschränkungen gelten auch dann, wenn Sie eines der in der FAQ erwähnten Code-Snippets oder Workarounds verwenden. Die folgenden Funktionen bleiben nicht verfügbar, sofern Ihre CSP eval() nicht explizit zulässt:- Ansprechen eines Segments mit einer benutzerdefinierten JavaScript-Bedingung (nur unterstützt, wenn die Bedingung asynchron ausgeführt wird).

- Verwendung benutzerdefinierter Daten mit benutzerdefiniertem JavaScript-Code.
- Verwendung von Akquisitionskanälen mit benutzerdefiniertem JavaScript-Code.
Kann ich meinen Server als Proxy für die Tracking-Aufrufe von Kameleoon verwenden?
Kann ich meinen Server als Proxy für die Tracking-Aufrufe von Kameleoon verwenden?
(eu|na)-data.kameleoon.(eu|io) weiter. Wenn Sie beispielsweise tracking.yourdomain.com als Ihre Tracking-Domain wählen, wäre eine Tracking-Anfrage ein POST an tracking.yourdomain.com. Ihr Server sollte die Anfrage dann zusammen mit allen erforderlichen Daten und Parametern an den Host (eu|na)-data.kameleoon.(eu|io) weiterleiten. Um diese Option zu aktivieren, wenden Sie sich an Ihren Customer Success Manager.Kann ich Subresource Integrity (SRI) mit der Kameleoon-Anwendungsdatei verwenden?
Kann ich Subresource Integrity (SRI) mit der Kameleoon-Anwendungsdatei verwenden?
Warum lädt meine Website mit einem starken Flash-/Flicker-Effekt auf Firefox?
Warum lädt meine Website mit einem starken Flash-/Flicker-Effekt auf Firefox?
<script>-Tag folgt (auch ein nahezu leeres).Beispiel:Kann ich das von Kameleoon bereitgestellte Installations-Tag ändern?
Kann ich das von Kameleoon bereitgestellte Installations-Tag ändern?
Kann ich das Installations-Tag in einem separaten externen Skript hinzufügen?
Kann ich das Installations-Tag in einem separaten externen Skript hinzufügen?
Ist es möglich, Daten im Fall dedizierter Datenspeicher-Cluster (On-Premises-Setup) zu verschlüsseln?
Ist es möglich, Daten im Fall dedizierter Datenspeicher-Cluster (On-Premises-Setup) zu verschlüsseln?
Kann ich nicht essenzielle Experimente bis nach dem ersten Seitenladevorgang verzögern?
Kann ich nicht essenzielle Experimente bis nach dem ersten Seitenladevorgang verzögern?
DELAYED den Experimenten hinzu, die Sie verschieben möchten. Weitere Informationen finden Sie in der Dokumentation zur Tag-Verwaltung.Kameleoon verwaltet als „DELAYED” markierte Experimente intelligent. Es lädt die Konfiguration erst nach 10 Sekunden Inaktivität herunter oder wenn der Besucher angesprochen und einer Variation zugewiesen wird, die nicht der Kontrollvariante entspricht. Konzentrieren Sie sich darauf, das beste Nutzererlebnis zu bieten, indem Sie ressourcenintensive Tests verschieben.Wie unterstützt die Plattform von Kameleoon Skalierbarkeit und Elastizität?
Wie unterstützt die Plattform von Kameleoon Skalierbarkeit und Elastizität?
- Skalierbare Architektur: Eine verteilte und modulare Architektur ermöglicht horizontale Skalierung.
- Auto-Scaling-Infrastruktur: Die cloudbasierte Infrastruktur skaliert Rechenressourcen automatisch.
- Lastverteilung: Fortgeschrittene Techniken verteilen den Traffic gleichmäßig auf die Server.
- Datenaufnahme und -verarbeitung: Robuste APIs und ein Data Broker verwalten große Datenmengen effizient.
- Skalierbarkeitstests: Regelmäßige Last- und Stresstests stellen sicher, dass das System extreme Bedingungen bewältigt.
- Elastische Datenspeicherung: Mehrstufiger Speicher ermöglicht schnellen Datenzugriff und langfristige Skalierbarkeit.
Welche Datenbanken und Frameworks verwendet Kameleoon?
Welche Datenbanken und Frameworks verwendet Kameleoon?
- Hadoop File System (zusammen mit Spark)
- Cassandra
- ClickHouse
- Kafka
Welche Netzwerkanfragen stellt die Kameleoon-Engine?
Welche Netzwerkanfragen stellt die Kameleoon-Engine?
Segments-Anfrage
- Zweck: Erfasst Ereignisse für die vom Besucher angesprochenen Segmente.
- Endpoint:
https://${SITECODE}.kameleoon.io/audiences/segments.js - Methode: GET
- Hinweis: Der Browser speichert die Datei 90 Minuten lang im Cache.
Live-Update-Experiments-Konfigurationsanfrage
- Zweck: Ruft die Konfiguration der mit LIVE-UPDATE markierten Experimente ab.
- Endpoint:
https://${SITECODE}.kameleoon.io/live-experiments/config.js - Methode: GET
- Hinweis: Der Browser speichert die Datei 2 Minuten lang im Cache.
Anfrage für verzögerte Experimentvariation
- Zweck: Lädt Variationsdaten für mit DELAYED markierte Experimente.
- Endpoint:
https://${SITECODE}.kameleoon.io/experiments/${action.id}/variations/${variationId}.js - Methode: GET
- Hinweis: Der Browser speichert die Datei 30 Tage lang im Cache.
Anfrage für verzögerte Personalisierungsvariation
- Zweck: Lädt Variationsdaten für mit DELAYED markierte Personalisierungen.
- Endpoint:
https://${SITECODE}.kameleoon.io/personalizations/${action.id}/variations/${variationId}.js - Methode: GET
- Hinweis: Der Browser speichert die Datei 30 Tage lang im Cache.
Anfrage zu vorherigen Besuchen
- Zweck: Ruft vorherige Besuche für die geräteübergreifende Abstimmung und die Echtzeit-Synchronisation von Besuchen ab.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/visit/visitor - Methode: GET
Anfrage für Tracking-Ereignisse
- Zweck: Zeichnet Ereignisse während der Besuche auf.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/visit/events - Methode: POST
IP-Adressenanfrage
- Zweck: Ermöglicht das Ausschließen/Einschließen von Besuchern basierend auf der IP-Adresse.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/ip - Methode: GET
- Hinweis: Kameleoon speichert IPs niemals in Datenbanken. Der Browser des Besuchers verwendet die IP ausschließlich zu Vergleichszwecken.
Geolokalisierungsanfrage
- Zweck: Erhält Geolokalisierungsdaten für Targeting und Analytik.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/geolocation - Methode: GET
Anfrage zum aktuellen Wetter
- Zweck: Gibt die aktuellen Wetterbedingungen zurück.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/weather/weather - Methode: GET
Wettervorhersage-Anfrage
- Zweck: Gibt eine 5-Tage-Wettervorhersage zurück.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/weather/forecast - Methode: GET
Kameleoon-Skript-Erkennungsanfrage
- Zweck: Erkennt den Implementierungsstatus des Kameleoon-Skripts.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/active-script/event - Methode: POST
Produktanfrage
- Zweck: Sammelt Produktereignisse für Targeting und Empfehlungen.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/product/events - Methode: POST
Kameleoon-Konversions-Scores-Anfrage
- Zweck: Ruft prädiktive Scores für das Targeting ab.
- Endpoint:
https://(eu|na)-data.kameleoon.(eu|io)/predict/latestPredictionScoreHistograms - Methode: GET
Sind meine Daten von den Daten anderer Kunden isoliert?
Sind meine Daten von den Daten anderer Kunden isoliert?
Wie kontrolliert Kameleoon den Mitarbeiterzugriff auf mein Konto?
Wie kontrolliert Kameleoon den Mitarbeiterzugriff auf mein Konto?