TECH PLAY

株式会社一休

株式会社一休 の技術ブログ

161

この記事は 一休.comアドベントカレンダー2017 の1日目です。 一休レストランiOSアプリ を開発している id:ninjinkun です。 アプリを改善する計画を立てる際に、どこから手を着けたら良いか優先順位を決める必要があります。Eコマースなどコンバージョン(以下CV)がはっきり定義できるアプリの場合には、実際のCVに繋がっている画面とフローを改善するのが近道でしょう。 しかしCVに繋がる経路がどこなのか調べるためには、依存関係があるイベントを計測する必要があり、これは意外と面倒です。導入している Google Analytics の目標到達プロセスやゴールフロー機能を使えばできるような気がするのですが、設定が複雑かつ結果が出るのに時間がかかるので、残念ながら自分は使いこなせたことがありません *1 。 計測 しかし プログラマ の目で見ると、予約前に表示された画面と予約完了画面を結びつけるのはそんなに難しくなさそうに見えます。そこでとても単純な方法ではありますが、直接的にアプリ内のCV経路を計測するために、アプリに直接ト ラッキング のためのコードを埋め込みました。 enum CVRoute { case search, favorite, reserveHistory, message } // 単純なコードというのはそう、シングルトンです struct CVRouteManager { static let sharedManager = CVRouteManager() var lastRoute : CVRoute ? } このシングルトンにそれぞれの画面を表示した際に経路を記録し class ReserveHistoryViewController : UIViewController { func viewDidAppear (animated : Bool ) { ... CVRouteManager.sharedManager.lastRoute = . reserveHistory ... } } 予約が行われた際に Google Analytics のカスタムディメンジョンに載せて送信します。 class ReserveCompleteViewController : UIViewController { static let LastRouteDimension = 20 func viewDidAppear (animated : Bool ) { ... // 実際はトラッキング用のクラスに分離しているが、イメージはこんな感じ let tracker = GAI.sharedInstance().defaultTracker    ... if let lastRoute = CVRouteManager.sharedManager.lastRoute { tracker. set (GAIFields.customDimension( for : LastRouteDimension ), value : lastRoute ) } ... traker.send( ... ) } } 結果 製品にこのコードを埋め込んで一週間ほど動かしてみたところ、一休レストランの iOS アプリでは お気に入りからのCVが検索に次いで多い という結果が得られました。 このデータとユーザーインタビューを元に、アプリを使ってお店を探すユーザーの行動をイメージしてみると、 お店を決めるためにまず検索 気になったお店をお気に入りに登録 1~2を繰り返す お気に入りに登録した中から、一緒に行く友だちにリンクを共有して相談 お店が決まったら、お気に入りから予約←これが計測したCV前画面 というように、お気に入りを使いながらお店を決めるストーリーを想像することができます。そして最終的にはCV数の多さが決め手になり、優先度を上げてこのストーリーを検証、強化するという意志決定を行うことができました。 おわりに 以上、単純なコードで手軽に経路計測を行う方法でした。 Google Analytics やFirebase等の計測サービスでもっと簡単にできる方法をご存知でしたら、ぜひ教えてください。 最後に唐突に宣伝ですが、クリスマスや忘年会のご予約に、一休レストランアプリをぜひご利用ください。 クリスマスのレストランを簡単予約!一休.comレストラン IKYU Corporation フード/ドリンク 無料 明日は @ryo511 さんによる「Vue.jsの ユニットテスト について」です。 *1 : アプリの場合はWebと違い、タブやモーダルビューの存在により、複数の画面を並行に操作して、最後は購入などのCVに到達するということが起こります。このため、ト ラッキング サービスが出してくるイベントの前後関係を素直に信じられないという問題もあります
アバター