カスタム 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

The OR operator is supported within individual conditions but you can't use it to combine multiple conditions. For example, you can build a condition like this: "path equals /store OR /shop" but you can't use OR across multiple conditions like this: "path equals /store OR host equals example.com"

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