Eventos de aplicación recomendados para transporte privado

De un vistazo: Mide la calidad de tus usuarios a lo largo de su trayectoria de usuario registrando estos eventos in-app sugeridos para tu aplicación de transporte privado.

InApp_Events_ride.pngTransporte privado

Recientemente, las aplicaciones de transporte privado se han vuelto muy populares, en especial en zonas urbanas donde la mayoría de los residentes no tienen automóvil. Los eventos típicos que recomendamos registrar incluyen las solicitudes y reservas de viajes.

Registrar estos eventos puede ayudarte a determinar: 

  • Cómo interactúan los pasajeros y los conductores.
  • Los países donde más personas usan tu servicio de transporte privado.
  • Las métricas relacionadas con precios, viajes y distancias de viaje.

 ¡Importante!

  • Asegúrate de leer las instrucciones para marketers sobre la implementación de eventos in-app.
  • Para agilizar el proceso de implementación, descarga un archivo CSV que incluya todos los eventos in-app típicos descritos en este artículo y luego modifica los eventos de acuerdo con las necesidades de tu negocio. Una vez completado, comparte el archivo con tu desarrollador.
  • Para cada evento recomendado incluido en este artículo, hay ejemplos de código para desarrolladores de iOS, Android y Unity.
  • Puedes encontrar instrucciones detalladas para tu desarrollador en el centro para desarrolladores de AppsFlyer.

Para más información sobre cómo registrar eventos in-app, consulta la guía Eventos in-app enriquecidos.

Flowchart_for_recommended_events_ride_hailing_app_user_journey

Estructuras recomendadas para eventos predefinidos

La siguiente sección proporciona una lista de estructuras de eventos que son típicas de la vertical de transporte privado. Cada estructura incluye un tipo de evento predefinido y los parámetros del evento predefinidos sugeridos para usar. Ten en cuenta que los eventos in-app pueden incluir cualquier parámetro de evento que cumpla con las necesidades de tu negocio.

Registro completo (af_complete_registration)

Finalidad

Este evento puede ayudarte a:

  • Saber cuáles métodos de registro prefieren tus usuarios.
  • Determinar cuántos usuarios efectivamente se registran después de descargar e instalar la aplicación.
  • Ver las tendencias en cuanto al registro en distintos países para determinar en cuáles países es más probable que los usuarios utilicen tu aplicación

Activador

Cuando el usuario completa el proceso de registro.

Parámetros del evento

Nombre Descripción Valor de ejemplo 
af_registration_method La plataforma o el método mediante el cual se registra el usuario. Facebook
country_code Código del país (código de teléfono) 66

Ejemplos de código

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.REGSITRATION_METHOD, "shoes");
eventValue.put("country_code", "66");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.COMPLETE_REGISTRATION, eventValue);

Acceso (af_login)

Finalidad

Comprender la retención de tus usuarios registrados.

Activador

Cuando el usuario accede correctamente.

Parámetros del evento

Se puede enviar sin ningún parámetro adicional.

Ejemplos de código

Android iOS - Objective C iOS - Swift Unity

AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.LOGIN, null);

Agregar información de pago (af_add_payment_info)

Finalidad

Te ayuda a clasificar a los usuarios. Podrás hacer lo siguiente: 

  • Saber cuánto tarda un usuario en agregar su información de pago.
  • Cuáles son los métodos de pago más populares, por ejemplo, tarjeta de crédito o billeteras electrónicas 
  • Configurar campañas y colaborar con los proveedores de métodos de pago más populares.

Activador

Cuando el usuario agrega la información de pago correctamente en su cuenta.

Parámetros del evento

Nombre Descripción Valor de ejemplo 
af_success Si el método de pago fue exitoso. true
credit_card_type Tipo de tarjeta de crédito (opcional) Visa, Mastercard
payment_method_type Tipo de método de pago tarjeta de crédito, billetera electrónica

Ejemplos de código

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.SUCCESS, true);
eventValue.put("credit_card_type", "Visa");
eventValue.put("payment_method_type", true);
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.ADD_PAYMENT_INFO, eventValue);

Créditos gastados (af_spent_credits)

Finalidad

El evento Finalización de reserva de viaje incluye un parámetro llamado credits_earned. Este parámetro registra los créditos que un pasajero gana por cada viaje. A continuación, los pasajeros puede canjear estos créditos por vales o descuentos.

Este evento puede ayudarte a:

  • Ver cuántos pasajeros canjean créditos por vales.
  • Ver qué tipos de vales y descuentos prefieren los pasajeros.

Activador 

Cuando un pasajero gasta créditos.

Parámetros del evento

Nombre Descripción Valor de ejemplo 
af_content Tipo de cupón o descuento Entrada de cine individual
credits_used Cuántos créditos se usaron 1000
credits_remaining Cuántos créditos quedan en la cuenta 2090
invoice_id

El ID de la factura que se crea por gastar créditos

KO215123SD

