So richten Sie Bezahlstation-Analytics in GTM ein

So funktioniert's

Diese Anleitung behandelt die grundlegende Integration von Web-Analytics-Systemen von Drittanbietern in den Zahlungsfluss der Xsolla-Bezahlstation und erklärt, wie man wertvolle Daten aus Ereignissen und Parametern gewinnt.

Note
Beachten Sie, dass verschiedene externe Faktoren (Scriptblocker, Verbindungsabbrüche, Abbrüche von seitens des Benutzers oder Sitzungsende) die Genauigkeit von Webanalysen beeinträchtigen.

Wie komme ich dazu

Gehen Sie im Google Tag Manager (GTM) wie folgt vor, um Web-Analytics-Systeme zu integrieren

  1. Fügen Sie dem benutzerdefinierten HTML-Tag ein Skript hinzu.
  2. Definieren Sie Variablen.
  3. Fügen Sie Trigger hinzu.
  4. Fügen Sie Tags hinzu.
  5. Veröffentlichen Sie die Änderungen.

Note

Wenn Sie eine Komponente des bereits integrierten Web-Analytics-Systems für das Zahlungsportal ändern, brauchen Sie nur die Änderungen zu veröffentlichen, um sie übernehmen. Die Einstellungen der anderen Komponenten müssen Sie nicht anpassen.

Beispiel: Wenn Sie das benutzerdefinierte HTML-Tag hinzufügen und die Variablen bereits definiert sind, veröffentlichen Sie nur die Änderungen, die sich auf das Tag beziehen. Das abermalige Einrichten anderer Web-Analytics-Komponenten entfällt.

Script zum benutzerdefinierten HTML-Tag hinzufügen

  1. Öffnen Sie Ihr Konto im GTM, und wechseln Sie zu Tags.
  2. Klicken Sie auf Neu.

  1. Klicken Sie auf den Bereich Tag-Konfiguration.
  2. Wählen Sie als Tag-Typ die Option Benutzerdefiniertes HTML in der Liste aus.

  1. Fügen Sie im HTML-Feld den folgenden Code ein.

Note
Legen Sie für den Parameter event.origin den Wert https://sandbox-secure.xsolla.com fest, um das Skript in der Testumgebung zu testen.
Copy
Full screen
Small screen
<script>
window.onmessage = function payStationStatus(event) {
  if (event.origin === "https://secure.xsolla.com") {
    try {
      var data = JSON.parse(event.data).data;           

      if (data.action === 'change-status') {
          dataLayer.push({'event': 'status', 'changeStatus': true, 'status': data.value})
      }

      if (data.action === 'choose-method' && data.value) {
        dataLayer.push({'event': 'choosePaymentMethod', 'choosePaymentMethod': true, 'paymentMethod': data.value})       
      }

      if (data.action === 'click-btn-pay') {
          dataLayer.push({'event': 'clickPayButton', 'clickPayButton': true})
      }

      if (data.action === 'close-widget') {       
          dataLayer.push({'event': 'closeWidget', 'closeWidget': true})
      }

      if (data.action === 'create-invoice') {
          dataLayer.push({
    'event': 'invoiceCreated',
            'invoiceCreated': true,
            'action': data.action,
    'coupon_code': data.coupon_code,
    'date': data.date,
    'milliseconds': data.milliseconds,
    'payment_country': data.payment_country,
    'purchase_currency': data.purchase_currency,
    'purchase_description': data.purchase_description,
    'purchase_external_id': data.purchase_external_id,
    'purchase_invoice_id': data.purchase_invoice_id,
    'purchase_sku': data.purchase_sku,
    'purchase_digital_content_sku': data.purchase_digital_content_sku,
    'purchase_sum': data.purchase_sum,
    'purchase_type': data.purchase_type,
    'session_id': data.session_id,
    'state': data.state,
    'timezone': data.timezone,
    'user_country': data.user_country,
    'user_id': data.user_id,
    'value': data.value,
    'virtual_currency_amount': data.virtual_currency_amount
          });
      }

      if (data.state) {
          dataLayer.push({'event': 'changeState', 'changeState': true, 'state': data.state});
      }
    } catch (e) {
      return;
    }
  }
};
</script>

  1. Klicken Sie auf den Bereich Trigger.
  2. Wählen Sie einen Trigger vom Typ Seitenaufruf, der auf allen Seiten auslöst.
  3. Klicken Sie auf Speichern.

