Googleオプティマイズで多数のページをリダイレクトテストする

「リダイレクトテスト」機能では不可能。どうする?

Takashi Iwamoto
VELTRA Engineering
7 min readMar 16, 2020

--

2020年5月に「高度なリダイレクト」機能が追加され、多数のページのA/Bテストがリダイレクトテスト機能でできるようになりました。本記事のタイトルおよび本文は、2020年3月時点の情報であり、古くなっています。ご注意ください。

ベルトラのイワモトです。「人生は選択の連続である」と誰かが言ったそうですが、確かに、A定食にすべきかB定食にすべきかなど、難しい選択を迫られる場面はよくあります。

さて、Googleオプティマイズは、ウェブサイトのA/Bテストが簡単にできる便利なツールです。「リダイレクトテスト」機能を使うと、新デザインページへのリダイレクトによるA/Bテストが実現できます。

しかし、2020年3月現在のリダイレクトテスト機能では、リダイレクト先が静的URLでしか指定できず、1ページしかテストできません。たとえば「商品0001の新ページ」はテストできますが「商品0001~商品9999の新ページ」はテストできないのです(※)。

※リダイレクトを /products/0001 → /products2/0001 のようには指定できるのですが、/products/{product_id} → /products2/{product_id} のようには指定できないためです。

それでも、Googleオプティマイズで多数のページをリダイレクトテストする方法があります。以下、詳しくご紹介します。

1. エクスペリエンスの作成

まず、エクスペリエンスを作成します。Googleオプティマイズでは、各種テストやパーソナライゼーションを総称して「エクスペリエンス」と呼んでいます。

作成する際は、下記の2点に気をつけます。

  1. 「エディタページ」には新デザインページのURLを指定します。ビジュアルエディタの操作対象として使われるだけなので、どの商品でも構いません。現行デザインのURLにすると、ビジュアルエディタ上でリダイレクトが効いてしまい、操作しづらくなります。
  2. 「テストのタイプ」は「A/Bテスト」を選択します。「リダイレクトテスト」を選択しないのがポイントです。

2. パターンの追加

次に、パターンを追加します。現行デザインは「オリジナル」パターンとしてデフォルトで登録されているので、新デザイン用のパターンだけを追加すればOKです。実際には、パターン名を決めるだけです。

3. パターンの編集

続いて、手順2で追加したパターンを編集します。ここでビジュアルエディタが使われます。

3–1. 要素の選択

ビジュアルエディタが開いたら、head要素を選択します。

3–2. 要素の編集

「要素を編集」ボタンを押し、「JavaScriptを実行」を選択します。

コード入力欄が開いたら、リダイレクト用のコードを入力します。

適切なコードの内容はサイトやページによって異なります。ここでは下記のようにします。

if (location.href.includes('/a/')) {
// Hide body
var css = 'body {display:none}';
var style = document.createElement('style');
style.appendChild(document.createTextNode(css));
element.appendChild(style);
// Redirect
location.href = location.href.replace('/a/', '/a2/');
}
  • URLに「/a/」が含まれる場合だけリダイレクトする
  • 現行デザインがちらっと表示されるのを避けるため、bodyを非表示にする
  • リダイレクト先は、現行デザインページの「/a/」を「/a2/」に変えたもの

プルダウンは「開始タグの後」を選択するのがよいと思います。「終了タグの後」より若干早く処理されるためです。

3–3. 編集内容の保存

「適用」ボタン、「保存」ボタン、「完了」ボタンを順に押し、編集内容を保存します。これでビジュアルエディタが終了します。

4. ターゲティングURLの編集

次に、ターゲティングURLを編集します。現段階では、手順1で選んだ新デザインページが仮設定されています。

これを、正しいターゲットである「リダイレクトテストを実施したい現行ページすべて」に変更しなければなりません。

変更するには、鉛筆アイコンを押して編集画面を開き、下記のように編集します。

  1. 「URL」「次の正規表現に一致」を選ぶ
  2. 現行ページにマッチする正規表現を入力する

編集したら「ルールの確認」欄で、現行ページのURLが正しくマッチするかどうか確認します。問題なければ保存しましょう。

保存すると「 エディタページが URL ターゲティング ルールと一致しません。」と警告されます。が、気にしなくて大丈夫です。

5. その他の設定

あとは必要に応じて、新デザインの表示確率、ターゲティングユーザー、テスト目標などの項目を設定します。このあたりはGoogleオプティマイズの通常の使い方なので省略します。

6. テストの開始

設定が完了したら「開始」ボタンを押します。いよいよテスト開始です。

現行ページのURLにアクセスすると、手順5で指定した確率で、新デザインページにリダイレクトされます。されなかった場合は、Cookieを削除し、再度アクセスしてみてください。

Cookieを削除するのが面倒なら、ブラウザのシークレットウィンドウでアクセスするのが簡単です。ウィンドウを閉じるとCookieが自動的に削除されます。

おわりに

今回は、Googleオプティマイズの「A/Bテスト」機能を使って多数のページをリダイレクトテストする方法をご紹介しました。将来的に「リダイレクトテスト」機能で可能になることを期待しますが、それまでは今回の方法で実施するのがよいと思います。

なお、この方法は下記ページの内容と原理的には同じです。下記ページでは、ビジュアルエディタに指定するJavaScriptコードが「フラグ変数を設定するだけ」になっています。フラグが立っていたらページ側のスクリプトでリダイレクトする寸法です。この辺は好みの問題でしょう。

Happy A/B testing!

--

--

Takashi Iwamoto
VELTRA Engineering

ENECHANGE株式会社VPoT兼CTO室マネージャー。AWS Community Builder (Cloud Operations)。前職はAWS Japan技術サポート。社内外を問わず開発者体験の向上に取り組んでいます。