Tracking Analytics

So funktioniert's

Tracking Analytics ermöglicht es Ihnen, nutzergenerierte Ereignisse zu sammeln, um die Programmleistung und die Anzahl der Überweisungen zu evaluieren. Die gesammelten Daten können auch dazu verwendet werden, Affiliate-Netzwerke anzulocken. Gute Statistiken machen jedes Angebot überzeugender.

Die folgenden Ereignisse können verarbeitet werden:

  • Weiterleitung an die Landing-Page
  • Weiterleitung von der Landing-Page an den Online-Shop

Wie komme ich dazu

So integrieren Sie Tracking-Analytics:

  1. Rufen Sie einen JSON Web Token (JWT) ab.
  2. Speichern Sie die tracking_id aus dem Anfrageparameter in Ihren Website-Cookies. Beispielhafte Anfrage mit tracking_id: https://playnewz.com?utm_source=n6LI9yVu&utm_campaign=5b9bff5f9d31b&tracking_id=19e2DLjNTk2YOdXA4d8J3NReNkXNafhC.
  3. Nachdem ein neuer Benutzer erstellt wurde, senden Sie die user_id und die tracking_id über die Methode Senden des Registrierungsereignisses.
    • Es wird empfohlen, die Anfragen asynchron zu senden, damit die Benutzerregistrierung während der Wartezeit auf die Antwort der Xsolla Tracking API nicht beeinträchtigt wird.
    • Nutzen Sie andernfalls den Timeout. Beachten Sie, dass neue Benutzer nicht getrackt werden, wenn die Antwort der Xsolla Tracking API länger als vorgegeben dauert.
  4. Um benutzerdefinierte Ereignisse zu erstellen und zu verwalten, implementieren Sie folgende Tracking-API-Methoden: Ereignis erstellen, initialisieren und senden.
  5. Implementieren Sie das Tracking-Skript auf Ihrer Website.

Token abrufen

HTTP-ANFRAGE

Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/tokens
HeaderBeschreibung
ContentTypeapplication/json
AuthorizationDer Header Authorization: Basic <your_authorization_basic_key>, wobei <your_authorization_basic_key> das gemäß dem Base64-Standard kodierte Paar Händler-ID:API-Schlüssel ist. Die Parameter finden Sie im Kundenportal:
  • Die Händler-ID finden Sie:
    • unter Projekteinstellungen > Webhooks.
    • unter Firmeneinstellungen > Firma.
    • in der URL in der Adresszeile des Browsers auf einer beliebigen Seite im Kundenportal. Die URL weist das folgende Format auf: https://publisher.xsolla.com/​Händler-ID/Kundeportalabschnitt.
  • Der API-Schlüssel wird im Kundenportal nur einmal angezeigt, nämlich dann, wenn er erstellt wird. Sie sind selbst dafür verantwortlich, den Schlüssel zu speichern. Einen neuen Schlüssel können Sie in den folgenden Abschnitten erstellen:
    • Firmeneinstellungen > API-Schlüssel
    • Projekteinstellungen > API-Schlüssel
Erforderlich.
Achtung

Weitere Informationen über die Arbeit mit API-Schlüsseln finden Sie in der API-Referenz.

Wichtige Empfehlungen:

  • Sie sind selbst dafür verantwortlich, den generierten API-Schlüssel zu speichern. Der API-Schlüssel wird im Kundenportal nur einmal angezeigt, nämlich dann, wenn er erstellt wird.
  • Halten Sie Ihren API-Schlüssel geheim. Er gewährt den Zugang zu Ihrem persönlichen Konto und Ihren Projekten im Kundenportal.
  • Der API-Schlüssel muss auf Ihrem Server gespeichert sein, niemals in Binärdateien oder im Frontend.

ParameterBeschreibung
sourceTypeDatenquellentyp. Kann folgende Werte aufweisen:
  • client. Dieser Quellentyp gilt als nicht vertrauenswürdig, und alle entsprechenden Ereignisse im Speicher weisen den Status trusted: false auf.
  • server. Dieser Quellentyp gilt als vertrauenswürdig, und alle entsprechenden Ereignisse im Speicher weisen den Status trusted: true auf.
sourceNameName der Datenquelle.
projectIdProjekt-ID.
BEISPIEL
Copy
Full screen
Small screen

http

  • http
  • php
POST https://tracking-api.xsolla.com/v1/tokens

Headers:
Content-Type: application/json
Authorization: Basic 12kj3hlk1j2hlkjhlk1j2h3lkj

Body:
{
  "sourceType": "client",
  "sourceName": "landing",
  "projectId": 1
}

HTTP/1.1 201 Token created
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2 g_dj1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1du"
}
<?php

$curl = curl_init();

$merchantId = 1;
$projectId = 2;
$apiKey = '<apiKey>';

$payload = [
    'sourceType' => 'server',
    'sourceName' => 's1',
    'projectId' => $projectId,
];

curl_setopt($curl, CURLOPT_USERPWD, $merchantId . ":" . $apiKey);


curl_setopt_array($curl, array(
    CURLOPT_URL => "https://tracking-api.xsolla.com/v1/tokens",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => json_encode($payload),
    CURLOPT_HTTPHEADER => [
        "Content-type: application/json"
    ],
));


$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
AntwortcodeBeschreibung
201Token erstellt
400Abfrageparameter sind nicht gültig
401Der Produktschlüssel ist ungültig

Registrierungsereignis senden

Sie müssen dafür zuerst einen Token abrufen.

HTTP-ANFRAGE

Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/events