Ejemplos de código

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.CONTENT, "Single movie ticket");
eventValue.put("credits_used", 1000);
eventValue.put("invoice_id", "");
eventValue.put("credits_remaining", "KO215123SD");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.SPENT_CREDITS , eventValue);

Estructuras recomendadas para eventos personalizados

La siguiente sección proporciona una lista de estructuras de eventos que incluye nombres de eventos personalizados y los parámetros de eventos sugeridos para usar. Ten en cuenta que los eventos in-app pueden incluir cualquier parámetro de evento que cumpla con las necesidades de tu negocio.

Reserva de viaje solicitada (ride_booking_requested)

Finalidad

Este evento puede ayudarte a:

  • Conocer los destinos populares
  • Conocer las tendencias, adónde y desde dónde viajan las personas.
  • Ver la distancia promedio de un viaje.
  • Ver de qué ciudades, regiones y países proviene la mayor cantidad de usuarios.

Además, el registro de este evento, junto con otros eventos relacionados con la reserva, puede ayudarte a registrar las transacciones correctas. Luego, podrás comparar transacciones exitosas con transacciones fallidas. Por ejemplo, podrás ver cuántas reservas de viaje se solicitan y cuántas se finalizan o se cancelan.

Activador 

Cuando el pasajero creó una solicitud de reserva de viaje.

Parámetros del evento

Nombre Descripción Valor de ejemplo 
af_price Precio cotizado del viaje 22.4
af_currency Moneda SGD
af_destination_a Punto de partida Plaza Singapura
af_destination_b Punto de llegada Marina Bay Sands
distance La distancia entre dos destinos 5.2
af_content_type Tipo de transporte Taxi
payment_method_type Tipo de método de pago tarjeta de crédito, billetera electrónica
af_city La ciudad donde se reserva el viaje Singapore
af_region La región donde se reserva el viaje SFA
af_country El país donde se reserva el viaje Singapore
order_id ID del pedido 135790

Ejemplos de código

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.PRICE, 22.4);
eventValue.put(AFInAppEventParameterName.CURRENCY, "SGD");
eventValue.put(AFInAppEventParameterName.DESTINATION_A, "Plaza Singapura");
eventValue.put(AFInAppEventParameterName.DESTINATION_B, "Marina Bay Sands");
eventValue.put("distance", 5.2);
eventValue.put(AFInAppEventParameterName.CONTENT_TYPE, "Taxi");
eventValue.put("payment_method_type", "credit card");
eventValue.put("notes", "Taxi stand");
eventValue.put(AFInAppEventParameterName.CITY, "Singapore");
eventValue.put(AFInAppEventParameterName.REGION, "SFA");
eventValue.put(AFInAppEventParameterName.COUNTRY, "Singapore");
eventValue.put("af_order_id", "135790");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "ride_booking_requested", eventValue);

Reserva de viaje confirmada (ride_booking_confirmed)

Finalidad

Este evento puede ayudarte a:

  • Saber quiénes son los conductores más activos.
  • Ver cuáles son los destinos más frecuentes entre conductores.
  • Ver los precios de viajes promedio y totales de cada conductor.

Además, el registro de este evento, junto con los otros tres eventos relacionados con la reserva de viajes, puede ayudarte a entender mejor la actividad de los conductores. Podrás ver qué conductores confirman la mayor cantidad de solicitudes de reserva de viajes, qué conductores eligen viajes cortos en lugar de viajes largos, etc.

Activador 

Cuando un conductor acepta la reserva.

Parámetros del evento

Nombre Descripción Valor de ejemplo 
af_price Precio cotizado del viaje 22.4
af_currency Moneda SGD
af_destination_a Punto de partida Plaza Singapura
af_destination_b Punto de llegada Marina Bay Sands
distance La distancia entre dos destinos 5.2
af_content_type Tipo de transporte Taxi
driver_id El ID del conductor que realizó el viaje 1706
payment_method_type Tipo de método de pago tarjeta de crédito, billetera electrónica
af_city La ciudad donde se reserva el viaje Singapore
af_region La región donde se reserva el viaje SFA
af_country El país donde se reserva el viaje Singapore
af_order_id ID del pedido 135790

Ejemplos de código

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.PRICE, 22.4);
eventValue.put(AFInAppEventParameterName.CURRENCY, "SGD");
eventValue.put(AFInAppEventParameterName.DESTINATION_A, "Plaza Singapura");
eventValue.put(AFInAppEventParameterName.DESTINATION_B, "Marina Bay Sands");
eventValue.put("distance", 5.2);
eventValue.put(AFInAppEventParameterName.CONTENT_TYPE, "Taxi");
eventValue.put("driver_id", "1706");
eventValue.put("payment_method_type", "credit card");
eventValue.put("notes", "Taxi stand");
eventValue.put(AFInAppEventParameterName.CITY, "Singapore");
eventValue.put(AFInAppEventParameterName.REGION, "SFA");
eventValue.put(AFInAppEventParameterName.COUNTRY, "Singapore");
eventValue.put("af_order_id", "135790");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "ride_booking_confirmed", eventValue);

