カスタム JavaScript によるターゲティング

カスタム JavaScript が返す値に基づいてページをターゲットに設定します。

カスタム JavaScript によるターゲティングを使用すると、ページに JavaScript を挿入し、その JavaScript が返す値に基づいてテストのターゲット設定を行えるようになります。

この記事の内容:

カスタム JavaScript によるターゲティングの使用方法

URL やデータレイヤー、JavaScript 変数、または他のターゲティングから取得できないウェブページの情報に基づいてターゲティング条件を設定する場合は、カスタム JavaScript を使用します。カスタム JavaScript は、「return」文を使用して値を返す JavaScript の単一関数である必要があります。この JavaScript が返す値に基づいてユーザーをターゲットに設定できます。

: ユーザー定義 JavaScript はすべて、該当するページの <HEAD> 内にあるオプティマイズ 360 のコンテナ スニペットよりも前で宣言する必要があります。オプティマイズ 360 のスニペットの後で宣言された JavaScript は、ページの読み込みの際にターゲットとして利用できません。詳しくは、オプティマイズ 360 スニペットの配置をご確認ください。

例: 午前中にサイトを閲覧したユーザーをターゲットに設定

午前中にサイトを訪問するユーザーをテストのターゲットに設定するとします。そのためには、まず現在の時刻(使用可能な値: 0~23)を返す JavaScript の関数を記述します。続いて、12 未満の戻り値を探すターゲティング条件を作成します。

ステップ 1: カスタム変数を作成する

  1. テストを作成または編集します。
  2. [ターゲティング] タブをクリックします。
  3. [AND] をクリックして、新しいターゲティング ルールを追加します。
  4. [カスタム JavaScript] をクリックします。
  5. [変数]、[新規作成...] の順にクリックします。
    1. 必要に応じて、既存の変数をクリックして編集します。
  6. オープン テキスト欄にカスタム JavaScript を入力します(以下のサンプルを参照)。
  7. 変数に名前を付けます(例: Browser time)。
  8. [変数を作成] をクリックします。

ブラウザのクロックが設定されている時間を返す JavaScript のサンプルを以下に示します。

    function() {
    return (new Date()).getHours();
    }

Optimize custom JavaScript targeting - configuration.

ステップ 2: カスタム変数を使用した条件を設定する

カスタム変数を作成すると、それがオプティマイズの新しいターゲティング条件に追加されます。マッチタイプや値を追加して、条件を完成させます。この例では、11 以下の戻り値を探すターゲティング条件を設定し、[保存] をクリックします。

変数 マッチタイプ
Browser time 次の値未満 12

Optimize custom JavaScript targeting - Browser time, less than, 12.

次のような場合に、この条件は true と評価されます。

  • 変数 Browser time の値が 12 未満。

次のような場合に、この条件は false と評価されます。

  • 変数 Browser time の値が 12 以上。

: JavaScript コードに副作用がある場合は注意してください。ページに現在保存されている DOM や変数のいずれも、コードにより変更または更新されないようにする必要があります。また、アプリのロジックがこのコードの実行に依存していないことも確認してください。

マッチタイプ

JavaScript 変数によるターゲティングでは、次のマッチタイプを利用できます。

次と等しい / 次と等しくない

変数のすべての文字(先頭から最後まで)が入力値と完全に一致している場合、指定した条件が true と評価されます。条件に [次と等しくない] を指定すると、クエリ パラメータと入力値が「等しくない」場合に true と評価されます。

例:

変数 マッチタイプ
Logged in cookie 次と等しい true

変数の値が true のときに、true と評価されます。

 

変数 マッチタイプ
Logged in cookie 次と等しくない true

変数の値が false のときに、true と評価されます。

次を含む / 次を含まない

マッチタイプ [次を含む] は「部分一致」とも呼ばれ、長い文字列に含まれる部分文字列をターゲットに設定できます。

例:

変数 マッチタイプ
page 次を含む 4

