Eventos recomendados para apps de transporte de passageiros

Visão geral: mensure a qualidade dos seus usuários durante toda a jornada de usuário, registrando esses eventos in-app sugeridos para seu aplicativo de transporte de passageiros.

InApp_Events_ride.png Transporte de passageiros

Recentemente, o transporte de passageiros se tornou muito popular, principalmente em áreas urbanas onde a maioria dos residentes não possui carro. Os eventos típicos que sugerimos que você registre são pedidos e reservas de transporte.

Gravar eventos pode ajudar a determinar: 

  • Como passageiros e motoristas interagem
  • Países onde as pessoas mais usam serviços de transporte de passageiros
  • Métricas sobre preço, corridas e distância das corridas

 Importante!

  • Certifique-se de ler as instruções para os profissionais de marketing sobre a implementação de eventos in-app.
  • Para simplificar o processo de implementação, faça o download de um arquivo CSVque inclui todos os eventos in-app típicos descritos neste artigo, e modifique os eventos de acordo com as necessidades da sua empresa. Depois de concluído, compartilhe o arquivo com o seu desenvolvedor.
  • Para cada evento recomendado incluído neste artigo, há exemplos de código para desenvolvedores iOS, Android e Unity.
  • Instruções detalhadas para o desenvolvedor podem ser encontradas no hub para desenvolvedores da AppsFlyer.

Para mais informações sobre como gravar eventos in-app, consulte o guia Eventos avançados dentro do aplicativo.

Flowchart_for_recommended_events_ride_hailing_app_user_journey

Estruturas recomendadas para eventos predefinidos

A seção a seguir oferece uma lista de estruturas de eventos que são típicas da vertical de transporte de passageiros. Cada estrutura inclui um nome de evento predefinido e os parâmetros de evento sugeridos a serem usados. Observe que os eventos in-app podem incluir quaisquer parâmetros de evento que atendam às necessidades da sua empresa.

Registro completo (af_complete_registration)

Propósito

Esse evento pode ajudar a:

  • Saber quais métodos de cadastro seus usuários preferem
  • Compreender quantos usuários realmente se cadastraram após baixar e instalar o aplicativo
  • Ver tendências de cadastro em vários países para identificar os países cujos usuários são mais propensos a usar seu aplicativo

Gatilho

Quando o usuário conclui o processo de inscrição

Parâmetros do evento

Nome Descrição Valor de exemplo
af_registration_method Plataforma ou método que o usuário utiliza para se cadastrar Facebook
country_code Código do país (código de telefone) 66

Exemplos 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);

Login (af_login)

Propósito

Entender a retenção de seus usuários registrados

Gatilho

Quando o usuário faz login com sucesso

Parâmetros do evento

Pode ser enviado sem nenhum parâmetro adicional

Exemplos de código

Android iOS - Objective C iOS - Swift Unity

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

Adicionar informações de pagamento (af_add_payment_info)

Propósito

Ajudar a categorizar os usuários. Você pode: 

  • Saber quanto tempo um usuário leva para adicionar informações de pagamento
  • Quais métodos de pagamento são os mais populares, por exemplo, cartão de crédito ou cartão digital 
  • Realizar campanhas e colaborar com prestadores de métodos de pagamentos populares

Gatilho

Quando o usuário adiciona com êxito as informações de pagamento à conta

Parâmetros do evento

Nome Descrição Valor de exemplo
af_success Se o método de pagamento é bem-sucedido true
credit_card_type Tipo de cartão de crédito (opcional) Visa, Mastercard
payment_method_type Tipo de método de pagamento cartão de crédito, cartão digital

Exemplos 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 gastos (af_spent_credits)

Propósito

O evento de reserva de viagem concluída inclui um parâmetro chamado  credits_earned. Esse parâmetro registra os créditos acumulados pelo passageiro em cada viagem. Os passageiros podem trocar créditos por vouchers e descontos.

Esse evento pode ajudar a:

  • Ver quantos passageiros trocam créditos por vouchers
  • Descobrir que tipo de vouchers e descontos os passageiros preferem

Gatilho 

Quando um passageiro gasta créditos

Parâmetros do evento

Nome Descrição Valor de exemplo
af_content Tipo de voucher ou desconto Ingresso para cinema
credits_used Quantidade de créditos usados 1000
credits_remaining Quantidade de créditos disponíveis na conta 2090
invoice_id

ID da fatura criada para gasto com créditos

KO215123SD

Exemplos 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);

Estruturas recomendadas para eventos personalizados

A seção a seguir fornece uma lista de estruturas de eventos que incluem nomes de eventos personalizados e os parâmetros de eventos sugeridos para usar. Observe que os eventos in-app podem incluir quaisquer parâmetros de evento que atendam às necessidades da sua empresa.

Reserva de transporte solicitada (ride_booking_requested)

Propósito

Esse evento pode ajudar a:

  • Saber sobre destinos populares
  • Saber sobre tendências, para onde as pessoas vão e de onde vêm
  • Ver a distância média de uma corrida
  • Ver de quais cidades, regiões e países vem a maioria dos usuários

