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
AuthorizationBasic your_authorization_basic_key. Erforderlich.
Bei your_authorization_basic_key handelt es sich um das gemäß dem Base64-Standard codierte Parameterpaar merchantId:apiKey. Die Werte für merchantId und apiKey finden Sie im Kundenportal:
  • merchantId: Firmeneinstellungen > Firma > Händler-ID
  • apiKey: Firmeneinstellungen > API-Schlüssel
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 BEZAHLSTATION

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)
Note
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: 25. Juni 2021

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!