コードモードでリダイレクトテストを行う方法について

本記事では、コードモードでリダイレクトテストを実装する方法をご紹介します。

Note:
現在は、ノーコードでリダイレクトテストを設定できますので、原則そちらの利用を推奨します。ご利用には、2021年12月に公開したPtengine Experience 2.0以降のバージョンのご利用が必要ですので、バージョンアップ前のお客様は別途お問い合わせください。

前提 #

コードを用いた設定をする際は、以下 3 点を必ずご確認ください。

・リダイレクトの際のチラつき軽減のため、基本タグを必ずサイトソースの<head>内に直貼りしてください。
・ユーザーの流入時に付与されていたパラメータはリダイレクト先にも引き継ぐことができます。詳しくはこちらをご確認ください。
・リダイレクト先のURLが、 体験設定の「ページ条件」の配信範囲から除外されるように設定してください。配信範囲に含まれてしまうと、リダイレクトが繰り返され無限ループしてしまいます。

設定方法 #

  • 1リダイレクトさせるページで「ページ編集」の体験を作成します。
    こちらの画面にリダイレクト元のURLをご入力ください。
  • 2リダイレクトさせるテストパターンを作成します。
    編集画面右上の「コードモード」をクリックしJavascriptを選択した上で、以下のJavascriptを記入します。後半部分のURLをリダイレクトテストで利用するリダイレクト先URLへ差し替えます。

    以下はhttps://help.ptengine.jp/へリダイレクトさせる例です。

  • location.href.indexOf('ptengine_engage_editor_token') === -1 && (location.href = "https://help.ptengine.jp/");

  • 3テストパターンをプレビューします。
    編集画面を完了し、その他の設定も完了させ必ずプレビューよりキャンペーンが正常に稼働しているかをご確認ください。
  • Note:ネット環境などの原因により、リダイレクト前のページで基本タグの発火が間に合わず、そのままリダイレクト先へ遷移するケースがあり最終的なテストパターンの表示回数に影響が出る場合があります。対策としては、コードモード内にリダイレクトページ表示を遅らせる指令を追加することで一定の改善が見込めます。以下のコード例は50ms(ミリ秒=1/1000秒)の表示を遅らせる指令を行っている例です。お客様の状況に応じて調整することが可能です。

     setTimeout(function() {
          if (location.href.indexOf('ptengine_engage_editor_token') === -1) {
              location.href = "https://help.ptengine.jp/"
          }
        }, 50);
  • 4オリジナルパターン(リダイレクト元のページ)を体験に追加します。
    テストパターン追加完了後、「完了」ボタンでエディターを閉じたら、体験の条件設定画面でA/BテストをONにし、「オリジナルと比較テスト」ボタンからリダイレクト元のページ(コントロールグループ)を追加してください。
  • またコントロールグループを追加した後、デバイスを指定したい場合は、以下画像のように「訪問時条件」>>「端末の種類」でデバイスを指定してください。

  • 5ページ条件を指定します。
    まず、ページ条件でリダイレクトテストを配信したいページを指定してください。ページ条件を指定しないと、基本タグが設置されている全ページでリダイレクトが発生します。
    次に、リダイレクト先のURLを配信範囲から除外します。
  • 6キャンペーンを公開します。
    キャンペーン内容が問題ないと確認した上、ページ条件やその他条件などを設定した上公開してください。これで設定完了です。

パラメーターを引き継ぐ場合 #

ユーザーの流入時に付与されていたパラメータはリダイレクト先にも引き継ぐことも可能です。対応方法は基本上記とわかりませんが、タグだけを以下へ差し替えてください。またURLのところも忘れずに実際のURLへ変更してください。

 setTimeout(function() {
      if (location.href.indexOf('ptengine_engage_editor_token') === -1) {
          location.href = ("URL"+location.search)
      }
    }, 50);

この記事についてどう思いますか?

  • いいですね!
  • よくないです

評価いただきありがとうございました

  申しわけありません!理由を教えてください。

    サポートチームに直接問合せたい場合、こちらをクリックしてチャットしましょう