Além do mais, registrar este evento em conjunto com outros eventos relacionados a reservas pode ajudar você a acompanhar transações bem-sucedidas. Você então pode comparar transações bem-sucedidas com transações malsucedidas. Por exemplo, você pode ver quantas reservas de viagens são solicitadas e quantas reservas de viagens são concluídas ou canceladas.

Gatilho 

Quando o passageiro cria uma solicitação de reserva de transporte

Parâmetros do evento

Nome Descrição Valor de exemplo
af_price Preço cotado para a viagem 22.4
af_currency Moeda SGD
af_destination_a Ponto de partida Plaza Singapura
af_destination_b Ponto de chegada Marina Bay Sands
distance Distância entre os dois destinos 5.2
af_content_type Tipo de transporte Táxi
payment_method_type Tipo de método de pagamento cartão de crédito, cartão digital
af_city Cidade onde o transporte é reservado Singapore
af_region Região onde o transporte é reservado SFA
af_country País onde o transporte é reservado Singapore
order_id ID do pedido 135790

Exemplos 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 transporte confirmada (ride_booking_confirmed)

Propósito

Esse evento pode ajudar a:

  • Saber quais são os motoristas mais ativos
  • Ver quais destinos são comuns entre os motoristas
  • Ver o preço médio e total de viagens para cada motorista

Além do mais, registrar este evento em conjunto com outros três eventos relacionados a reservas pode ajudar você a compreender melhor a atividade dos motoristas. Por exemplo, é possível ver quais motoristas confirmam a maioria das solicitações de reserva de transporte e quais motoristas escolhem viagens curtas em vez de viagens longas.

Gatilho 

Quando a reserva é aceita por um motorista

Parâmetros do evento

Nome Descrição Valor de exemplo
af_price Preço cotado para a viagem 22.4
af_currency Moeda SGD
af_destination_a Ponto de partida Plaza Singapura
af_destination_b Ponto de chegada Marina Bay Sands
distance Distância entre os dois destinos 5.2
af_content_type Tipo de transporte Táxi
driver_id ID do motorista que confirmou a realização da corrida 1706
payment_method_type Tipo de método de pagamento cartão de crédito, cartão digital
af_city Cidade onde o transporte é reservado Singapore
af_region Região onde o transporte é reservado SFA
af_country País onde o transporte é reservado Singapore
af_order_id ID do pedido 135790

Exemplos 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 transporte cancelada (ride_booking_canceled)

Propósito

Esse evento pode ajudar a:

  • Registrar motoristas ou passageiros que cancelam constantemente
  • Saber quantas viagens foram canceladas
  • Correlacionar viagens concluídas com atributos como preço, destino, distância e cidades
  • Saber os motivos do cancelamento de uma viagem

Gatilho 

Quando a reserva é cancelada

Parâmetros do evento

Nome Descrição Valor de exemplo
af_price Preço cotado para a viagem 22.4
af_currency Moeda SGD
af_destination_a Ponto de partida Plaza Singapura
af_destination_b Ponto de chegada Marina Bay Sands
distance Distância entre os dois destinos 5.2
af_content_type Tipo de transporte Táxi
driver_id ID do motorista que confirmou a corrida 1706
cancelation_reason Motivo do cancelamento da viagem preço muito alto, motorista não apareceu, passageiro não apareceu
payment_method_type Tipo de método de pagamento cartão de crédito, cartão digital
af_city Cidade onde o transporte é reservado Singapore
af_region Região onde o transporte é reservado SFA
af_country País onde o transporte é reservado Singapore
order_id ID do pedido 135790
canceled_by Se a viagem foi cancelada pelo passageiro ou pelo motorista Passageiro

Exemplos 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 transporte concluída (ride_booking_completed)

Propósito

Esse evento pode ajudar a:

  • Saber quanto os passageiros gastam e quanto os motoristas ganham
  • Correlacionar viagens concluídas com atributos como destino, distância, tipo de pagamento e ID do motorista
  • Ver a distância média e total para motoristas e passageiros
  • Comparar viagens concluídas com viagens canceladas
  • Registrar a pontuação de motoristas

Gatilho 

Quando a viagem é concluída

Parâmetros do evento

Nome Descrição Valor de exemplo
af_price Preço cotado para a viagem 22.4
af_currency Moeda SGD
af_destination_a Ponto de partida Plaza Singapura
af_destination_b Ponto de chegada Marina Bay Sands
distance Distância entre os dois destinos 5.2
af_content_type Tipo de transporte Táxi
driver_id ID do motorista que confirmou a realização da corrida 1706
payment_method_type Tipo de método de pagamento cartão de crédito, cartão digital
af_city Cidade onde o transporte é reservado Singapore
af_region Região onde o transporte é reservado SFA
af_country País onde o transporte é reservado Singapore
order_id ID do pedido 135790
credits_earned Créditos que o passageiro ganhou ao concluir uma viagem 248

Exemplos 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);
Este artigo foi útil?