Análisis de seguimiento
Cómo funciona
Los análisis de seguimiento le permiten recopilar y agregar eventos generados por los usuarios para evaluar el rendimiento del programa y el número de referencias. Los datos obtenidos pueden utilizarse como una forma adicional de captar redes de afiliados, ya que unas estadísticas sólidas hacen más atractiva la oferta.
Se pueden procesar los siguientes eventos:
- Transición a la página de destino
- Transición de la página de destino a la tienda
Cómo conseguirlo
Para integrar la analítica de seguimiento, haga lo siguiente:
- Obtenga un JSON Web Token (JWT).
- Guarde el tracking_id del parámetro de solicitud en las cookies de su sitio web. Ejemplo de solicitud con tracking_id:
https://playnewz.com?utm_source=n6LI9yVu&utm_campaign=5b9bff5f9d31b&tracking_id=19e2DLjNTk2YOdXA4d8J3NReNkXNafhC
. - Después de crear un nuevo usuario, envíe user_id y tracking_id mediante el método Registration Event Sending.
- Se recomienda enviar las solicitudes de forma asíncrona, para que no interfieran con el registro del usuario mientras se espera la respuesta de la Xsolla Tracking API.
- De lo contrario, utilice tiempo de espera. Tenga en cuenta que los nuevos usuarios no serán rastreados si la espera de la respuesta de la Xsolla Tracking API tarda más de lo definido.
- Para crear y gestionar eventos personalizados, implemente los siguientes métodos de la API de seguimiento: create, initialize y send un evento.
- Implemente el script de seguimiento en su sitio web.
Obtener token
SOLICITUD HTTP
- http
POST https://tracking-api.xsolla.com/v1/tokens
Header (Encabezado) | Descripción |
---|---|
ContentType | application/json |
Authorization | El encabezado Authorization: Basic <your_authorization_basic_key> , en el cual <your_authorization_basic_key> es el merchant ID:API key, codificado según el estándar Base64. Vaya a Cuenta del editor para localizar estos parámetros:
|
Para obtener más información sobre cómo trabajar con claves API, consulte la Referencia de la API.
Recomendaciones clave:
- Guarde la clave de API generada en su servidor. Puede ver la clave de API en la Cuenta del editor solo una vez cuando se crea.
- Mantenga su clave de API en secreto. Proporciona acceso a su cuenta personal y a sus proyectos en Cuenta del editor.
- La clave de API debe almacenarse en su servidor y nunca en archivos binarios o en el front-end.
Si una llamada API que necesita no contiene el parámetro de ruta project_id
, use la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.
Parámetro | Descripción |
---|---|
sourceType | Tipo de fuente de datos. Puede adoptar los siguientes valores:
|
sourceName | Nombre de la fuente de datos. |
projectId | ID del proyecto. |
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;
}
Código de respuesta | Descripción |
---|---|
201 | Token creado |
400 | Los parámetros de consulta no son válidos |
401 | La clave del proyecto no es válida |
Envío de eventos de registro
Para ello, primero debe obtener un token.
SOLICITUD HTTP
- http
POST https://tracking-api.xsolla.com/v1/events
Al enviar el método, se realizan los siguientes pasos:
- El usuario final sigue el enlace de seguimiento que encontró en la fuente de tráfico (transmisión de ‘influencer’, página promocional, etc.). La acción recibe su ID de clic.
- ID de seguimiento se crea en el lado de la página de proxy y se transmite a la página de destino en el parámetro.
- El usuario visita la página de destino y se registra.
- El desarrollador del juego transmite al usuario el ID de usuario y el ID de seguimiento en el parámetro enviando el evento de registro a través de la API de seguimiento.
Header (Encabezado) | Descripción |
---|---|
Authorization | Token obtenido previamente. |
Parámetro | Tipo | Descripción |
---|---|---|
type | String | Token obtenido previamente. |
traits | Objeto | Datos de identificación del usuario:
|
context | Objeto | Debe estar vacío. |
properties | Objeto | Debe estar vacío. |
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;
}
Create event (Crear evento)
Para ello, primero debe obtener un token.
SOLICITUD HTTP
- http
POST https://tracking-api.xsolla.com/v1/events
Header (Encabezado) | Descripción |
---|---|
Authorization | Token obtenido previamente. |
Parámetro | Tipo | Descripción |
---|---|---|
type | String | Tipo de evento. |
traits | Objeto | Datos de identificación del usuario: teléfono, correo electrónico, ID en el juego, etc. |
context | Objeto | Datos contextuales. |
properties | Objeto | Propiedades del evento. |
createdAt | Fecha | Formato: datetime (fecha y hora) según la RFC 3339 o la 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"
}
}
EJEMPLO DE EVENTO: TRANSICIÓN A 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"
}
}
Código de respuesta | Descripción |
---|---|
204 | Evento añadido |
400 | El evento no es válido |
401 | El token no es válido |
Inicializar evento
Para ello, primero debe obtener un token.
- html
xnt("init", YOUR_TOKEN);
Enviar evento
- html
xnt("sendEvent", EVENT_TYPE, EVENT_PROPERTIES);
Parámetro | Descripción |
---|---|
EVENT_TYPE | Nombre del evento (string). P. ej., landing_visit . |
EVENT_PROPERTIES | Propiedades del evento (objeto JS). |
- html
xnt("sendEvent", "landing_visit");
xnt("sendEvent", "buy_btn", { pkg_type: $(this).data('id') });
PARÁMETROS DEL EVENTO
Parámetro | Descripción |
---|---|
source | Fuente del evento (paystation, landing_page, etc.). |
type | Tipo de evento (user_visit, visita, etc.). |
traits | Datos del usuario (correo electrónico, user_id, alias, etc.). |
context | Contexto del evento (ip, gaClientId, etc.). |
properties | Propiedades de los eventos (suma, subir de nivel, etc.). |
createdAt | Hora del evento, tal y como la transmitió la fuente. |
timestamp | Hora de recepción del evento por el sistema. |
context
y traits
, utilice los siguientes métodos:- html
xnt("putContext", CONTEXT_OBJECT);
xnt("putTraits", TRAITS_OBJECT);
Parámetro | Descripción |
---|---|
CONTEXT_OBJECT | Contexto del evento (objeto JS). |
TRAITS_OBJECT | Datos del usuario (objeto JS). |
userAgent
y userLocale
de contexto se agregarán automáticamente. Los datos añadidos por estos dos métodos se combinarán con los datos del evento.Implementar script
Implemente el siguiente script en la página de destino:
- 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>
¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.