Zum Hauptinhalt springen
Die Einrichtung eines Umsatzziels in Kameleoon ist unkompliziert, erfordert jedoch sorgfältige Schritte, um sicherzustellen, dass alles korrekt funktioniert. Jede Website hat ihre eigene Struktur, ihren eigenen Kaufablauf, ihre eigene Tracking-Konfiguration und ihre eigenen Sonderfälle, was bedeutet, dass es keine Einheitslösung gibt. Ohne ordnungsgemäße Konfiguration riskieren Sie, wichtige Datenpunkte zu verpassen, Transaktionen doppelt zu zählen oder die Leistung falsch zu interpretieren. Um Ihnen dabei zu helfen, diese Fallstricke zu vermeiden und sicherzustellen, dass Ihre Umsatzverfolgung sowohl genau als auch aussagekräftig ist, fasst dieser Artikel eine Reihe praktischer Richtlinien zusammen. Die Empfehlungen sind darauf ausgelegt, die häufigsten Herausforderungen abzudecken, denen Kameleoon-Nutzer begegnen, und bieten gleichzeitig flexible Lösungen, die Sie an Ihre Konfiguration anpassen können.

Implementierungsmethode

Kameleoon unterstützt mehrere Integrationsmethoden, um Umsatzziele effektiv zu verfolgen, abhängig von Ihrem Experimentierungstyp und Ihrer technischen Konfiguration. Im Folgenden finden Sie die empfohlenen Ansätze sowohl für Web Experimentation (WE) als auch für Feature Experimentation (FE), einschließlich der Unterstützung für Offline-Konvertierungen über die Kameleoon Data API.

Web Experimentation

  • Verwendung eines Tag-Managers: Sie sollten den kameleoonQueue implementieren, der sicherstellt, dass Konvertierungsereignisse synchron mit Ihrer Analytics-Plattform ausgelöst werden, die Datenkonsistenz zwischen Tools gewahrt und die Leistung Ihrer Website verbessert wird. Eine detaillierte Implementierungsanleitung im Google Tag Manager finden Sie in diesem umfassenden Leitfaden und den Konfigurationsschritten unten, um das Umsatzziel einzurichten.
  • Verwendung des globalen benutzerdefinierten Skripts: Wenn kameleoonQueue nicht mit Ihrer Konfiguration kompatibel ist, können Sie das Umsatzziel manuell mit der Activation API innerhalb des globalen benutzerdefinierten Skripts in der Kameleoon-App implementieren.

Feature Experimentation

Wenn Sie eines der Kameleoon-SDKs verwenden, können Sie Umsatzziele mit der Methode trackConversion() verfolgen. Befolgen Sie die nachstehenden Schritte, um das Umsatzziel basierend auf Ihrer SDK-Umgebung ordnungsgemäß zu konfigurieren.

Data API

(Anwendbar für WE und FE) Für Offline-Konvertierungen, wie z. B. telefonisch oder im Geschäft abgeschlossene Käufe, können Sie die Kameleoon Data API verwenden, um Offline-Zielkonvertierungen zu verarbeiten. Diese Methode ist am besten geeignet, wenn das Konvertierungsereignis außerhalb der Online-Reise des Nutzers stattfindet, aber dennoch verfolgt und in Ihren Kameleoon-Experimenten zugeordnet werden muss.

Konfiguration

Geltungsbereich

Bevor Sie Ihr Umsatzziel einrichten, prüfen Sie, ob die Transaktionsbestätigung immer auf einer einzigen, konsistenten Seite stattfindet. In einigen Konfigurationen, insbesondere bei mobilen Apps, eingebetteten Checkouts oder Drittanbieter-Zahlungsanbietern, kann die Bestätigung in einer Webview oder auf einer separaten Domain erscheinen. Stellen Sie sicher, dass Kameleoon auf allen relevanten Seiten oder Ansichten, auf denen die Bestätigung erscheinen kann, ordnungsgemäß installiert ist. Diese Konfiguration stellt sicher, dass Konvertierungen zuverlässig verfolgt werden und keine Umsatzdaten verloren gehen. Wenn ein Nutzer eine Transaktion über mehrere URLs abschließen kann (zum Beispiel aufgrund von Variationen in Abfrageparametern oder verschiedenen Zahlungsabläufen), fügen Sie alle relevanten URLs in den Einstellungen von Kameleoon hinzu, um sie zu verfolgen. So gehen keine Konvertierungen verloren.

Transaktionsziel (Zugriff auf die Bestätigungsseite)