次のような場合に true と評価されます。

  • http://www.example.com/member.cgi?id=9&page=4
変数 マッチタイプ
page 次を含まない page=4

次のような場合に true と評価されます。

  • http://www.example.com/member.cgi?id=9&page=2

次で始まる / 次で始まらない

マッチタイプ [次で始まる] では、指定した文字列がその最後の文字まで含めて、クエリ文字列の先頭と完全に一致する場合に true と評価されます。

例:

変数 マッチタイプ
page 次で始まる 4

次のような場合に true と評価されます。

  • http://www.example.com/member.cgi?id=9&page=4
変数 マッチタイプ
page 次で始まらない 4

次のような場合に true と評価されます。

  • http://www.example.com/member.cgi?id=9&page=2

 

次で終わる / 次で終わらない

URL の末尾が入力値と完全に一致する場合に true と評価されます。たとえば、URL の末尾が /thankyou.html となるショッピング カートのページをターゲットとする場合に使用します。

例:

変数 マッチタイプ
page 次で終わる 4

次のような場合に true と評価されます。

  • http://www.example.com/member.cgi?id=9&page=24
変数 マッチタイプ
page 次で終わらない 4

次のような場合に true と評価されます。

  • http://www.example.com/member.cgi?id=9&page=42

次の正規表現に一致 / 次の正規表現に一致しない

正規表現では特殊文字を使用して、ワイルドカードや柔軟なマッチングに対応できます。正規表現による照合は、同じウェブページでも URL のステムや末尾のパラメータが変化する場合に便利です。多数のサブドメインからユーザーが訪問してくるサイトで、URL にセッション ID が含まれる場合は、正規表現で URL の不変部分を指定できます。

例:

変数 マッチタイプ
page 次の正規表現に一致 checkout.cgi\?page=1

次のような場合に true と評価されます。

  • http://sports.example.com/checkout.cgi?page=1&id=123
  • http://fishing.example.com/checkout.cgi?page=1&lang=en&id=123
変数 マッチタイプ
page 次の正規表現に一致しない checkout.cgi\?page=1

次のような場合に true と評価されます。

  • http://sports.example.com/checkout.cgi?page=2&id=123

演算子

AND

AND 演算子は複数のルールの適合状況により、ターゲットに設定するかどうかを判断する場合に使用します。AND 演算子を使用した条件は、すべての値が満たされた場合にのみ true と評価されます。

例:

タブレットで「nexus」と検索したユーザーをターゲットに設定するには、2 つのルールを作成し AND 演算子で結合します。

クエリ パラメータによるターゲティング ルール:

変数 マッチタイプ
search query 次と等しい nexus

ユーザーの環境によるターゲティング ルール:

変数 マッチタイプ
Device Category 次と等しい tablet

OR

OR 演算子は URL 構成が複数あるようなページのターゲット設定に便利です。OR 演算子を使用した条件は、設定した値のいずれかが満たされた場合に true と評価されます。OR 演算子で結合すると、URL によるターゲティング ルールに別の値を追加できます。URL ターゲティングの場合、URL を入力して Enter キーを押すと、その URL に OR 演算子が自動的に追加されます。URL を入力して Enter キーを押すだけで、引き続き OR 演算子で結合された条件を設定できます。

例:

ウェブサイトで行われた「nexus」または「chromecast」の検索をターゲットにするには、[値] 欄で 2 つのサイト内検索を指定してルールを作成します。前述のように Enter キーを押すと、OR 演算子が自動的に追加されます。

変数 マッチタイプ
search query 次と等しい nexus または chromecast

個々の条件内で OR 演算子を使用することは可能ですが、OR 演算子を使用して、複数の条件を組み合わせることはできません。たとえば、「パス 次と等しい /store OR /shop」という条件を作成することは可能ですが、「パス 次と等しい /store OR ホスト 次と等しい example.com」のように、複数の条件を OR でつなぐことはできません。

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。