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:
- Rufen Sie einen JSON Web Token (JWT) ab.
- 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
. - 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.
- Um benutzerdefinierte Ereignisse zu erstellen und zu verwalten, implementieren Sie folgende Tracking-API-Methoden: Ereignis erstellen, initialisieren und senden.
- Implementieren Sie das Tracking-Skript auf Ihrer Website.
Token abrufen
HTTP-ANFRAGE
- http
POST https://tracking-api.xsolla.com/v1/tokens
Header | Beschreibung |
---|---|
ContentType | application/json |
Authorization | Der 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:
|
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.
Wenn ein API-Aufruf, den Sie benötigen, nicht den Pfadparameter project_id
enthält, verwenden Sie den API-Schlüssel, der in allen Projekten des Unternehmens gültig ist, um die Autorisierung einzurichten.
Parameter | Beschreibung |
---|---|
sourceType | Datenquellentyp. Kann folgende Werte aufweisen:
|
sourceName | Name der Datenquelle. |
projectId | Projekt-ID. |
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;
}
Antwortcode | Beschreibung |
---|---|
201 | Token erstellt |
400 | Abfrageparameter sind nicht gültig |
401 | Der Produktschlüssel ist ungültig |
Registrierungsereignis senden
Sie müssen dafür zuerst einen Token abrufen.
HTTP-ANFRAGE
- http
POST https://tracking-api.xsolla.com/v1/events
Beim Senden der Methode werden die folgenden Schritte ausgeführt:
- 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.
- Die Tracking-ID wird aufseiten der Proxyseite erstellt und im Parameter an die Landing-Page übermittelt.
- Der Benutzer ruft die Landing-Page auf und registriert sich.
- Der Spieleentwickler übermittelt die Benuzer-ID und die Tracking-ID des Benutzers im Parameter, indem er das Registrierungsereignis über die Tracking-API sendet.
Header | Beschreibung |
---|---|
Authorization | Zuvor erhaltenes Token. |
Parameter | Typ | Beschreibung |
---|---|---|
type | String | Zuvor erhaltenes Token. |
traits | Objekt | Benutzeridentifikationsdaten:
|
context | Objekt | Darf nicht ausgefüllt werden. |
properties | Objekt | Darf nicht ausgefüllt werden |
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
- http
POST https://tracking-api.xsolla.com/v1/events
Header | Beschreibung |
---|---|
Authorization | Zuvor erhaltenes Token. |
Parameter | Typ | Beschreibung |
---|---|---|
type | String | Ereignistyp. |
traits | Objekt | Benutzeridentifikationsdaten: Telefonnummer, E-Mail-Adresse, Ingame-ID usw. |
context | Objekt | Kontextdaten. |
properties | Objekt | Ereigniseigenschaften. |
createdAt | Datum | Format. Datum- und Uhrzeitangabe nach RFC 3339 oder ISO 8601. |
- http
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
- http
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"
}
}
Antwortcode | Beschreibung |
---|---|
204 | Ereignis hinzugefügt |
400 | Ereignis ist ungültig |
401 | Token ist ungültig |
Ereignis initialisieren
Sie müssen dafür zuerst einen Token abrufen.
- html
xnt("init", YOUR_TOKEN);
Ereignis senden
- html
xnt("sendEvent", EVENT_TYPE, EVENT_PROPERTIES);
Parameter | Beschreibung |
---|---|
EVENT_TYPE | Ereignisname (String). Z.B., landing_visit . |
EVENT_PROPERTIES | Ereigniseigenschaften (JS-Objekt). |
- html
xnt("sendEvent", "landing_visit");
xnt("sendEvent", "buy_btn", { pkg_type: $(this).data('id') });
EREIGNISPARAMETER
Parameter | Beschreibung |
---|---|
source | Ereignisquelle (Bezahlstation, landing_page, usw.). |
type | Ereignistyp (user_visit, Treffer, usw.). |
traits | Benutzerdaten (E-Mail, user_id, Spitzname, usw.). |
context | Ereigniskontext (IP, gaClientId, usw.). |
properties | Ereigniseigenschaften (Summe, aufleveln, usw.). |
createdAt | Ereigniszeit, wie von de Quelle übergeben. |
timestamp | Time of event receipt by the system. |
context
- und traits
-Parametern zu ergänzen:- html
xnt("putContext", CONTEXT_OBJECT);
xnt("putTraits", TRAITS_OBJECT);
Parameter | Beschreibung |
---|---|
CONTEXT_OBJECT | Ereigniskontext (JS-Objekt). |
TRAITS_OBJECT | Benutzerdaten (JS-Objekt) |
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:
- html
<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>
Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.