Es ist eine bewährte Praxis, ein Ziel für den Zugriff auf die Bestätigungsseite ohne den Umsatzbetrag festzulegen. Dieses Ziel könnte helfen, fehlende Konvertierungen für das Umsatzziel zu verfolgen. Verpasste Konvertierungen werden oft durch Verzögerungen beim Laden des Umsatzbetrags auf der Seite verursacht (sei es im DOM, im dataLayer oder in einem anderen ähnlichen Objekt). Um ein Transaktionsziel in WE einzurichten, können Sie zwischen zwei Zieltypen wählen:
  • Zugriff auf eine Seite: Sie müssen die URL in der Konfiguration des Ziels festlegen. Je nach Struktur der URL können Sie entweder URL enthält oder Stimmt mit dem regulären Ausdruck überein verwenden, um Variationen in der URL zu berücksichtigen (zum Beispiel unterschiedliche Pfade oder Abfrageparameter). Vermeiden Sie die Verwendung von Stimmt genau überein, da die URL wahrscheinlich Parameter enthält, die variieren können.
Wenn Sie den Zieltyp Zugriff auf eine Seite verwenden und Besucher die Bestätigung neu laden können, ohne weitergeleitet zu werden (zum Beispiel zur Startseite), kann das Ziel erneut ausgelöst werden. Wenn dies Ihre Konfiguration ist, ist es am besten, sich auf die Metrik konvertierte Besuche statt auf alle Konvertierungen auf der Ergebnisseite zu verlassen, um Überzählungen zu vermeiden.
  • Benutzerdefiniertes Ziel: Dieser Zieltyp ist nützlich, um sicherzustellen, dass das Ziel nicht erneut konvertiert wird, wenn die Bestätigungsseite neu geladen wird. Sie können ein benutzerdefiniertes Ziel im globalen benutzerdefinierten Skript implementieren und eine sessionStorage-Prüfung verwenden, um doppelte Konvertierungen zu verhindern (siehe Beispielcode unten). Dieser Ansatz wird empfohlen, da Sie denselben Code verwenden können, um das Umsatzziel auszulösen, was die Leistung verbessert, indem die Notwendigkeit eines nativen Ziels Zugriff auf eine Seite entfällt.
if (
   document.location.href.includes("/confirmation/") &&
   !window.sessionStorage.getItem("kameleoonGoalConverted")
 ) {
   // Set an item in sessionStorage to prevent a second conversion if the page is reloaded
   window.sessionStorage.setItem("kameleoonGoalConverted", "true");
   // Convert the transaction goal, replace the ID below
   Kameleoon.API.Goals.processConversion(355733);
 } else if (!document.location.href.includes("confirmation")) {
   // Remove the item from sessionStorage to allow conversion for a new transaction
   window.sessionStorage.removeItem("kameleoonGoalConverted");
 }

Umsatzformat

Stellen Sie sicher, dass der Umsatzbetrag vor der Verarbeitung ordnungsgemäß formatiert und validiert wird, einschließlich:
  • Ersetzen von Kommas (,) durch Punkte (.) für Dezimal-Konsistenz.
  • Entfernen von Leerzeichen (können bei Beträgen über 1.000 vorhanden sein).
  • Entfernen von Währungssymbolen (wie $).
  • Konvertieren der bereinigten Zeichenkette in einen numerischen Datentyp für genaue Berechnungen.
Zum Beispiel:
let revenue = parseFloat(revenue.replace(",", ".").replace(/user-manual/[^0-9.]/g, "").replace(/user-manual/\s+/g, ""));

Währungen

Eine Website kann mehrere Währungen unterstützen. Stellen Sie sicher, dass Sie Konvertierungswerte vergleichen, die alle in derselben Währung ausgedrückt sind, um irreführende Ergebnisse oder falsche Analysen zu vermeiden. Überprüfen Sie, ob die in Ihrer Verfolgung und Berichterstattung verwendete Währung über alle Konvertierungen hinweg konsistent ist. Sie können ein Ziel für jede Währung auslösen und/oder den Konvertierungs-Webservice von Kameleoon verwenden. Der Endpunkt wird unten angegeben – stellen Sie sicher, dass alle übergebenen Argumente gültig sind.
<https://customers.kameleoon.com/kameleoon/currencies/convert?inputCurr=${inputCurr}&outputCurr=${outputCurr}&amount=${revenue}>;
Konvertieren Sie niemals dasselbe Ziel mit Beträgen in verschiedenen Währungen. Sie müssen entweder ein separates Ziel für jede Währung erstellen oder sie vereinheitlichen, indem Sie ein globales Ziel mit dem oben genannten Webservice-Endpunkt einrichten. Dieser Service konvertiert alle Beträge in eine einzige Währung Ihrer Wahl.
Sehen Sie sich das vollständige Codebeispiel am Ende dieses Artikels für eine detaillierte Implementierung des Webservice zur Währungsumrechnung an.

Bestell-ID

