フォローする

特定のIPアドレスからのアクセスをテスト実行対象から除外する

 

概要

このページでは、社内からのアクセスなど、実施しているABテストから、特定のIPアドレスからのアクセスを対象外にしたい時に有効な設定について記載します。

なお、この設定には「エクスペリエンススクリプト」を利用します。

※ある程度、JavaScriptにご理解のある方による閲覧・実装を推奨しております。

 

エクスペリエンススクリプトとは

「エクスペリエンス > 詳細設定」の最下部にある、JavaScriptを記述できる項目です。

exp_script.png

 

エクスペリエンススクリプト利用上の注意

  • エクスペリエンススクリプトに記述したJavaScriptは、エクスペリエンスが実行されるページにて、Kaizen対象外ユーザー・オリジナル案・デザイン案全てに実行されます
    思わぬ不具合に繋がる可能性がありますので、十分に動作確認をしてから記述をしてください。
    なお、ご利用は自己責任にてお願いいたします。
  • エクスペリエンススクリプトは使用方法を誤ると、デザインが反映されない・計測ができない等の問題が発生する可能性があります。
    JavaScriptコードステータスを活用する を参考に、エクスペリエンススクリプトを設定した後に計測ができているか、必ず確認してください。
  • ここではサンプルコードを公開していますが、より複雑なコードの提供や、お客様のページに合わせたコードの提供は、サポート対象外となっております。ご了承ください。
  • エクスペリエンススクリプトは、テスト対象が「ページ修正(スプリットURL)」 の場合、動作しません。

 

設定方法

1. エクスペリエンススクリプトを開く

「エクスペリエンスの設定 > 詳細設定」を開き、エクスペリエンススクリプトを表示します。

 

2. コードを記述する

エクスペリエンススクリプトに以下のコードをコピー&ペーストします。
IPアドレスはご自身で書き換えてください。

return new Promise(function(resolve, reject) {
  var rejectIps = /^192\./; //ここに除外したいIPアドレスを正規表現で記述する
  var judge = function(ip) {
    if (ip.match(rejectIps)) {
      reject();
    } else {
      resolve();
    }
  };
  var ip = kzs.cookies.get('ip');
  if (ip) {
    judge(ip);
  } else {
    kzs.utils.xjson.get('https://ip.kaizenplatform.net/me/ip', { callback: 'kzs_cb', timeout: 1000, credentials: false })
    .then(function(res) {
      kzs.cookies.set('ip', res.ip, { expire: 3600 });
      judge(res.ip);
    })
    .catch(function(err) {
      reject();    // IPアドレス取得失敗時は除外する (IPアドレス取得失敗時に除外しない場合は resolve() にする)
    })
  }
});

 

3. エクスペリエンスを保存する

「文法をチェックする」ボタンを押して、 『正しいJavaScriptの文法です』 と表示されたら、右上の「保存する」からエクスペリエンスの設定を保存してください。

 

※ IPアドレス判定のため、数十msほどデザイン反映に遅延が発生します。 IPアドレスはcookieに1時間保持されますので、アクセスから1時間以内であれば遅延は発生しません。 

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

0 コメント

記事コメントは受け付けていません。