Suivi des analyses

Comment ça marche

Le suivi des analyses vous permet de collecter et d’agréger les événements générés par les utilisateurs afin d’évaluer les performances du programme et le nombre de références. Les données recueillies peuvent être utilisées comme un moyen supplémentaire d’engager les réseaux d’affiliation, car des statistiques solides rendent l’offre plus attrayante.

Les événements suivants peuvent être traités :

  • Passage à la page d’accueil ;
  • Passage de la page d’accueil au magasin.

Comment configurer

Pour intégrer le suivi des analyses, procédez comme suit :

  1. Obtenez un JSON Web Token (JWT).
  2. Enregistrez tracking_id issu du paramètre de la requête dans les cookies de votre site Web. Exemple de requête avec tracking_id : https://playnewz.com?utm_source=n6LI9yVu&utm_campaign=5b9bff5f9d31b&tracking_id=19e2DLjNTk2YOdXA4d8J3NReNkXNafhC.
  3. Après la création d’un nouvel utilisateur, envoyez user_id et tracking_id via la méthode Registration Event Sending.
    • Il est recommandé d’envoyer des requêtes de manière asynchrone, afin de ne pas interférer avec l’enregistrement de l’utilisateur en attendant la réponse de l’API de suivi Xsolla.
    • Sinon, utilisez timeout. Notez que les nouveaux utilisateurs ne seront pas suivis si l’attente de la réponse de l’API de suivi Xsolla dure plus longtemps que prévu.
  4. Pour créer et gérer des événements personnalisés, implémentez les méthodes API de suivi suivantes : créer, initialiser et envoyer un événement.
  5. Mettez en œuvre le script de suivi sur votre site Web.

Obtenir un jeton

REQUÊTE HTTP

Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/tokens
En-têteDescription
ContentTypeapplication/json
AuthorizationL’en-tête Authorization: Basic <your_authorization_basic_key>, où <your_authorization_basic_key> est la paire merchant ID:API key encodée conformément à la norme Base64. Accédez au Compte éditeur pour trouver les paramètres suivants :
  • Merchant ID est affiché :
    • Dans la section Company settings > Company ;
    • Dans l’URL de la barre d’adresse du navigateur sur n’importe quelle page du Compte éditeur. L’URL est au format suivant : https:​//publisher.xsolla.com/<merchant ID>/<Publisher Account section>.
  • L’API key ne s’affiche dans le Compte éditeur qu’une seule fois lors de sa création, vous devez donc la conserver de votre côté. Vous pouvez créer une nouvelle clé dans les sections suivantes :
    • Company settings > API keys ;
    • Project settings > API keys.
Obligatoire.
Avis

Pour plus d’informations sur l’utilisation des clés API, consultez la référence API.

Recommandations principales :

  • Enregistrez la clé API générée de votre côté. Lors de sa création dans le Compte éditeur, la clé API ne s’affiche qu’une seule fois.
  • Gardez votre clé API secrète. Elle donne accès à votre compte personnel et à vos projets dans le Compte éditeur.
  • Stockez la clé API sur votre serveur et non dans des fichiers binaires ou sur le client.

Si l’appel API nécessaire ne contient pas le paramètre de chemin project_id, utilisez la clé API valide dans tous les projets de l’entreprise pour l’autorisation.

ParamètreDescription
sourceTypeType de source de données. Valeurs possibles :
  • client. Ce type de source est considéré comme non fiable et tous les événements correspondants dans le stockage ont le statut trusted: false.
  • server. Ce type de source est considéré comme fiable et tous les événements correspondants dans le stockage ont le statut trusted: true.
sourceNameNom de la source de données.
projectIdID de projet.
EXEMPLE
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;
}
Code de réponseDescription
201Jeton créé
400Paramètres de la requête non valides
401Clé de projet non valide

Envoi de l'événement d'enregistrement

Pour ce faire, vous devez d’abord obtenir un jeton.

REQUÊTE HTTP

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