Sie sollten eine benutzerdefinierte Daten hinzufügen, um die Bestell-ID (Bestellnummer) zu speichern, und sie als Metadaten für das Umsatzziel verwenden. Diese benutzerdefinierten Daten verknüpfen jede Konvertierung mit der Bestell-ID und helfen Ihnen, Transaktionen genau mit Ihrem Analyse-Tool abzugleichen und potenzielle Datenunstimmigkeiten zu untersuchen. Um die benutzerdefinierten Daten zu konfigurieren, beachten Sie den Screenshot unten. Passen Sie das Format an, je nachdem, ob die Bestell-ID auf Ihrer Website eine Zahl oder eine Zeichenkette ist.
Verknüpfen Sie als Nächstes die benutzerdefinierten Daten OrderID mit Ihrem Umsatzziel.
Sehen Sie sich abschließend das vollständige Codebeispiel unten an, das den Wert der benutzerdefinierten Daten festlegt.

Vollständiges Beispiel

Dieses Beispiel gilt für WE und kann als Referenz für die Implementierung in FE verwendet werden. Nachdem Sie nun jedes Schlüsselelement – Geltungsbereich, Transaktionslogik, Umsatzformat, Währungsbehandlung und Bestell-ID-Verfolgung – überprüft haben, sind Sie bereit, alles zusammenzuführen. Nachfolgend finden Sie ein vollständiges Beispiel für die Implementierung des Umsatzziels mit dem globalen benutzerdefinierten Skript in Kameleoon.
 // Amount conversion using Kameleoon's currency conversion web service
 const convertCurrency = async (revenue, inputCurr, outputCurr) => {
     if (revenue == 0) return 0;
     const response = await fetch(
         `https://customers.kameleoon.com/kameleoon/currencies/convert?inputCurr=${inputCurr}&outputCurr=${outputCurr}&amount=${revenue}`,
         {
             method: 'GET',
             headers: {
                 'Content-Type': 'text/plain',
             },
         }
     );
     return response.json();
 };
 

 // Logic to:
 // - Convert the transaction goal 
 // - Convert a goal for each currency
 // - Convert the global revenue goal
 // - Set the orderID custom data
 // repalce all goal IDs in the code
 if (document.location.href.includes("/confirmation/") && !window.sessionStorage.getItem("kameleoonGoalConverted")) {
     Kameleoon.API.Goals.processConversion(355733); // Transaction goal
     sessionStorage.setItem("kameleoonGoalConverted", "true");
 

     let revenueLayer;
     Kameleoon.API.Core.runWhenConditionTrue(() => {
         revenueLayer = window.dataLayer?.find(layer => layer.ecommerce?.purchase?.actionField?.revenue);
         return revenueLayer;
     }, () => {
         let revenue = parseFloat(revenueLayer.ecommerce.purchase.actionField.revenue);
         const inputCurr = revenueLayer.ecommerce.purchase.actionField.inputCurrency;
         const orderID = revenueLayer.ecommerce.purchase.actionField.orderID;
 

         if (!isNaN(revenue)) {
             revenue = revenue.toString().replace(",", ".").replace(/user-manual/[^0-9.]/g, "").replace(/user-manual/\s+/g, "");
             // Currency-specific revenue goals
             switch (inputCurr) {
                 case 'GBP':
                     Kameleoon.API.Goals.processConversion(355641, revenue);
                     break;
                 case 'USD':
                     Kameleoon.API.Goals.processConversion(355643, revenue);
                     break;
                 case 'EUR':
                     Kameleoon.API.Goals.processConversion(355642, revenue);
                     break;
                 default:
                     Kameleoon.API.Goals.processConversion(355649); // Other currencies (no revenue passed)
             }
             // Global revenue goal in output currency (you can use ISO 4217 codes for each country)
             const outputCurr = "USD";
             convertCurrency(revenue, inputCurr, outputCurr).then((convertedRevenue) => {
                 // The custom data must be set before the goal is converted
                 Kameleoon.API.Data.setCustomData("orderID", orderID);
                 Kameleoon.API.Goals.processConversion(353518, convertedRevenue);
             }).catch((error) => {
// Create a Custom Data to store potential errors for debugging
                 Kameleoon.API.Data.setCustomData("[KAM] - currency webservice error", `error: ${error.toString()}; revenue: ${revenue}; inputCurr ${inputCurr}; outputCurr ${outputCurr}`);
                 console.error("Error in currency conversion:", error);
             });
         }
     });
 } else if (!document.location.href.includes("/confirmation/")) {
     sessionStorage.removeItem("kameleoonGoalConverted");
 } 
Nachfolgend finden Sie zur Referenz einen Screenshot der dataLayer-Struktur auf der Bestätigungsseite.
Die Einrichtung eines zuverlässigen Umsatzziels in Kameleoon erfordert eine sorgfältige Abstimmung mit der Struktur Ihrer Website, der dataLayer-Konfiguration und den Währungsformaten. Indem Sie die obigen Richtlinien befolgen, sei es über einen Tag-Manager oder ein globales benutzerdefiniertes Skript, können Sie eine genaue Verfolgung sicherstellen, Unstimmigkeiten mit Ihren Analyse-Tools reduzieren und aussagekräftigere Erkenntnisse aus Ihren Experimenten gewinnen. Vergessen Sie nicht, gründlich zu testen und Ihre Implementierung zu validieren, um die Datenintegrität zu wahren.