【実例あり】ABテストとは？最適なUIを分析して導き出してみよう


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/9f3a7ec3-e6af-98f1-4321-8d672b80099e.png" width=95%>
日々改修しているサイトや個人サービスなどで、ここをこう変更すればユーザーがもっと使いやすくなるのでは？と考えたことはないでしょうか。
しかし大きなサイトであるほど簡単には変えられず悩む事になります。変えたとしてもそれで良くなるとは限りません。

今回はそういった案が毎日上がる弊社、ユーザー数620万人以上のサービス『[**DLsite**](https://www.dlsite.com/)』にて実際に実施されている

『**ABテスト**』

について、どういったものなのかを雰囲気だけでも知っていただけるよう解説していきます。
　
　

# 📗 ABテストとは

ウェブサイトにおけるABテストとは、サイト内の一部分を`比較したパーツ「A」と「B」のどちらがよりユーザビリティの観点から優れているか`を分析する手法です。

A, Bだけでなく、A, B, C, Dなどの数パターンのUIを比較してどのUIが一番優れているかを実際にユーザーに使って頂き、最もクリックしてもらいやすいなどのUIを導き出します。
　

## テスト例

**・サイトに人気ワード一覧を追加したい、どの様に表示するとよりクリックされやすいか**
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/000c46bd-4c0d-bc07-6443-fa79d92b71e1.png" width=80%>
**A、人気ワードを、そのまま表示させるUI**
**B、人気ワードを、ランキング形式で表示させるUI**
**または、既存のUIのまま（何もなし）**

という比較で、どっちがより使ってもらえるのか？というテストを日々DLsiteに遊びに来ていただいているユーザー様に判断してもらうため

Aが表示されるグループと、Bが表示されるグループとで一定期間使われ具合を計測させてもらおうという施策を行いました。

例えば、ユーザー100人が訪問した場合、`内50人は「A」、50人は「B」`のように振り分けて表示させます。
今回はオリジナルの表示なしも含めたい為、`「A」33人、「B」33人、「C」33人`という3パターンの比較としました。

ユーザーを振り分ける為には、テストツールである『**Google Optimize（グーグル オプティマイズ）**』を使って実装する方法を解説します。
　
　

# 🌐  Googleオプティマイズ
<a href="https://optimize.google.com/"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/c35bf54d-76e6-0038-973a-4bb70b89c3fa.png" width="40%;" />
https://optimize.google.com/

Google Optimizeは、Google謹製のウェブサイト最適化ツールで、難しい開発を要することなく簡単なステップでABテストをはじめ様々なテストや比較を行うことができるすごいヤツ。
GoogleAnalyticsと連携する事でABテスト実施後の比較について細かい設定が出来ます。
なんと無料でも使える！

テストにはABテスト、多変量テスト、リダイレクトテストなどがあり、今回は`ABテスト`について扱います。
ここからは簡単にOptimizeはどんな感じなのかを紹介です。
　
　

## 📄 ABテストの開始

![オプティマイズTOP.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/c968bfbb-a363-af7e-3bd3-90825377836c.png)
https://optimize.google.com/

Googleログインしてアクセスすると早速『A/Bテスト』の項目があります。
名前にテスト名、URLに実施したいサイトURLを設定して作成します。

![スクリーンショット 2021-05-11 18.39.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/e1944aac-4de1-8f2d-1f4d-3b4cfd1254e1.png)

開始までに計測する設定が必要になります。
１、パターンの作成（A, B, Cなど）
２、ターゲット設定ルールの追加（テストされる場所のURL）
３、アナリティクスとのリンク（クリック数などの計測の為）
４、目標（クリック数で最適を判定するか、収益、セッション時間など）
　
　

### １、パターンを作成する
![スクリーンショット 2021-05-11 18.53.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/ae74949c-e30b-2976-3cec-e378ed1e8b6d.png)
今回は3パターンの比較を行いたいため、Aをオリジナルとして、新UI「B」と新UI「C」を33%つづで出し分けることとします。
ABテストと呼ばれていますが、A, Bの2つだけではなくいくつもの比較が可能です。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/84ef8b56-ca4f-45e3-a4c9-cbafab3330dd.png" width=100%>

パターンはブラウザのGUI上で作成することができます。

出し分け方法は様々ですが、画像はdata属性をbodyに付与しCSSでUIを切り替えている一例です。
CSSだけでなくJSでも可能ですし、jQueryのライブラリが読み込まれているページであればjQueryなども使用可能、それらの知識がなくとも画面でイジイジするだけでも設定が可能だったりします。凄い！

使用しているデータは同じなのでフロント部分の各パターンの実装を共存させる形です。
デフォルトでは表示なし、または１パターンのみ表示にしないと全部が表示されてしまうミスは注意が必要です。


パターンごとのUIは既にサイトに実装されており、後は33%の確率でパターンBとCのUIに切り替わるJavaScriptをOptimizeが実行してくれます。
　
　

### ２、ターゲット設定ルールの追加
![スクリーンショット 2021-05-19 11.10.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/c269cc90-afeb-dfaf-e12b-1eb475654097.png)
・**ページ ターゲティング**
ABテストが実施されるページのURLです。
画像は分かりやすく一つのURLを書いていますが、正規表現での指定も多く使われます。

・**オーディエンス ターゲティング**
さらに条件が絞り込めます。
スマホ、ユーザーの地域、ログイン中、Cookieから過去にログインした事があるかなど
ちなみに今回はスマホを対象とします。
　
　

### ３、アナリティクスへリンクする

サイトにGoogleアナリティクスを導入しておく必要があります。
アナリティクスへリンクさせる為には、無料の[**Googleタグマネージャー**](https://tagmanager.google.com)を利用するのがおすすめです。
簡単に説明すると、初回に導入する事でHTMLの編集なく様々なタグの管理が可能になるツールです。

リンクについては、簡単な流れのみ下の折りたたみにまとめます。

<details>
<summary>アナリティクスへリンクについて</summary>
<div>

・Googleタグマネージャー
https://tagmanager.google.com

アカウントを作成を記入して進むと、`Googleタグマネージャーをインストール`画面が表示されるので、手順通りにGTMスクリプトを埋め込みます。
タグからGoogle Optimizeを選択して設定します。
![Googleタグマネージャー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/d0da9d28-8a72-f558-6f73-3a42f452c4e7.png)
トラッキングIDについては、Analyticsのホーム画面から「管理」
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/10fd770a-30de-cede-ab7c-dd3f84433b4c.png" width=30%>
「+プロパティの作成」から「詳細オプションを表示」し「ユニバーサル アナリティクス プロパティの作成
」をすると、UA-○○○から始まるIDが作成されました。（仕様が変わっており少し探す事となった）
![スクリーンショット 2021-05-19 3.42.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/87e748bb-d636-7b37-adeb-53613faa99fb.png)
あとは、Google Optimize側からリンクが可能になるかと思います。

リンクについては、記事にするにあたって弊DLsiteは既に設定がされておりますので私個人で試した方法でまとめています。

</div>
</details>
　

### ４、目標の設定

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/03b32ba7-c0b4-ee49-0edd-3ce99b642476.png" width=100%>
主にA, B, Cで出し分けたとして、何を基準に最適とするかの目標になります。
クリック数、〇〇にたどり着くか、滞在時間などの複数の設定が可能です。
　
　

### ５、テストの開始

GoolgeOptimizeとしては2週間以上の期間設定を推奨しておりましたので、それにならって開始させます。
　
　


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/face3b05-3631-8dc4-3c39-5409578de433.png" width=55%>

# 📊 ABテストの結果

![hkj.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/7b8155d1-f7c0-afd1-6bc9-3782e8eae04f.png)

詳細なデータは伏せておりますが、オプティマイズ分析の結果、98%の確率で 『**Cパターンのランキング形式が最適である**』 という結果を得られました！
　

注意点としては、今回行なったAパターンのオリジナルで「人気ワード一覧項目が表示なし」だった場合、Aパターンで人気ワード項目のクリック数が無いので比較しても実質`B vs C`となってしまいます。

これだと正確な結果が得られないため、Aパターン自体をなくしたり、展開される要素全てでのクリック数を取ったり、セッション時間で比較したり、より平等な計測になる設定が重要となります。

複数の目標が設定可能なので、色々試すのも新しい発見があるかもしれませんね！
　
　

# 💬 まとめ

結果が出た後は、最適と導き出された「Cパターン」を本番に実装導入する形になります。
そして現在DLsiteでは実際にCのパターンが導入されております。

UI/UXは、こんな事で？！といった変更でクリック数が倍増したり、とても奥が深いです。
まずABテストで何かやってみようという場合、会員登録ボタンのデザインや文言を変えてみるなど、小さな物から始めてみるといいかと思います。
　

こういったABテストは、NetflixやAmazonなど有名なサイトでも日々行われているみたいです。
新規登録の画面が人によって違っていたり、文言が変わっていたりしていたらABテスト中かもしれませんね。

終わり。
ABテストが、どんな物なんだろうと雰囲気でも参考になっていただければ幸いです！
　
　

## リンク
記事のいいね！やコメントなど貰えたらとても励みになります。

<a href="https://hrmos.co/pages/vivion/jobs?"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/307359/452a6198-5ce1-0f65-a81d-93a58e6bd07f.png" width="300px"/></a>