概要:ヘルスケアアプリで推奨されるアプリ内イベントを記録して、ユーザージャーニー全体を通じてユーザーの質を計測しましょう。
ヘルスケア
ヘルスケアアプリでは、ユーザーが健康保険を購入したり、診察を予約したり、医療的なアドバイスを受けたりすることができます。計測を推奨する一般的なイベントは、購入と予約です。
これらのイベントを計測することで、次のような判断に役立ちます。
- 最も必要とされており需要が高い医薬品はどれか
- ユーザーが興味を持っているパッケージは何か
- ユーザーが最も懸念している医療上の問題は何か
アプリ内イベント計測の詳細については、リッチアプリ内イベントガイドを参照してください。
規定イベントで推奨される構造
次のセクションでは、ヘルスケアアプリで一般的なイベント構造のリストを示しています。各構造には、既定のイベント名と推奨されるイベントパラメーターが含まれています。アプリ内イベントには、ビジネスニーズを満たす任意のイベントパラメーターを含めることができます。
ログイン (af_login)
目的
登録ユーザーのリテンションを理解しましょう
トリガー
ユーザーが正常にログインするたびに
イベントパラメータ
パラメーターなしで送信できます
コードの例
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.LOGIN, null);
[[AppsFlyerLib shared] logEvent:AFEventLogin withValues: nil];
AppsFlyerLib.shared().logEvent(AFEventLogin, withValues: nil);
AppsFlyer.sendEvent ("af_login", null);
登録完了 (af_complete_registration)
目的
アプリをインストールし、サインアップを完了したユーザーがどれだけいるか、またユーザーが好むサインアップ方法を確認しましょう
トリガー
ユーザーがサインアップ手順を完了したとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
af_registration_method | サインアップ方法のタイプ | Email、Facebook |
コードの例
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);
カートに追加 (af_add_to_cart)
目的
ユーザーがカートに商品を追加したときに記録します。このイベントは、次のことを判断するのに役立ちます。
- 1回の購入で、ユーザーがカートに追加する商品の平均数
- 2つの違う商品をカートに追加する間に、どれくらいの時間が経過しているか
- 何人の購入者がカートを放棄したか
トリガー
ユーザーがカートに商品を追加した日時
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
medicine name | 薬の名前 | rhinos |
af_quantity | 注文数量 | 1 |
af_price | 薬の料金 | 10 |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("medicine name", "rhinos");
eventValue.put("quantity", "1");
eventValue.put("price", "10");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "add_to_cart", eventValue);
[[AppsFlyerLib shared] logEvent:@"add_to_cart" withValues: @{
@"medicine name": @"rhinos",
@"quantity": @"1",
@"price": @"10"}];
AppsFlyerLib.shared().logEvent("add_to_cart", withValues:
[ "medicine name": "rhinos",
"quantity": "1",
"price": "10"])
Dictionary<string, string> AddToCartEvent= new Dictionary<string, string>();
AddToCartEvent.Add("medicine name", "rhinos");
AddToCartEvent.Add("quantity", "1");
AddToCartEvent.Add("price", "10");
AppsFlyer.sendEvent ("add_to_cart", AddToCartEvent);
購入 (af_purchase)
目的
ユーザーが実行したアプリ内購入を記録します。このイベントを計測すると次のことに役立ちます:
- アドネットワークと広告代理店間のユーザーのLTV(顧客生涯価値)とキャンペーンのROIを判断します。
- どのようなオファーがユーザーに最も人気があるのかを特定します。
- キャンペーンのターゲティングを最適化するために、購入されたアイテムとキャンペーンを相互参照します。
トリガー
購入が正常に完了しユーザーに「ありがとうございました」が表示されたとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
af_revenue | 購入による収益 | 50.55 |
af_currency | Currency code | USD |
af_content_type | 購入の名前 | lab |
af_order_id | 注文ID | 9277 |
payment_method_type | 使用された支払い方法 | credit card, local |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put(AFInAppEventParameterName.REVENUE, 50.55);
eventValue.put(AFInAppEventParameterName.CURRENCY, "USD");
eventValue.put(AFInAppEventParameterName.CONTENT_TYPE, "lab");
eventValue.put("AFInAppEventParameterName.ORDER_ID", "9277");
eventValue.put("payment_method_type", "credit card");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(),AFInAppEventType.PURCHASE, eventValue);
[[AppsFlyerLib shared] logEvent:AFEventPurchase
withValues: @{
AFEventParamRevenue: @50.55,
AFEventParamCurrency: @"USD",
AFEventParamContentType: @"lab",
AFEventParamContentTypeOrderId: @"9277",
@"payment_method_type": @"credit card"
}];
AppsFlyerLib.shared().logEvent(AFEventPurchase,
withValues: [
AFEventParamRevenue: 50.55,
AFEventParamCurrency: "USD",
AFEventParamContentType: "lab",
AFEventParamContentTypeOrderId: "9277",
"payment_method_type": "credit card",
]);
Dictionary<string, string> purchaseEvent = new Dictionary<string, string>();
purchaseEvent.Add("af_revenue", "50.55");
purchaseEvent.Add("af_currency", "USD");
purchaseEvent.Add("af_content_type", "lab");
purchaseEvent.Add("af_order_id", "9277");
purchaseEvent.Add("payment_method_type", "credit card");
AppsFlyer.sendEvent ("af_purchase", purchaseEvent);
チャージ/トップアップ成功 (af_top_up_success)
目的
料金チャージは、アプリ内で提供されるパッケージやサービスを購入するために使用することができます。このイベントを記録し、他のデータと比較することでユーザーについてより詳しく理解できます。例えば、ユーザーがアカウントに入金する金額を知り、チャージ金額を把握することで、予算内でカスタマイズされたキャンペーンを使用してユーザーをターゲットにすることができます。
トリガー
ユーザーがチャージを完了したとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
af_revenue | チャージ金額 | 2000.55 |
top_up_id | チャージのID | 397 |
payment_method_type | 使用された支払い方法 | credit card, local payment |
コードの例
Map<String, Object> eventValue = new HashMap<>();eventValue.put(AFInAppEventParameterName.REVENUE, 2000.55); eventValue.put("TOP_UP_ID", "397"); eventValue.put("PAYMENT_METHOD_TYPE", "creditcard");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), AFInAppEventType.AF_TOP_UP_SUCCESS, eventValue);
[[AppsFlyerLib shared] logEvent:AFEventTopUpSuccess
withValues: @{
AFEventParamRevenue: @2000.55,
@"top_up_id": @"397",
@"payment_method_type": @"credit card"
}];
AppsFlyerLib.shared().logEvent(AFEventTopUpSuccess,
withValues: [
AFEventParamRevenue: 2000.55,
"top_up_id": "397",
"payment_method_type": "credit card",
]);
Dictionary<string, string> TopUpSuccessEvent = new Dictionary<string, string>();
TopUpSuccessEvent.Add("af_revenue", "2000.55");
TopUpSuccessEvent.Add("top_up_id", "397");
TopUpSuccessEvent.Add("payment_method_type", "credit card");
AppsFlyer.sendEvent ("af_top_up_success", TopUpSuccessEvent);
カスタムイベントで推奨される構造
次のセクションでは、カスタムビエント名と推奨されるイベントパラメーターのイベント構造リストを示しています。アプリ内イベントには、ビジネスニーズを満たすどんなイベントパラメーターを含めることができます。
予約の確認 (confirmed_appointment)
目的
このイベントを記録することで、データを使用してユーザーをリターゲティングし、定期的な検診や将来の予定に関するリマインダーを送信できます。
トリガー
ユーザーが予約したとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
doctor name | 医師の名前 | Robert James |
appointment number | 予約番号 | 001 |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("doctor name", "Robert James");
eventValue.put("appointment number", "001");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "confirmed_appointment", eventValue);
[[AppsFlyerLib shared] logEvent:@"confirmed_appointment" withValues: @{
@"doctor name": @"Robert James",
@"appointment number": @"001"}];
AppsFlyerLib.shared().logEvent("confirmed_appointment", withValues:
[ "doctor name": "Robert James",
"appointment number": "001"])
Dictionary<string, string> ConfirmedAppointmentEvent= new Dictionary<string, string>();
ConfirmedAppointmentEvent.Add("doctor name", "Robert James");
ConfirmedAppointmentEvent.Add("appointment number", "001");
AppsFlyer.sendEvent ("confirmed_appointment", ConfirmedAppointmentEvent);
予約のキャンセル (canceled_appointment)
目的
このイベントを記録することで、データを使用してユーザーをリターゲティングし、リマインダーを送信して予定を再度スケジュールできます。
トリガー
ユーザーが予約をキャンセルしたとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
doctor name | 医師の名前 | Robert James |
appointment number | 予約番号 | 001 |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("doctor name", "Robert James");
eventValue.put("appointment number", "001");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "canceled_appointment", eventValue);
[[AppsFlyerLib shared] logEvent:@"canceled_appointment" withValues: @{
@"doctor name": @"Robert James",
@"appointment number": @"001"}];
AppsFlyerLib.shared().logEvent("canceled_appointment", withValues:
[ "doctor name": "Robert James",
"appointment number": "001"])
Dictionary<string, string> CanceledAppointmentEvent= new Dictionary<string, string>();
CanceledAppointmentEvent.Add("doctor name", "Robert James");
CanceledAppointmentEvent.Add("appointment number", "001");
AppsFlyer.sendEvent ("canceled_appointment", CanceledAppointmentEvent);
初診の予約 (doctor_first_booking)
目的
このイベントを記録することで、データを使用してユーザーにプロモーションやリターゲティング広告を送信できます。
トリガー
ユーザーが初診を予約したとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
doctor name | 医師の名前 | Robert James |
specialty | 医療専門 | neurology |
duration | 予約の時間の長さ | 30 min chat |
price | 予約の価格 | 50 |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("doctor name", "Robert James");
eventValue.put("specialty", "neurology");
eventValue.put("duration", "30 min chat");
eventValue.put("price", "50");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "doctor_first_booking", eventValue);
[[AppsFlyerLib shared] logEvent:@"doctor_first_booking" withValues: @{
@"doctor name": @"Robert James",
@"specialty": @"neurology",
@"duration": @"30 min chat",
@"price": @"50"}];
AppsFlyerLib.shared().logEvent("doctor_first_booking", withValues:
[ "doctor name": "Robert James",
"specialty": "neurology",
"duration": "30 min chat",
"price": "50"])
Dictionary<string, string> DoctorFirstBookingEvent= new Dictionary<string, string>();
DoctorFirstBookingEvent.Add("doctor name", "Robert James");
DoctorFirstBookingEvent.Add("appointment number", "001");
DoctorFirstBookingEvent.Add("duration", "30 min chat");
DoctorFirstBookingEvent.Add("price", "50");
AppsFlyer.sendEvent ("doctor_first_booking", DoctorFirstBookingEvent);
初回の検査予約 (lab_first_appointment)
目的
このイベントを記録することで、データを使用してユーザーにプロモーションやリターゲティング広告を送信できます。
トリガー
ユーザーが初診を予約したとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
lab selection | 検査の名前 | full body checkup |
quantity | 注文数量 | 2 |
price | 検査の費用 | 500 |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("lab selection", "full body checkup");
eventValue.put("quantity", "2");
eventValue.put("price", "500");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "lab_first_appointment", eventValue);
[[AppsFlyerLib shared] logEvent:@"lab_first_appointment" withValues: @{
@"lab_selection": @"full body checkup",
@"quantity": @"2",
@"price": @"500"}];
AppsFlyerLib.shared().logEvent("lab_first_appointment", withValues:
[ "lab selection": "full body checkup",
"quantity": "2",
"price": "500"])
Dictionary<string, string> LabFirstAppointmentEvent= new Dictionary<string, string>();
LabFirstAppointmentEvent.Add("lab selection", "full body checkup");
LabFirstAppointmentEvent.Add("quantity", "2");
LabFirstAppointmentEvent.Add("price", "500");
AppsFlyer.sendEvent ("lab_first_appointment", LabFirstAppointmentEvent);
薬局での初回購入 (pharmacy_first_purchase)
目的
このイベントを記録することで、データを使用してユーザーにプロモーションやリターゲティング広告を送信できます。
トリガー
ユーザーが最初に購入したとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
medicine name | 薬の名前 | rhinos |
quantity | 注文数量 | 1 |
price | 薬の料金 | 10 |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("medicine name", "rhinos");
eventValue.put("quantity", "1");
eventValue.put("price", "10");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "pharmacy_first_purchase", eventValue);
[[AppsFlyerLib shared] logEvent:@"pharmacy_first_purchase" withValues: @{
@"medicine name": @"rhinos",
@"quantity": @"1",
@"price": @"10"}];
AppsFlyerLib.shared().logEvent("pharmacy_first_purchase", withValues:
[ "medicine name": "rhinos",
"quantity": "1",
"price": "10"])
Dictionary<string, string> PharmacyFirstPurchaseEvent= new Dictionary<string, string>();
PharmacyFirstPurchaseEvent.Add("medicine name", "rhinos");
PharmacyFirstPurchaseEvent.Add("quantity", "1");
PharmacyFirstPurchaseEvent.Add("price", "10");
AppsFlyer.sendEvent ("pharmacy_first_purchase", PharmacyFirstPurchaseEvent);
診療の予約 (doctor_booking)
目的
ユーザーのニーズと関心に関する追加情報を把握しましょう。
トリガー
ユーザーが対面予約をスケジュールしたとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
doctor name | 医師の名前 | Robert James |
specialty | 医療専門 | neurology |
duration | 予約の時間枠 | 30 min chat |
price | 予約の価格 | 50 |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("doctor name", "Robert James");
eventValue.put("specialty", "neurology");
eventValue.put("duration", "30 min chat");
eventValue.put("price", "50");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "doctor_booking", eventValue);
[[AppsFlyerLib shared] logEvent:@"doctor_booking" withValues: @{
@"doctor name": @"Robert James",
@"specialty": @"neurology",
@"duration": @"30 min chat",
@"price": @"50"}];
AppsFlyerLib.shared().logEvent("doctor_booking", withValues:
[ "doctor name": "Robert James",
"specialty": "neurology",
"duration": "30 min chat",
"price": "50"])
Dictionary<string, string> DoctorBookingEvent= new Dictionary<string, string>();
DoctorBookingEvent.Add("doctor name", "Robert James");
DoctorBookingEvent.Add("appointment number", "001");
DoctorBookingEvent.Add("duration", "30 min chat");
DoctorBookingEvent.Add("price", "50");
AppsFlyer.sendEvent ("doctor_booking", DoctorBookingEvent);
医師とチャット (chat_doctor)
目的
ユーザーのニーズと関心に関する追加情報を把握しましょう。
トリガー
ユーザーが予約したとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
doctor name | 医師の名前 | Robert James |
specialty | 医療専門 | neurology |
duration | 予約の時間枠 | 30 min chat |
price | 予約の価格 | 50 |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("doctor name", "Robert James");
eventValue.put("specialty", "neurology");
eventValue.put("duration", "30 min chat");
eventValue.put("price", "50");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "chat_doctor", eventValue);
[[AppsFlyerLib shared] logEvent:@"chat_doctor" withValues: @{
@"doctor name": @"Robert James",
@"specialty": @"neurology",
@"duration": @"30 min chat",
@"price": @"50"}];
AppsFlyerLib.shared().logEvent("chat_doctor", withValues:
[ "doctor name": "Robert James",
"specialty": "neurology",
"duration": "30 min chat",
"price": "50"])
Dictionary<string, string> ChatDoctorEvent= new Dictionary<string, string>();
ChatDoctorEvent.Add("doctor name", "Robert James");
ChatDoctorEvent.Add("appointment number", "001");
ChatDoctorEvent.Add("duration", "30 min chat");
ChatDoctorEvent.Add("price", "50");
AppsFlyer.sendEvent ("chat_doctor", ChatDoctorEvent);
検査予約 (lab_appointment)
目的
このイベントを記録することで、データを使用してユーザーにプロモーションやリターゲティング広告を送信できます。
トリガー
ユーザーが検査を予約したとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
lab selection | 検査の種類名 | full body checkup |
quantity | 注文数量 | 2 |
price | 検査の費用 | 500 |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("lab selection", "full body checkup");
eventValue.put("quantity", "2");
eventValue.put("price", "500");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "lab_appointment", eventValue);
[[AppsFlyerLib shared] logEvent:@"lab_appointment" withValues: @{
@"lab_selection": @"full body checkup",
@"quantity": @"2",
@"price": @"500"}];
AppsFlyerLib.shared().logEvent("lab_appointment", withValues:
[ "lab selection": "full body checkup",
"quantity": "2",
"price": "500"])
Dictionary<string, string> LabAppointmentEvent= new Dictionary<string, string>();
LabAppointmentEvent.Add("lab selection", "full body checkup");
LabAppointmentEvent.Add("quantity", "2");
LabAppointmentEvent.Add("price", "500");
AppsFlyer.sendEvent ("lab_appointment", LabAppointmentEvent);
薬局での購入 (pharmacy_purchase)
目的
このイベントを記録することで、データを使用してユーザーにプロモーションやリターゲティング広告を送信できます。
トリガー
ユーザーが薬を購入したとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
medicine name | 薬の名前 | rhinos |
quantity | 注文数量 | 1 |
price | 薬の料金 | 10 |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("medicine name", "rhinos");
eventValue.put("quantity", "1");
eventValue.put("price", "10");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "pharmacy_purchase", eventValue);
[[AppsFlyerLib shared] logEvent:@"pharmacy_purchase" withValues: @{
@"medicine name": @"rhinos",
@"quantity": @"1",
@"price": @"10"}];
AppsFlyerLib.shared().logEvent("pharmacy_purchase", withValues:
[ "medicine name": "rhinos",
"quantity": "1",
"price": "10"])
Dictionary<string, string> PharmacyPurchaseEvent= new Dictionary<string, string>();
PharmacyPurchaseEvent.Add("medicine name", "rhinos");
PharmacyPurchaseEvent.Add("quantity", "1");
PharmacyPurchaseEvent.Add("price", "10");
AppsFlyer.sendEvent ("pharmacy_purchase", PharmacyPurchaseEvent);
保険のメンバーシップ (insurance_membership)
目的
ユーザーについて詳しく知り、それに応じてリターゲティングしてください。
トリガー
ユーザーが保険メンバーシップを取得したとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
insurance name | 保険会社名 | DavidShield |
insurance type | 保険の種類 | premium |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("insurance name", "DavidShield");
eventValue.put("insurance type", "premium");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "insurance_membership", eventValue);
[[AppsFlyerLib shared] logEvent:@"insurance_membership" withValues: @{
@"insurance name": @"DavidShield",
@"insurance type": @"premium"}];
AppsFlyerLib.shared().logEvent("insurance_membership", withValues:
[ "insurance name": "DavidShield",
"insurance type": "premium"])
Dictionary<string, string> InsuranceMembershipEvent= new Dictionary<string, string>();
InsuranceMembershipEvent.Add("insurance name", "DavidShield");
InsuranceMembershipEvent.Add("insurance type", "premium");
AppsFlyer.sendEvent ("insurance_membership", InsuranceMembershipEvent);
領収書の発行 (receipt_issuance)
目的
領収書を持つユーザーは、保険会社から医師の任命、検査、または医薬品の費用を請求する可能性があります。このイベントを記録することで、個人保険の適用範囲に関するリターゲティングキャンペーンにデータを使用できます。
トリガー
ユーザーが領収書を受け取ったとき
イベントパラメータ
名称 | 説明 | 値の例: |
---|---|---|
app name | アプリ名。 | Healthcare App |
doctor name | 医師の名前 | Robert James |
consultation description | 健康状態の説明 | fever |
コードの例
Map<String, Object> eventValue = new HashMap<>();
eventValue.put("app name", "Healthcare App");
eventValue.put("doctor name", "Robert James");
eventValue.put("consultation description", "fever");
AppsFlyerLib.getInstance().logEvent(getApplicationContext(), "receipt_issuance", eventValue);
[[AppsFlyerLib shared] logEvent:@"receipt_issuance" withValues: @{
@"app name": @"Healthcare App",
@"doctor name": @"Robert James",
@"consultation description": @"fever"}];
AppsFlyerLib.shared().logEvent("receipt_issuance", withValues:
[ "app name": "Healthcare App",
"insurance name": "Robert James",
"insurance type": "fever"])
Dictionary<string, string> ReceiptIssuanceEvent= new Dictionary<string, string>();
ReceiptIssuanceEvent.Add("app name", "Healthcare App");
ReceiptIssuanceEvent.Add("doctor name", "Robert James");
ReceiptIssuanceEvent.Add("consultation description", "fever");
AppsFlyer.sendEvent ("receipt_issuance", ReceiptIssuanceEvent);