Das gespeicherte HTML-Tag wird im Abschnitt Tags angezeigt. Das Skript wird beim Öffnen des Zahlungsportals ausgelöst.

Variablen festlegen

Es gibt zwei Datenschichtvariablen, die definiert werden müssen, einschließlich:

  • Ereignisse — Zur Erstellung von Triggern und zum Erhalt vordefinierter Werte.
  • Parameter — Zur Übermittlung von Informationen an ein Analytics-System und zur Ausgabe beliebige Werte.

So fügen Sie eine Variable hinzu:

Ereignisse

EreignisBeschreibung
show-error-pageFehleranzeige. Die Fehlermeldung wird in value übermittelt.
open-{state_name}Öffnen einer Seite im Zahlungsportal.
create-invoiceErstellen einer Rechnung aufseiten von Xsolla.
close-widgetSchließen des Zahlungsportals.
click-email-submitSenden einer E-Mail von der Statusseite aus.
click-custom-package-continueKlick auf die Schaltfläche Weiter zum Kauf einer beliebigen Menge virtueller Währung.
click-commentKlick auf die Schaltfläche zum Veröffentlichen eines Beitrags.
click-buy-packageKlick auf die Schaltfläche Paket kaufen zum Kauf eines virtuellen Währungspakets.
click-buy-gift-packageKlick auf die Schaltfläche zum Kauf eines virtuellen Währungspakets als Geschenk.
click-buy-gift-custom-packageKlick auf die Schaltfläche zum Kauf einer beliebigen Menge virtueller Währung als Geschenk.
click-btn-shareKlick auf die Schaltfläche für das Teilen in sozialen Netzwerken. Der Name des sozialen Netzwerks wird in value übermittelt.
click-btn-payKlick auf die Schaltfläche Jetzt bezahlen im Rechnungsformular.
click-btn-continueKlick auf die Schaltfläche zum Abschluss eines kostenpflichtigen Abonnements.
click-btn-applyKlick auf die Schaltfläche Anwenden zum Einlösen eines Gutscheins.
click-btn-activateKlick auf die Schaltfläche Aktivieren zum Aktivieren eines Spielschlüssels.
click-btn-acceptKlick auf die Schaltfläche zum Kauf digitaler Inhalte.
choose-payment-widgetKlick auf das Zahlungsmethode-Widget. Der Widget-Name wird in value übermittelt.
choose-methodAuswahl des Zahlungsverfahrens. Der Name der Zahlungsmethode wird in value übermittelt.
change-statusÄndern des Zahlungsstatus. Wenn der Benutzer das Zahlungsportal schließt oder die Seite verlässt und sich anschließend der Status ändert, wird die Ereignismeldung nicht gesendet.
external-link-openWeiterleitung zu einer externen Ressource. Die Adresse, an die die Weiterleitung erfolgt, wird im Parameter url übermittelt.
dimensionsWird die Bezahlstation in einem iframe geöffnet, werden die Höhe und Breite des iframe in den Parametern width und height übermittelt.
status-redeemDie Gutscheineinlösung in einem Zahlungsformular.
focus-changeÄnderung des Fokus auf Elemente des Bezahlstation-Widgets. Der Fokuszustand wird im Parameter hasFocus übermittelt und kann die Werte true oder false annehmen.
statusWechsel zur Zahlungsstatusseite: Folgende Parameter lassen sich übermitteln:
  • status — Zahlungsstatus
  • email — E-Mail-Adresse des Benutzers
  • invoice — Transaktions-ID
  • virtualCurrencyAmount — Betrag der erworbenen virtuellen Währung
  • userId — Benutzer-ID
  • discount — der auf die Zahlung angewandte Rabatt
external-payment-openedUmleitung vom Zahlungsportal zu einem externen Zahlungssystem oder 3-D Sicherheitsverifizierung.
returnWechsel zum nächsten Schritt nach Tätigung einer Zahlung auf der Zahlungssystemseite. Wird der Benutzer zur Bezahlstation weitergeleitet, wird der Name des Schritts im Parameter nextState übermittelt. Wird der Benutzer zu einer externen Ressource weitergeleitet, wird die Adresse der Seite im Parameter redirectUrl übermittelt.
add_saved_account_errorFehler beim Speichern eines Zahlungskontos.
cancel_save_accountWiderruf der Speicherung eines Zahlungskontos durch einen Benutzer.
add_saved_accountErfolgreiches Speicherung eines Zahlungskontos.

