Targetingでユーザーセグメントを定義して使ってみようこんにちは、最近自動車の運転を練習しているかわべです。カーシェアで早朝にちょこっと運転してパン屋さんでおいしいパンを買って帰り、家でゆっくり食べる、という夢があるのですが、先日練習したところどこにも駐車できずに疲れて帰ってきました。Targeting(オーディエンス・ターゲティング)という機能について紹介したいと思います。日本語では「ユーザー解析」という名称に訳されている、複数のポートレットやフックから構成されるプラグインです。2回に分けて記事にしようと考えているので、前半である当記事では機能の説明、インストール方法、そしてユーザーセグメントの利用方法について説明したいと思います。Targetingで何ができるようになる?デフォルトのLiferayの機能でも、ユーザーが所属する組織やサイト、割り当てられたロールなどによって特定のコンテンツやページを表示する/しないという制御をすることはできます。これは権限のないユーザーからコンテンツを保護するためのポータル製品としての機能と言えます。Targetingを利用すると、ユーザーに最適なコンテンツを動的に表示させる更に細かいルールの適用が可能になります。例を挙げると、30代の男性ユーザーにはコンテンツA、40代の男性ユーザーにはコンテンツB、それ以外のユーザーにはコンテンツCを表示する午前6時から午前10時までにアクセスしたユーザーにはコンテンツEを表示するコンテンツDを10回以上閲覧したユーザーをキャンペーンEの対象とし、登録フォームへの入力率を一般ユーザーと比較するなどです。ポータルサイトとしての可能性が広がりそうな機能だと思いませんか?これらの表示ルールの一部は、EE版で提供されていたDroolsルールエンジンとポートレットを応用すれば以前から実現可能でしたが、Droolsではルール適用のためにスクリプトを記述する必要があり、そこに導入のハードルを感じた方もいるかもしれません。Targetingでは管理画面からのUI操作だけでルールが設定できるので、コーディング知識は必要ありません。それではインストールから順を追って使い方を見ていきましょう。SP12をTomcatバンドルでMacにインストールしたものを使用しています。Targetingに限った話ではありませんが、Marketplaceにあるプラグインをインストールするには方法が2つあります。Liferayの起動中に管理者としてログインし、コントロールパネル→MarketplaceでLiferay.comのアカウントを紐付けて画面上から購入、インストールするブラウザでMarketplaceにアクセスし対象のプラグインを購入後、ダウンロードし、ダウンロードしたファイルをLiferayのdeployフォルダに配置する今回は後者の方法で進めます。Targetingを購入(無料)し、プロフィールの「購入済アプリケーション」からダウンロードします。EE.lpkgというファイルがダウンロードされます。TargetingにはCE版も用意されているので、CEを利用されている場合はそちらを入手してください。deployフォルダはLiferayを展開したフォルダ配下に存在するはずなので、その中にこのファイルを置きます。EE.lpkgはLiferayが停止しているときにdeployフォルダに入れ、その後Liferayを起動してください。しないとエラーログが出力されてデプロイに失敗してしまいます。これは試している中で気づいたことですが、deployフォルダにプラグインを入れて起動が完了した後、もう一度Liferayを停止→起動してください。しないとドックバーが一部無効になってしまうようです。(使えるようなら問題ありませんが、例えばコンテンツ追加のための「+」を押しても反応しなかったりしたら再起動しましょう。)起動と停止をするにあたり、ついでに停止中に<TOMCAT_DIR>/bin/setenv.shでJVMのメモリサイズ設定を確認し、デフォルト値のままになっている場合は値を大きくしましょう。-XX:MaxPermSize=512m"を割り当てることが推奨されているようです。無事にインストールが完了すると、管理者としてログインした際にドックバーにシミュレータ用のボタンが追加されているはずです(クリックするとこんな風に左サイドペインが開きます)。システム管理→編集へと移動すると、「ユーザー解析」という項目が追加されています。次はここから操作を行い、ユーザーセグメントを追加していきます。ユーザーセグメントとは?設定方法は?名前から想像が付くとおり、ユーザーを特定の条件に従ってセグメント化したものです。このセグメントごとにコンテンツの表示ルールやキャンペーンが設定できます。Insurance」である範囲の年齢と性別を条件としたユーザーセグメントを作成するという例を試してみたいと思います。管理者としてログインし、対象サイトのシステム管理→編集→ユーザー解析へ移動すると、「ユーザーセグメントの追加」ボタンがあるはずなのでクリックします。すると、どのようなルールでユーザーセグメントを作成するか、画面から作成することができます。標準で用意されているルールは以下です。ソーシャル(Facebook連携ログインを利用する場合のみ有効。標準ロール年齢セッション属性(IPアドレスなどアクセス元による分類)ロケーションブラウザOS時間デバイスこれらのルールはもちろん組み合わせて利用することが可能で、必要な項目をドラッグし、希望する設定値を追加するだけでOKです。今回は「21-35歳男性」というユーザーセグメントを以下のように作成してみました。ユーザーセグメントコンテンツディスプレイの利用このユーザーセグメントに当てはまる場合のみ特定のコンテンツが表示されるように、「ユーザーセグメントコンテンツディスプレイ」ポートレットをページに配置してみましょう。今回はTOPページに置いてみます。ドックバーの「+」(追加)をクリックし、対象のポートレットをページにドラッグします。右上の設定アイコンから、以下の条件で表示されるように設定して、保存します(日本語がいまいちだったので英語表示にしています)。リンク」というWEBコンテンツを表示する」それ以外の場合、「保険見直しへのリンク」という別のWEBコンテンツを表示するところで上の画面キャプチャからわかるように、セグメントは複数を同時に利用することが可能で、セグメントの「すべてに」または「どれか1つに」該当する場合、という設定をすることができます。BまたはCならB'、Dなら...」というような複雑な表示設定も可能です。表示させるコンテンツもWEBコンテンツだけに限らず、ドキュメントやブログ記事など他の種類にも対応しています。それでは実際にユーザーセグメントが有効になっていることを確認してみましょう。Insuranceに順番にログインしてみることにします。25歳女性ちゃんと設定したユーザーセグメントに従ってコンテンツの表示がされました!また、いちいちそれぞれのセグメントに該当するユーザーで入りなおさなくとも、管理者など権限があるユーザはドックバーのシミュレータボタンをクリックすると「このユーザーセグメントに属するユーザーにはどういうページに見えるのか」というのを確認することができます。ユーザーセグメントリポート各ユーザーセグメントに当てはまるユーザーがどのコンテンツを閲覧したかを表示する機能も備わっています。システム管理→編集→ユーザー解析→ユーザーセグメントに移動し、それぞれのユーザーセグメントで操作→リポートを選択すると、「そのユーザーセグメントに当てはまるユーザーが閲覧したコンテンツ」を見ることができます。デフォルトでは1日に1度更新されますが、更新ボタンをクリックするとその都度更新されます。これもユーザーの動向を分析するために活用することができそうです。次回予告ユーザー分析にはまだ紹介できていない機能があります!後編として、ユーザーセグメントのタグ、そしてキャンペーン機能について近いうちに紹介したいと思います。