En bref : mesurez la qualité de vos utilisateurs tout au long de leur parcours en enregistrant ces événements in-app suggérés pour votre app de formation en ligne.
Formation en ligne
Les apps de formation en ligne permettent aux utilisateurs d'apprendre à distance. Les événements typiques que nous recommandons d'enregistrer comprennent l'inscription, les tutoriels et les cours suivis, ainsi que les certificats reçus.
L'enregistrement de ces évènements peut vous aider à déterminer :
- Les cours que les utilisateurs souhaitent le plus, et des idées de ciblage
- Quels utilisateurs peuvent être reciblés et contactés pour leur rappeler qu'ils disposent de tutoriels supplémentaires pour terminer un cours
- Quels cours et certificats sont les plus demandés
Important !
- Veillez à lire les instructions à l'attention des marketeurs pour implémenter les événements in-app.
- Pour simplifier l'implémentation, téléchargez un fichier CSV contenant tous les événements in-app de base décrits dans cet article, puis modifiez les événements en fonction des besoins de votre entreprise. Partagez ensuite le fichier avec votre développeur.
- Pour chaque événement recommandé que contient cet article, vous trouverez des extraits de code pour les développeurs iOS, Android et Unity.
- Si votre développeur a besoin d'instructions détaillées, elles se trouvent dans le hub des développeurs AppsFlyer.
Pour plus d'informations sur l'enregistrement des événements in-app, consultez le guide des événements in-app riches.
Structures recommandées pour les événements prédéfinis
La section suivante fournit une liste des structures d'événements typiques du secteur des formations en ligne. Chaque structure donne un nom d'événement prédéfini, ainsi que des suggestions de paramètres d'événement à appliquer. Veuillez noter que les événements in-app peuvent inclure tous les paramètres d'événement qui correspondent à vos besoins.
Connexion (af_login)
Objectif
Comprendre le taux de rétention de vos utilisateurs inscrits
Déclencheur
Dès que l'utilisateur se connecte avec succès
Paramètres d'événement
Peut être envoyé sans paramètre supplémentaire
Exemples de code
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.LOGIN, null);
[[AppsFlyerLib shared] logEvent:AFEventLogin withValues: nil];
AppsFlyerLib.shared().logEvent(AFEventLogin, withValues: nil);
AppsFlyer.sendEvent ("af_login", null);
Inscription terminée (af_complete_registration)
Objectif
Découvrir combien d'utilisateurs ont installé l'app et sont allés au bout du processus d'inscription, et quelles méthodes d'inscription vos utilisateurs privilégient.
Déclencheur
Lorsque l'utilisateur finalise le processus d'inscription
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
af_registration_method | Le type de méthode d'inscription | email, facebook |
Exemples de code
Map<String, Object> eventValue = new HashMap<>();
eventValue.put(AFInAppEventParameterName.registration_method, "Facebook");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.complete_registration, eventValue);
[[AppsFlyerLib shared] logEvent:AFEventCompleteRegistration
withValues: @{
AFEventParamRegistrationMethod: @"Facebook"
}];
AppsFlyerLib.shared().logEvent(AFEventCompleteRegistration,
withValues: [
AFEventParamRegistrationMethod: "Facebook"
]);
Dictionary<string, string> CompleteRegistrationEvent = new Dictionary<string, string>();
CompleteRegistrationEvent.Add("af_registration_method", "Facebook");
AppsFlyer.sendEvent ("af_complete_registration", CompleteRegistrationEvent);
Tutoriel achevé (af_tutorial_completion)
Objectif
Enregistrer cet événement peut vous permettre de déterminer :
- Les sujets qui peuvent poser problème aux utilisateurs
- Quels tutoriels n'obtiennent pas de bons résultats, afin de les améliorer ?
- Associer l'activité globale de l'utilisateur à des dimensions de type revenus
Déclencheur
- Lorsque l'utilisateur achève le tutoriel.
- Lorsque l'utilisateur commence le tutoriel mais le ferme sans l'avoir abouti.
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
af_success | Si l'utilisateur a terminé le tutoriel ou non | yes |
af_tutorial_id | ID du tutoriel | 3 |
af_content | Nom du tutoriel | algebra |
Exemples de code
Map<String, Object> eventValue = new HashMap<>();
eventValue.put(AFInAppEventParameterName.SUCCESS, yes);
eventValue.put(AFInAppEventParameterName.TUTORIAL_ID, "3");
eventValue.put(AFInAppEventParameterName.CONTENT, "algebra");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.TUTORIAL_COMPLETION, eventValue);
[[AppsFlyerLib shared] logEvent:AFEventTutorial_completion
withValues: @{
AFEventParamSuccess: @YES,
AFEventParamTutorialId: @"3",
AFEventParamContent: @"algebra"
}];
AppsFlyerLib.shared().logEvent(AFEventTutorial_completion,
withValues: [
AFEventParamSuccess: YES,
AFEventParamTutorialId: "3",
AFEventParamContent: "algebra"
]);
Dictionary<string, string> TutorialCompletiondEvent = new Dictionary<string, string>();
TutorialCompletiondEvent.Add("af_success", "yes");
TutorialCompletiondEvent.Add("af_tutorial_id", "3");
TutorialCompletiondEvent.Add("af_tutorial_content", "algebra");
AppsFlyer.sendEvent ("af_tutorial_completion", TutorialCompletiondEvent);
Achat (af_purchase)
Objectif
Enregistrer les achats in-app effectués par les utilisateurs, pour vous aider à :
- Déterminer la LTV de vos utilisateurs et le ROI de vos campagnes sur les réseaux publicitaires et les agences de publicité
- Déterminer quelles offres sont les plus populaires auprès de vos utilisateurs
- Réaliser une référence croisée de campagne avec les articles qui ont été achetés afin d'optimiser le ciblage de vos campagnes
Déclencheur
Lorsque l'utilisateur atterrit sur la page de remerciement une fois l'achat terminé
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
af_revenue | Le revenu estimé provenant de l'achat | 250.99 |
af_currency | Code de devise | USD |
af_content_id | ID de l'élément | 001, 092 |
order_id | ID de la commande | 9277 |
af_receipt_id | ID du reçu | 9277 |
Exemples de code
Map<String, Object> eventValue = new HashMap<>();
eventValue.put(AFInAppEventParameterName.REVENUE, 250.99);
eventValue.put(AFInAppEventParameterName.CURRENCY, "USD");
eventValue.put(AFInAppEventParameterName.CONTENT_ID, "092");
eventValue.put("order_id", "9277");
eventValue.put(AFInAppEventParameterName.RECEIPT_ID, "9277");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(),AFInAppEventType.PURCHASE, eventValue);
[[AppsFlyerLib shared] logEvent:AFEventPurchase
withValues: @{
AFEventParamRevenue: @250.99,
AFEventParamCurrency: @"USD",
AFEventParamContentId: @"092",
@"order_id": @"9277",
AFEventParamReceiptId: @"9277"
}];
AppsFlyerLib.shared().logEvent(AFEventPurchase,
withValues: [
AFEventParamRevenue: 250.99,
AFEventParamCurrency: "USD",
AFEventParamContentId: "092",
"order_id": "9277",
AFEventParamReceiptId: "9277"
]);
Dictionary<string, string> purchaseEvent = new Dictionary<string, string>();
purchaseEvent.Add("af_revenue", "250.99");
purchaseEvent.Add("af_currency", "USD");
purchaseEvent.Add("af_content_id", "001");
purchaseEvent.Add("order_id", "9277");
purchaseEvent.Add("af_receipt_id", "9277");
AppsFlyer.sendEvent ("af_purchase", purchaseEvent);
Structures recommandées pour les événements personnalisés
La section suivante fournit une liste de structures d'événements qui comprennent des noms d'événements personnalisés et les suggestions de paramètres d'événement à utiliser. Veuillez noter que les événements in-app peuvent inclure tous les paramètres d'événement qui correspondent à vos besoins.
Terminer l'exercice (complete_excercise)
Objectif
Enregistrer cet évènement et le comparer avec d'autres données pour en savoir plus sur vos utilisateurs. Par exemple, vous pouvez savoir combien d'utilisateurs commencent mais ne terminent pas un exercice.
Déclencheur
Lorsque l'utilisateur termine un exercice
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
course_name | Nom du cours | algebra |
exercise_name | Nom de l'exercice | 2 |
Exemples de code
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("course_name", "algebra");
eventValue.put("exercise_name", "2");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "complete_exercise", eventValue);
[[AppsFlyerLib shared] logEvent:@"complete_exercise"
withValues: @{
@"course_name": @"algebra",
@"exercise_name": @"2"
}];
AppsFlyerLib.shared().logEvent("complete_exercise",withValues:
["course_name": "algebra","exercise_name": "2" ])
Dictionary<string, string> CompleteExerciseEvent = new Dictionary<string, string>();
CompleteExerciseEvent.Add("course_name", "algebra");
CompleteExerciseEvent.Add("exercise_name", "2");
AppsFlyer.sendEvent ("complete_exercise", CompleteExerciseEvent);
Cours terminé (course_completed)
Objectif
Enregistrer cet évènement et le comparer avec d'autres données pour en savoir plus sur vos utilisateurs. Par exemple, vous pouvez savoir combien d'utilisateurs commencent mais ne terminent pas un exercice.
Déclencheur
Lorsque l'utilisateur termine un exercice
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
course_name | Nom du cours | algebra |
course_completed | Si le cours a été achevé | yes |
Exemples de code
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("course_name", "algebra");
eventValue.put("course_completed", "yes");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "course_completed", eventValue);
[AppsFlyerLib shared] logEvent:@"course_completed" withValues:@{
@"course_name": @"algebra",
@"course_completed": @"yes"}];
AppsFlyerLib.shared().logEvent("course_completed", withValues:
[ "course_name": "algebra",
"course_completed": "yes"])
Dictionary<string, string> CourseCompletedEvent = new Dictionary<string, string>();
CourseCompletedEvent.Add("course_name", "algebra");
CourseCompletedEvent.Add("course_completed", "yes");
AppsFlyer.sendEvent ("course_completed
", CourseCompletedEvent);
Certificat émis (certificate_issued)
Objectif
Enregistrer cet évènement et le comparer avec d'autres données pour en savoir plus sur vos utilisateurs. Par exemple, vous pouvez savoir combien d'utilisateurs terminent un cours, puis les recibler pour le cours suivant.
Déclencheur
Lorsque l'utilisateur reçoit un certificat
Paramètres d'événement
Nom | Description | Exemple de valeur |
---|---|---|
course_name | Nom du cours | algebra |
certificate_received | Si le certificat a été délivré ou non | yes |
Exemples de code
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("course_name", "algebra");
eventValue.put("certificate_received", "yes");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "certificate issued", eventValue);
[[AppsFlyerLib shared] logEvent:@"course_completed" withValues: @{
@"course_name": @"algebra",
@"certificate_received": @"yes"}];
AppsFlyerLib.shared().logEvent("certificate issued", withValues:
[ "course_name": "algebra",
"certificate_received": "yes"])
Dictionary<string, string> CertificateIssuedEvent = new Dictionary<string, string>();
CertificateIssuedEvent.Add("course_name", "algebra");
CertificateIssuedEvent.Add("certificate_received", "yes");
AppsFlyer.sendEvent ("certificate issued
", CertificateIssuedEvent);