Parameter

ParameterTypBeschreibung
actionstringEreignisname.
valuestringWeitere Parameter. Enthält spezifische Ereignisparameter, die je nach Wahl des Benutzers variieren.
statestringDie Zahlungsportal-Seite, auf welcher die Aktion ausgeführt wurde.
datestringDatum und Uhrzeit im GMT-Format.
millisecondsnumberDatum und Uhrzeit im Unixzeit-Format.
timezonestringZeitzone des Benutzers.
session_idstringSitzungs-ID. Die Sitzung umfasst alle Benutzeraktionen, die innerhalb von 30 Minuten oder bis zum Schließen des Zahlungsportals durchgeführt werden. Die Sitzung beginnt mit dem Aufrufen des Zahlungsportal und wird immer dann gespeichert, wenn die Zahlungsportal-Seite aktualisiert wurde.
payment_countrystringZahlungsland.
purchase_invoice_idnumberRechnungsnummer im Xsolla-System.
purchase_external_idstringRechnungsnummer im System des Partners.
purchase_typestringKauftyp. Möglich sind: virtual item, virtual currency, pay2play, subscription.
purchase_sumnumberNominaler Kaufbetrag.
purchase_currencystringKaufwährung.
purchase_skustringSKU des erworbenen Gegenstands.
purchase_digital_content_skustringSKU des erworbenen Spielschlüsselpakets.
purchase_descriptionstringKaufbeschreibung.
virtual_currency_amountnumberBetrag in virtueller Währung.
coupon_codestringGutscheincode.
subscription_package_external_idnumberAbonnement-ID.
subscription_package_namestringAbonnement-Name.
subscription_package_descriptionstringAbonnement-Beschreibung.
total_sumnumberGesamtkaufpreis. Inklusive aller Gebühren.
total_sum_currencystringWährung des Gesamtkaufpreises.
user_idstringBenutzer-ID (v1).
user_countrystringLand des Benutzers.
payment_instance_namestringName der Zahlungsmethode.

Trigger hinzufügen

Um einen Trigger hinzuzufügen, benötigen Sie eine oder oder mehrere Datenschichtvariablen, die unter "Ereignisse" aufgelistet sind.

BEISPIEL: Informationen sollen an Facebook gesendet werden, nachdem der Benutzer die Zahlungsstatusseite besucht hat.

Tags hinzufügen

Dieser Schritt hängt vom verwendeten Web-Analytics-System ab. Als Beispiel betrachten wir Google Analytics.

BEISPIEL: Ein Benutzer ruft die Statusseite auf. Diese Ereignisinformation sollen, genauso wie der Zahlungsbetrag und die Währung, an Google Analytics übermittelt werden (Die Währung ist eine benutzerdefinierte Metrik in Google Analytics).

Note
Für Kaufereignisse empfehlen wir dringend die Zahlungsbestätigung des Benutzers — clickPayButton — da für jedes weitere Ereignis der Benutzer das Browserfenster geöffnet lassen muss. Nicht immer führt die Transaktionsbestätigung zu einer postMessage-Initiierung, bevor der Benutzer die Registerkarte schließt.

Änderungen veröffentlichen

  1. Wechseln Sie zu Übersicht, und klicken Sie auf Senden.

  1. Geben Sie auf der Registerkarte Veröffentlichen und Version erstellen einen Versionsnamen, eine Versionsbeschreibung eine Veröffentlichungsumgebung an.
  2. Klicken Sie auf Veröffentlichen.
  3. War dieser Artikel hilfreich?
    Vielen Dank!
    Gibt es etwas, das wir verbessern können? Nachricht
    Das tut uns leid
    Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
    Vielen Dank für Ihr Feedback!
    Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
    Diese Seite bewerten
    Diese Seite bewerten
    Gibt es etwas, das wir verbessern können?

    Jetzt nicht

    Vielen Dank für Ihr Feedback!
    Letztmalig aktualisiert: 16. Mai 2022

    Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.

Problem melden
Wir überprüfen unsere Inhalte ständig. Ihr Feedback hilft uns, sie zu verbessern.
Geben Sie eine E-Mail-Adresse an, damit wir Sie erreichen können
Vielen Dank für Ihr Feedback!