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.
Wie komme ich dazu
Gehen Sie im Google Tag Manager (GTM) wie folgt vor, um Web-Analytics-Systeme zu integrieren:
- Fügen Sie dem benutzerdefinierten HTML-Tag ein Skript hinzu.
- Definieren Sie Variablen.
- Fügen Sie Trigger hinzu.
- Fügen Sie Tags hinzu.
- Veröffentlichen Sie die Änderungen.
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
- Öffnen Sie Ihr Konto im GTM, und wechseln Sie zu Tags.
- Klicken Sie auf Neu.

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

- Fügen Sie im HTML-Feld den folgenden Code ein.
event.origin
den Wert https://sandbox-secure.xsolla.com
fest, um das Skript in der Testumgebung zu testen.- js
<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>
- Klicken Sie auf den Bereich Trigger.
- Wählen Sie einen Trigger vom Typ Seitenaufruf, der auf allen Seiten auslöst.
- 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
Ereignis | Beschreibung |
---|---|
show-error-page | Öffnen einer Seite mit Fehleranzeige. Ein Fehlercode wird im Parameter value übermittelt. |
open-{state_name} | Öffnen einer Seite im Zahlungsportal. |
create-invoice | Erstellen einer Rechnung aufseiten von Xsolla. |
widget-close | Schließen des Zahlungsportals. |
click-email-submit | Senden einer E-Mail von der Statusseite aus. |
click-custom-package-continue | Klick auf die Schaltfläche Weiter zum Kauf einer beliebigen Menge virtueller Währung. |
click-comment | Klick auf die Schaltfläche zum Veröffentlichen eines Beitrags. |
click-buy-package | Klick auf die Schaltfläche Paket kaufen zum Kauf eines virtuellen Währungspakets. |
click-buy-gift-package | Klick auf die Schaltfläche zum Kauf eines virtuellen Währungspakets als Geschenk. |
click-buy-gift-custom-package | Klick auf die Schaltfläche zum Kauf einer beliebigen Menge virtueller Währung als Geschenk. |
click-btn-share | Klick auf die Schaltfläche für das Teilen in sozialen Netzwerken. Der Name des sozialen Netzwerks wird in value übermittelt. |
click-btn-pay | Klick auf die Schaltfläche Jetzt bezahlen im Rechnungsformular. |
click-btn-continue | Klick auf die Schaltfläche zum Abschluss eines kostenpflichtigen Abonnements. |
click-btn-apply | Klick auf die Schaltfläche Anwenden zum Einlösen eines Gutscheins. |
click-btn-activate | Klick auf die Schaltfläche Aktivieren zum Aktivieren eines Spielschlüssels. |
click-btn-accept | Klick auf die Schaltfläche zum Kauf digitaler Inhalte. |
choose-payment-widget | Klick auf das Zahlungsmethode-Widget. Der Widget-Name wird in value übermittelt. |
choose-method | Auswahl 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-open | Weiterleitung zu einer externen Ressource. Die Adresse, an die die Weiterleitung erfolgt, wird im Parameter url übermittelt. |
dimensions | Wird die Bezahlstation in einem iframe geöffnet, werden die Höhe und Breite des iframe in den Parametern width und height übermittelt. |
status-redeem | Die 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. |
status | Wechsel zur Zahlungsstatusseite: Folgende Parameter lassen sich übermitteln:
|
external-payment-open | Umleitung vom Zahlungsportal zu einem externen Zahlungssystem oder 3-D Sicherheitsverifizierung. |
order-status | Änderung des Bestellstatus in done . Das Ereignis wird von der Zahlungsstatusseite gesendet, wenn eine Bestellung über einen der folgenden API-Aufrufe angelegt wurde: |
add_saved_account_error | Fehler beim Speichern eines Zahlungskontos. |
cancel_save_account | Widerruf der Speicherung eines Zahlungskontos durch einen Benutzer. |
add_saved_account | Erfolgreiches Speicherung eines Zahlungskontos. |
Parameter
Parameter | Typ | Beschreibung |
---|---|---|
action | string | Ereignisname. |
value | string | Weitere Parameter. Enthält spezifische Ereignisparameter, die je nach Wahl des Benutzers variieren. |
state | string | Die Zahlungsportal-Seite, auf welcher die Aktion ausgeführt wurde. |
date | string | Datum und Uhrzeit im GMT-Format. |
milliseconds | number | Datum und Uhrzeit im Unixzeit-Format. |
timezone | string | Zeitzone des Benutzers. |
session_id | string | Sitzungs-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_country | string | Zahlungsland. |
purchase_invoice_id | number | Rechnungsnummer im Xsolla-System. |
purchase_external_id | string | Rechnungsnummer im System des Partners. |
purchase_type | string | Kauftyp. Möglich sind: virtual item , virtual currency , pay2play , subscription . |
purchase_sum | number | Nominaler Kaufbetrag. |
purchase_currency | string | Kaufwährung. |
purchase_sku | string | SKU des erworbenen Gegenstands. |
purchase_digital_content_sku | string | SKU des erworbenen Spielschlüsselpakets. |
purchase_description | string | Kaufbeschreibung. |
virtual_currency_amount | number | Betrag in virtueller Währung. |
coupon_code | string | Gutscheincode. |
subscription_package_external_id | number | Abonnement-ID. |
subscription_package_name | string | Abonnement-Name. |
subscription_package_description | string | Abonnement-Beschreibung. |
total_sum | number | Gesamtkaufpreis. Inklusive aller Gebühren. |
total_sum_currency | string | Währung des Gesamtkaufpreises. |
user_id | string | Benutzer-ID (v1). |
user_country | string | Land des Benutzers. |
payment_instance_name | string | Name 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).

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
- Wechseln Sie zu Übersicht, und klicken Sie auf Senden.

- Geben Sie auf der Registerkarte Veröffentlichen und Version erstellen einen Versionsnamen, eine Versionsbeschreibung eine Veröffentlichungsumgebung an.
- Klicken Sie auf Veröffentlichen.

War dieser Artikel hilfreich?
Diese Seite bewerten
Jetzt nicht
Vielen Dank für Ihr Feedback!
Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.