Lors de l’envoi de la méthode, les étapes suivantes sont réalisées :

  1. L’utilisateur final suit le lien de suivi qu’il a trouvé sur la source de trafic (flux de l’influenceur, page de promotion, etc.). L’action reçoit son Click ID.
  2. Tracking ID est formé du côté de la page Proxy et passé à la page de destination dans le paramètre.
  3. L’utilisateur visite la page de destination et s’inscrit.
  4. Le développeur du jeu passe l’utilisateur User ID et Tracking ID dans le paramètre en envoyant l’événement d’inscription par l’intermédiaire de l’API de suivi.

En-têteDescription
AuthorizationJeton obtenu précédemment.
ParamètreTypeDescription
typeStringJeton obtenu précédemment.
traitsObjectDonnées d’identification de l’utilisateur :
  • trackingId — ID de suivi de l’utilisateur redirigé vers le site Web du jeu. Xsolla l’envoie dans le paramètre de requête après la redirection.
  • userIduser ID attribué lors de la création du jeton.
contextObjectDoit être vide.
propertiesObjectDoit être vide.
EXEMPLE
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;
}

Créer un événement

Pour ce faire, vous devez d’abord obtenir un jeton.

REQUÊTE HTTP

Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/events
En-têteDescription
AuthorizationJeton obtenu précédemment.
ParamètreTypeDescription
typeStringType d’événement.
traitsObjectDonnées d’identification de l’utilisateur : téléphone, e-mail, ID en jeu, etc.
contextObjectDonnées contextuelles.
propertiesObjectPropriétés de l’événement.
createdAtDateFormat : datetime selon RFC 3339 ou ISO 8601.
EXEMPLE D’ÉVÉNEMENT : PASSAGE À LA PAGE DE DESTINATION
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"
  }
}

EXEMPLE D’ÉVÉNEMENT : PASSAGE À 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"
  }
}
Code de réponseDescription
204Événement ajouté
400Événement non valide
401Jeton non valide

Initialiser un événement

Pour ce faire, vous devez d’abord obtenir un jeton.

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

Envoyer un événement

Copy
Full screen
Small screen
xnt("sendEvent", EVENT_TYPE, EVENT_PROPERTIES);
ParamètreDescription
EVENT_TYPENom de l’événement (string). Par exemple, landing_visit.
EVENT_PROPERTIESPropriétés de l’événement (JS object).
EXEMPLE
Copy
Full screen
Small screen
xnt("sendEvent", "landing_visit");
xnt("sendEvent", "buy_btn", { pkg_type: $(this).data('id') });

PARAMÈTRES DE L’ÉVÉNEMENT

ParamètreDescription
sourceSource de l’événement (paystation, landing_page, etc.).
typeType d’événement (user_visit, hit, etc.).
traitsDonnées utilisateur (e-mail, user_id, pseudo, etc.).
contextContexte de l’événement (ip, gaClientId, etc.).
propertiesPropriétés de l’événement (sum, levelup, etc.).
createdAtHeure de l’événement, telle que passée par la source.
timestampHeure de réception de l’événement par le système.
Pour compléter l’événement avec les paramètres context et traits, utilisez les méthodes suivantes :
Copy
Full screen
Small screen
xnt("putContext", CONTEXT_OBJECT);
xnt("putTraits", TRAITS_OBJECT);
ParamètreDescription
CONTEXT_OBJECTContexte de l’événement (objet JS).
TRAITS_OBJECTDonnées utilisateur (JS object).
Note
Les contextes userAgent et userLocale seront ajoutés automatiquement. Les données ajoutées par ces deux méthodes seront combinées avec les données de l’événement.

Implémenter un script

Implémentez le script suivant sur la page de destination :

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>
Cet article vous a été utile ?
Merci !
Que pouvons-nous améliorer ? Message
Nous sommes désolés de l'apprendre
Dites-nous pourquoi vous n'avez pas trouvé cet article utile. Message
Merci pour votre commentaire !
Nous examinerons votre message et l'utiliserons pour améliorer votre expérience.
Dernière mise à jour: 13 Mai 2024

Faute de frappe ou autre erreur dans le texte ? Sélectionnez le texte concerné et appuyez sur Ctrl+Entée.

Signaler un problème
Nous améliorons continuellement notre contenu grâce à vos commentaires.
Indiquez votre adresse e-mail pour un suivi
Merci pour votre commentaire !