Beim Senden der Methode werden die folgenden Schritte ausgeführt:

  1. Der Endbenutzer klickt auf den Tracking-Link, den er in der Traffic-Quelle (Videostream des Influencers, Promo-Website usw.) vorfindet. Der Aktion wird eine Klick-ID zugewiesen.
  2. Die Tracking-ID wird aufseiten der Proxyseite erstellt und im Parameter an die Landing-Page übermittelt.
  3. Der Benutzer ruft die Landing-Page auf und registriert sich.
  4. Der Spieleentwickler übermittelt die Benuzer-ID und die Tracking-ID des Benutzers im Parameter, indem er das Registrierungsereignis über die Tracking-API sendet.

HeaderBeschreibung
AuthorizationZuvor erhaltenes Token.
ParameterTypBeschreibung
typeStringZuvor erhaltenes Token.
traitsObjektBenutzeridentifikationsdaten:
  • trackingId – Tracking-ID des auf die Spielwebseite weitergeleiteten Benutzers. Xsolla sendet die ID im Anfrageparameter gleich nach der Weiterleitung.
  • userId – Nach der Erstellung des Tokens zugewiesene user ID.
contextObjektDarf nicht ausgefüllt werden.
propertiesObjektDarf nicht ausgefüllt werden
BEISPIEL
Copy
Full screen
Small screen

http

  • http
  • php
POST https://tracking-api.xsolla.com/v1/events

Headers:
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_d j1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1yU

Body:
{
  "type": "registration",
  "traits": {
    "trackingId": "19e2DLjNTk2YOdXA4d8J3NReNkXNafhC",
    "userId": "20181126"
  },
  "properties": {
  },
  "context": {
  }
}'
<?php

$curl = curl_init();

$token  = '<token>';

$payload = [
    'type' => 'registration',
    'traits' => [
        'trackingId' => "19e2DLjNTk2YOdXA4d8J3NReNkXNafhC",
        'userId' => "20181126",
    ],
    'properties' => [],
    'context' => [],
];

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://tracking-api.xsolla.com/v1/events",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => json_encode($payload,JSON_FORCE_OBJECT),
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer {$token}",
        "Content-type: application/json"
    ],
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
}

Ereignis erstellen

Sie müssen dafür zuerst einen Token abrufen.

HTTP-ANFRAGE

Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/events
HeaderBeschreibung
AuthorizationZuvor erhaltenes Token.
ParameterTypBeschreibung
typeStringEreignistyp.
traitsObjektBenutzeridentifikationsdaten: Telefonnummer, E-Mail-Adresse, Ingame-ID usw.
contextObjektKontextdaten.
propertiesObjektEreigniseigenschaften.
createdAtDatumFormat. Datum- und Uhrzeitangabe nach RFC 3339 oder ISO 8601.
BEISPIELEREIGNIS ÜBERLEITUNG ZUR LANDING-PAGE
Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/events

Headers:
Content-Type: application/json
Authorization: Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_d j1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1yU 

Body:
{
  "type": "landing_visit",
  "traits":{
    },
  "properties":{
    },
  "context": {
    "user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", "user_locale":"ru"
  }
}

BEISPIELEREIGNIS: ÜBERLEITUNG ZUR PAY STATION

Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/events

Headers:
Content-Type: application/json
Authorization: Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_d j1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1yU 

Body:
{
  "type": "buy_btn",
  "traits":{
    },
  "properties":{
    "pkg_type":"bronze"
    },
  "context": {
    "user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", "user_locale":"ru"
  }
}
AntwortcodeBeschreibung
204Ereignis hinzugefügt
400Ereignis ist ungültig
401Token ist ungültig

Ereignis initialisieren

Sie müssen dafür zuerst einen Token abrufen.

Copy
Full screen
Small screen
xnt("init", YOUR_TOKEN);

Ereignis senden

Copy
Full screen
Small screen
xnt("sendEvent", EVENT_TYPE, EVENT_PROPERTIES);
ParameterBeschreibung
EVENT_TYPEEreignisname (String). Z.B., landing_visit.
EVENT_PROPERTIESEreigniseigenschaften (JS-Objekt).
BEISPIEL
Copy
Full screen
Small screen
xnt("sendEvent", "landing_visit");
xnt("sendEvent", "buy_btn", { pkg_type: $(this).data('id') });

EREIGNISPARAMETER

ParameterBeschreibung
sourceEreignisquelle (Bezahlstation, landing_page, usw.).
typeEreignistyp (user_visit, Treffer, usw.).
traitsBenutzerdaten (E-Mail, user_id, Spitzname, usw.).
contextEreigniskontext (IP, gaClientId, usw.).
propertiesEreigniseigenschaften (Summe, aufleveln, usw.).
createdAtEreigniszeit, wie von de Quelle übergeben.
timestampTime of event receipt by the system.
Nutzen Sie folgende Methoden, um das Ereignis mit context- und traits-Parametern zu ergänzen:
Copy
Full screen
Small screen
xnt("putContext", CONTEXT_OBJECT);
xnt("putTraits", TRAITS_OBJECT);
ParameterBeschreibung
CONTEXT_OBJECTEreigniskontext (JS-Objekt).
TRAITS_OBJECTBenutzerdaten (JS-Objekt)
Hinweis
userAgent und userLocale des Kontextes werden automatisch hinzugefügt. Die von diesen beiden Methoden hinzugefügten Daten werden mit den Ereignisdaten kombiniert.

Skript implementieren

Implementieren Sie das folgende Skript auf der Landing-Page:

Copy
Full screen
Small screen
<script>
(function(i,s,o,g,r,a,m){i['XsollaNetworkTrackingObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(ar guments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.inse rtBefore(a,m)})(window,document,'script','https://cdn.xsolla.net/network/xtracking-0.1.js','xnt');
xnt("init", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_ dj1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1du");
xnt("sendEvent", "buy_btn", { pkg_type : "gold" });
</script>
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: 22. Januar 2024

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!