こんな方向け
- 検証期間を同じにして、A/Bテストを行いたい
- 対象となるGoogleアナリティクスのビューでUser ID を有効にしているため、Google オプティマイズが使えない
やれること
- ボタンのA/Bテスト
- ファーストビューのA/Bテスト
など
前提条件
- Googleアナリティクスが導入済みであること
- GTMが導入済みであること
やりかた
手順は4つです。
- A/Bテストしたい部分のHTMLを、テストパターンの個数ぶん書く
- ランダムで出しわける部分、HTMLを書き替える部分をjQueryで書く
- 書いたjQueryをGTMに登録する
- GTMでGoogleアナリティクスにイベントを送信する
ここでは、ボタンのA/Bテストを想定して、例を紹介します
以降は、下記ボタンがページにある想定で説明を進めます。
<div id="abcd-button">
<a target="_blank" href="ページURL">
<img src="ボタン画像パス.png">
</a>
</div>
1.A/Bテストしたい部分のHTMLを、テストパターン数分だけ書く
下記2つを書き分けたHTMLを用意してください
- idの値
- ボタン画像
テストパターンAのHTML
<div>
<a target="_blank" href="ページURL" id="abcd-button-abtest-a" class="abcd-button-abtest">
<img src="Aパターンのボタン画像パス.png">
</a>
</div>
テストパターンBのHTML
<div>
<a target="_blank" href="ページURL" id="abcd-button-abtest-b" class="abcd-button-abtest">
<img src="Bパターンのボタン画像パス.png">
</a>
</div>
2.ランダムで出しわける部分、HTMLを書き替える部分をjQueryで書く
<script>
$(function() {
//手順1で作成したテストパターンのHTMLを変数に代入します
var htmlA = '';
var htmlB = '';
//テストパターンのHTMLを代入した変数を配列にします
var testList = [htmlA,htmlB]
//テストパターンの中からランダムで1つ選びます
var quantity = testList.length;
while (quantity) {
var j = Math.floor( Math.random() * quantity );
var t = testList[--quantity];
testList[quantity] = testList[j];
testList[j] = t;
}
//spliceの値は右の値をパターン数から1個引いた値を入れてください
//今回は2パターンのテストなので、2-1=1となり、1になります
testList.splice(1,1);
var abtest = testList.join('');
//オリジナルのボタンのID名を値に入れます
var $content = $('#abcd-button');
//ランダムで1つ選んだものを、オリジナルと差し替えます
$content.replaceWith(abtest);
});
</script>
##3.書いたjQueryをGTMに登録する
下記手順で、GTMに新規タグを登録します。
- タグ新規作成
- タグタイプで「カスタムHTML」を選択
- HTMLの入力欄に、手順2で作成したスクリプトを貼り付ける
- トリガーを新規作成
- トリガータイプで「ページビュー」を選択
- トリガーの発生場所で「一部のページビュー」を選択
- 「Page URL」「等しい」を選択し、値はボタンがあるページのURLを入力
- トリガーを保存する
- タグを保存する
##4.GTMでGoogleアナリティクスにイベントを送信する
下記手順で、GTMに新規タグを登録します。
テストの個数分タグを作成します。
- タグ新規作成
- タグタイプで「Google アナリティクス: ユニバーサル アナリティクス」を選択
- トラッキング タイプで「イベント」を選択
- カテゴリ、アクションを任意で入力
- ラベルに「abcd-button-abtest-a」と入力
- 詳細設定>タグの順位付け>●●が発効する前にタグを配信にチェックを入れる
- 手順3で作成したタグを選択
- トリガーを新規作成
- トリガータイプでクリック>「リンクのみ」を選択(「すべての要素」でも良い)
- 「Click ID」「等しい」を選択し、値は手順1でリンク要素に記述したクラス名を入力(例ではabcd-button-abtest-a)
- トリガーを保存する
- タグを保存する
以上で設定終了です。
Googleアナリティクス>行動>イベント からクリック数を見て、A/Bどちらが良かったか、比較することができます。