Reserva de viaje cancelada (ride_booking_canceled)

Finalidad

Este evento puede ayudarte a:

  • Registrar los conductores o pasajeros que cancelan viajes constantemente.
  • Saber cuántos viajes se cancelan.
  • Correlacionar la tasa de cancelación con atributos como el precio, el destino, la distancia y las ciudades.
  • Conocer los motivos por los cuales se cancela un viaje.

Activador 

Cuando se cancela la reserva.

Parámetros del evento

Nombre Descripción Valor de ejemplo 
af_price Precio cotizado del viaje 22.4
af_currency Moneda SGD
af_destination_a Punto de partida Plaza Singapura
af_destination_b Punto de llegada Marina Bay Sands
distance La distancia entre dos destinos 5.2
af_content_type Tipo de transporte Taxi
driver_id El ID del conductor que confirmó el viaje 1706
cancelation_reason El motivo por el cual se cancela el viaje El precio es muy alto, el conductor no apareció, el pasajero no apareció
payment_method_type Tipo de método de pago tarjeta de crédito, billetera electrónica
af_city La ciudad donde se reserva el viaje Singapore
af_region La región donde se reserva el viaje SFA
af_country El país donde se reserva el viaje Singapore
order_id ID del pedido 135790
canceled_by Si al viaje lo cancela el pasajero o el conductor Pasajero

Ejemplos de código

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.PRICE, 22.4);
eventValue.put(AFInAppEventParameterName.CURRENCY, "SGD");
eventValue.put(AFInAppEventParameterName.DESTINATION_A, "Plaza Singapura");
eventValue.put(AFInAppEventParameterName.DESTINATION_B, "Marina Bay Sands");
eventValue.put("distance", 5.2);
eventValue.put(AFInAppEventParameterName.CONTENT_TYPE, "Taxi");
eventValue.put("driver_id", "1706");
eventValue.put("cancellation_reason", "driver didn't show up");
eventValue.put("payment_method_type", "credit card");
eventValue.put("notes", "Taxi stand");
eventValue.put(AFInAppEventParameterName.CITY, "Singapore");
eventValue.put(AFInAppEventParameterName.REGION, "SFA");
eventValue.put(AFInAppEventParameterName.COUNTRY, "Singapore");
eventValue.put("af_order_id", "135790");
eventValue.put("canceled_by", "passenger");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "ride_booking_canceled", eventValue);

Reserva de viaje completada (ride_booking_completed)

Finalidad

Este evento puede ayudarte a:

  • Conocer cuánto gastan los pasajeros y cuánto ganan los conductores.
  • Correlacionar los viajes finalizados con atributos como el destino, la distancia, el tipo de pago y el ID del conductor.
  • Ver la distancia promedio y total para conductores y pasajeros.
  • Comparar los viajes finalizados con los cancelados.
  • Registrar la puntuación de los conductores.

Activador 

Cuando el viaje se complete.

Parámetros del evento

Nombre Descripción Valor de ejemplo 
af_price Precio cotizado del viaje 22.4
af_currency Moneda SGD
af_destination_a Punto de partida Plaza Singapura
af_destination_b Punto de llegada Marina Bay Sands
distance La distancia entre dos destinos 5.2
af_content_type Tipo de transporte Taxi
driver_id El ID del conductor que realizó el viaje 1706
payment_method_type Tipo de método de pago tarjeta de crédito, billetera electrónica
af_city La ciudad donde se reserva el viaje Singapore
af_region La región donde se reserva el viaje SFA
af_country El país donde se reserva el viaje Singapore
order_id ID del pedido 135790
credits_earned Los créditos que ganó el pasajero por finalizar un viaje 248

Ejemplos de código

Android iOS - Objective C iOS - Swift Unity
Map<String, Object> eventValue = new HashMap<String, Object>();
eventValue.put(AFInAppEventParameterName.PRICE, 22.4);
eventValue.put(AFInAppEventParameterName.CURRENCY, "SGD");
eventValue.put(AFInAppEventParameterName.DESTINATION_A, "Plaza Singapura");
eventValue.put(AFInAppEventParameterName.DESTINATION_B,"Marina Bay Sands");
eventValue.put("distance", 5.2);
eventValue.put(AFInAppEventParameterName.CONTENT_TYPE, "Taxi");
eventValue.put("driver_id", "1706");
eventValue.put("payment_method_type", "credit card");
eventValue.put("notes", "Taxi stand");
eventValue.put(AFInAppEventParameterName.CITY, "Singapore");
eventValue.put(AFInAppEventParameterName.REGION, "SFA");
eventValue.put(AFInAppEventParameterName.COUNTRY, "Singapore");
eventValue.put("af_order_id", "135790");
eventValue.put("credits_earned", 248);
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "ride_booking_completed" , eventValue);
¿Fue útil este artículo?