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:

  1. Obtenga un JSON Web Token (JWT).
  2. 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.
  3. 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.
  4. Para crear y gestionar eventos personalizados, implemente los siguientes métodos de la API de seguimiento: create, initialize y send un evento.
  5. Implemente el script de seguimiento en su sitio web.

Obtener token

SOLICITUD HTTP

Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/tokens
Header (Encabezado)Descripción
ContentTypeapplication/json
AuthorizationEl 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:
  • Merchant ID se muestra:
    • en la sección Company settings > Company.
    • En la URL de la barra de direcciones del navegador de cualquier página de Cuenta del editor. La URL tiene el siguiente formato: https:​//publisher.xsolla.com/<merchant ID>/<Publisher Account section>.
  • Clave de API se muestra en la Cuenta del editor solo una vez cuando se crea y debe almacenarse en su servidor. Puede crear una nueva clave en la siguiente sección:
    • Company settings > API keys
    • Project settings > API keys
Obligatorio.
Aviso

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ámetroDescripción
sourceTypeTipo de fuente de datos. Puede adoptar los siguientes valores:
  • client. Este tipo de fuente se considera que no es de confianza, y todos los eventos respectivos en el almacenamiento tienen el estado trusted: false.
  • server. Este tipo de fuente se considera de confianza, y todos los eventos respectivos en el almacenamiento tienen el estado trusted: true.
sourceNameNombre de la fuente de datos.
projectIdID del proyecto.
EJEMPLO
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;
}
Código de respuestaDescripción
201Token creado
400Los parámetros de consulta no son válidos
401La clave del proyecto no es válida

Envío de eventos de registro

Para ello, primero debe obtener un token.

SOLICITUD HTTP

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

Al enviar el método, se realizan los siguientes pasos:

  1. 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.
  2. 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.
  3. El usuario visita la página de destino y se registra.
  4. 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
AuthorizationToken obtenido previamente.
ParámetroTipoDescripción
typeStringToken obtenido previamente.
traitsObjetoDatos de identificación del usuario:
  • trackingId - ID de seguimiento del usuario redirigido al sitio web del juego. Xsolla lo envía en el parámetro de solicitud después del redireccionamiento.
  • userId - user ID asignado al crear el token.
contextObjetoDebe estar vacío.
propertiesObjetoDebe estar vacío.
EJEMPLO
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;
}

Create event (Crear evento)

Para ello, primero debe obtener un token.

SOLICITUD HTTP

Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/events
Header (Encabezado)Descripción
AuthorizationToken obtenido previamente.
ParámetroTipoDescripción
typeStringTipo de evento.
traitsObjetoDatos de identificación del usuario: teléfono, correo electrónico, ID en el juego, etc.
contextObjetoDatos contextuales.
propertiesObjetoPropiedades del evento.
createdAtFechaFormato: datetime (fecha y hora) según la RFC 3339 o la ISO 8601.
EJEMPLO DE EVENTO: TRANSICIÓN A LA PÁGINA DE DESTINO
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"
  }
}

EJEMPLO DE EVENTO: TRANSICIÓN A 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"
  }
}
Código de respuestaDescripción
204Evento añadido
400El evento no es válido
401El token no es válido

Inicializar evento

Para ello, primero debe obtener un token.

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

Enviar evento

Copy
Full screen
Small screen
xnt("sendEvent", EVENT_TYPE, EVENT_PROPERTIES);
ParámetroDescripción
EVENT_TYPENombre del evento (string). P. ej., landing_visit.
EVENT_PROPERTIESPropiedades del evento (objeto JS).
EJEMPLO
Copy
Full screen
Small screen
xnt("sendEvent", "landing_visit");
xnt("sendEvent", "buy_btn", { pkg_type: $(this).data('id') });

PARÁMETROS DEL EVENTO

ParámetroDescripción
sourceFuente del evento (paystation, landing_page, etc.).
typeTipo de evento (user_visit, visita, etc.).
traitsDatos del usuario (correo electrónico, user_id, alias, etc.).
contextContexto del evento (ip, gaClientId, etc.).
propertiesPropiedades de los eventos (suma, subir de nivel, etc.).
createdAtHora del evento, tal y como la transmitió la fuente.
timestampHora de recepción del evento por el sistema.
Para complementar el evento con los parámetros context y traits, utilice los siguientes métodos:
Copy
Full screen
Small screen
xnt("putContext", CONTEXT_OBJECT);
xnt("putTraits", TRAITS_OBJECT);
ParámetroDescripción
CONTEXT_OBJECTContexto del evento (objeto JS).
TRAITS_OBJECTDatos del usuario (objeto JS).
Nota
Los 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:

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>
¿Te ha resultado útil este artículo?
¡Gracias!
¿Hay algo en lo que podamos mejorar? Mensaje
Lo sentimos
Por favor, cuéntanos por qué no te ha resultado útil este artículo. Mensaje
¡Gracias por tu mensaje!
Nos ayudará a mejorar tu experiencia.
Última actualización: 13 de Mayo de 2024

¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.

Informar de un problema
Nos esforzamos por ofrecer contenido de calidad. Tus comentarios nos ayudan a mejorar.
Déjanos tu correo electrónico para que te podamos responder
¡Gracias por tu mensaje!