プロファイル属性

Adobe Targetのプロファイル属性は、訪問者に固有のパラメーターです。 プロファイル属性は訪問者のプロファイルに保存され、アクティビティで使用可能な訪問者に関する情報を提供します。

ユーザープロファイルには、Webページ訪問者の人口統計情報と行動情報が含まれます。 この情報には、年齢、性別、購入商品、最終訪問時などが含まれ、Targetは、を使用して訪問者に提供するコンテンツをパーソナライズします。

訪問者がWebサイトを閲覧したり、別のセッションに戻ったりする際に、プロファイルに保存されたプロファイル属性を使用して、コンテンツをターゲット設定したり、セグメントフィルタリングの情報を記録したりできます。

プロファイル属性を設定するには:

  1. Audiences / Profile Scripts.​をクリックします。

    「プロファイルスクリプト」タブ

  2. スクリプトを作成」をクリックします。

    プロファイルスクリプトを作成ダイアログボックス

    以下のタイプのプロファイル属性を利用できます。

    パラメータータイプ 説明
    mbox mbox を作成するときに、ページコードを介して直接渡されます。詳しくは、グローバルmboxへのパラメーターの引き渡し を参照してください。
    ​注意: には、mbox 呼び出しごとに 50 個の独自のプロファイル属性という制限があります。Target50個を超えるプロファイル属性をTargetに渡す必要がある場合は、 Profile Update APIメソッドを使用して渡します。 詳しくは、 Adobe Target APIドキュメント🔗のプロファイルの更新を参照してください。
    プロファイル JavaScript コードスニペットにより直接定義されます。これらのスニペットは、現在の合計(消費者が支払った合計金額など)を保存でき、mboxリクエストごとに実行されます。 後述のプロファイルスクリプト属性を参照してください。

プロファイルスクリプト属性

関連する JavaScript コードスニペットを使用して、プロファイルスクリプト属性を定義します。

プロファイルスクリプトを使用して、複数の訪問にわたり、訪問者の属性を取得できます。プロファイルスクリプトは、サーバー側JavaScriptの形式を使用してTarget内で定義されるコードスニペットです。 例えば、プロファイルスクリプトを使用して、訪問者がサイトを訪問する頻度と、その訪問者が最後に訪問した日時を取り込むことができます。

プロファイルスクリプトは、プロファイルパラメーターとは異なります。プロファイルパラメーターは、Targetのmboxコード実装を使用して、訪問者に関する情報を取得します。

プロファイルスクリプトの作成

プロファイルスクリプトは、インターフェイスの「オーディエンスTarget」タブで使用できます。

プロファイルスクリプトを追加するには、「プロファイルスクリプト」タブをクリックし、「スクリプトを作成」をクリックして、スクリプトを作成します。

または

既存のプロファイルスクリプトをコピーするには、「プロファイルスクリプト」リストから目的のスクリプトの省略記号アイコンをクリックし、「複製」をクリックします。

これにより、そのオーディエンスを編集して類似のオーディエンスを作成することができます。

プロファイルスクリプトは、各場所リクエストでプロファイル属性「catchers」を実行します。場所のリクエストを受け取ると、Targetは実行するアクティビティを決定し、そのアクティビティとそのエクスペリエンスに適したコンテンツを表示します。 Target また、アクティビティの成功を追跡し、関連するプロファイルスクリプトを実行します。このプロセスを使用すると、訪問者の場所、時刻、訪問者がサイトを訪問した回数、購入したことがあるかどうかなど、訪問に関する情報を追跡できます。 この情報は次に、訪問者のプロファイルに追加され、サイトでの訪問者のアクティビティをより詳細に追跡できます。

プロファイルスクリプト属性では、属性名の前に user. タグが挿入されます。次に例を示します。

if (mbox.name == 'Track_Interest') { 
    if (profile.get('model') == "A5" &&; profile.get('subcat') == "KS6") { 
        return (user.get('A5KS6') || 0) + 1; 
    } 
}

次の情報に留意してください。

  • コード内でuser.get('parameterName')を使用して、プロファイルスクリプト属性を参照します(定義中のパラメーター自体も含む)。
  • user.setLocal('variable_name', 'value')を使用して、スクリプトを次回実行する際に(次のmboxリクエストで)アクセスできる変数を保存します。 変数を参照 user.getLocal('variable_name') します。このプロセスは、最後のリクエストの日時を参照する場合に役立ちます。
  • パラメーターと値の大文字と小文字は区別されます。 アクティビティまたはテスト中に受け取るパラメーターおよび値の大文字と小文字を一致させます。
  • その他の JavaScript 構文については、後述の「スクリプトプロファイルパラメーターに関する JavaScript リファレンス」を参照してください。
  • スクリプトを無効にした後、パラメーターはプロファイルに残ります。 プロファイルに、アクティビティのオーディエンスで使用されるパラメーターが既に含まれているユーザーは、そのアクティビティの対象になります。
  • プロファイルスクリプトは、アクティビティで使用中は削除できません。
  • あるプロファイルスクリプトの結果を別のプロファイルスクリプトで使用する依存プロファイルスクリプトの作成はお勧めしません。 プロファイルスクリプトの実行順序は保証されません。

プロファイルスクリプト情報カードの表示

オファー情報カードに似たプロファイルスクリプト情報ポップアップカードを表示できます。これらのプロファイルスクリプト情報カードでは、選択したプロファイルスクリプトを参照しているアクティビティのリストやその他の有用なメタデータが表示されます。

例えば、次のプロファイルスクリプト情報カードには、リスト(Audiences/Profile Scripts)から目的のプロファイルスクリプトのInfoアイコンをクリックしてアクセスします。

「スクリプト情報」タブには、次の情報が表示されます。名前、説明、スクリプトコード。

プロファイルスクリプト情報カード

詳細を表示」をクリックして、選択したプロファイルスクリプトを参照するオーディエンスとアクティビティを表示します。

プロファイルスクリプト情報カード/「スクリプトの使用状況」タブ

メモ

次の状況では、「スクリプトの使用」タブに、選択したプロファイルスクリプトを参照するアクティビティは表示されません。

  • アクティビティの状態がドラフトです。
  • アクティビティで使用されるコンテンツまたはオファーが、スクリプト変数(アクティビティ内のインラインオファーまたはオファーライブラリ内のオファー)を使用する場合。

特定の状況での Target によるプロファイルスクリプトの無効化

Target 実行に時間がかかりすぎる場合や多くの命令がある場合など、特定の状況で、プロファイルスクリプトを自動的に無効にします。

プロファイルスクリプトが無効化されると、次に示すように、Target UI のプロファイルスクリプトの横に黄色の警告アイコンが表示されます。

マウスポインターを重ねると、次のように、エラーの詳細が表示されます。

システムがプロファイルスクリプトを無効にする一般的な理由は次のとおりです。

  • 未定義の変数が参照されている。
  • 無効な値が参照されている。このエラーは、多くの場合、適切な検証をおこなわずにURL値やその他のユーザー入力データを参照することが原因です。
  • 使用される JavaScript 命令が多すぎる。Target には、スクリプトあたり2,000個のJavaScript命令という制限がありますが、この制限は、JavaScriptを手動で読み取るだけでは計算できません。例えば、Rhino は、すべての関数呼び出しと「新規」呼び出しを 100 個の命令として処理します。任意の関数を呼び出すと、100個の命令が消費されます。 また、すべてのエントリデータのサイズ(URL 値など)は、命令数に影響を与える可能性があります。
  • 後述のベストプラクティスの節で取り上げられている項目に従っていない。

ベストプラクティス

次のガイドラインは、エラーや失敗をできるだけなくした簡潔なプロファイルスクリプトを記述するためのもので、正常に失敗するコードを記述することで、プロファイルスクリプトの処理時にシステムスクリプトの停止が起こらないようにするものです。これらのガイドラインは、効果的に実行されることが証明されたベストプラクティスによるものです。このガイドラインは、Rhino 開発者コミュニティによる原則および推奨事項に従い適用されるものです。

  • 現在のスクリプト値をユーザースクリプト内のローカル変数に設定し、フェイルオーバーを空白の文字列に設定します。

  • ローカル変数を検証します。ローカル変数値が空白の文字列でないことを確認します。

  • 正規表現ではなく、文字列ベースの操作関数を使用します。

  • 実行回数を制限しないで for ループや while ループを使用することはせず、有限回数の for ループを使用します。

  • 文字列の長さは 1,300 文字、ループ回数は 50 回を超えないようにします。

  • JavaScript 命令は 2,000 個を超えないようにします。Target には、スクリプトあたり2,000個のJavaScript命令という制限がありますが、この制限は、JavaScriptを手動で読み取るだけでは計算できません。例えば、Rhino は、すべての関数呼び出しと「新規」呼び出しを 100 個の命令として処理します。また、すべてのエントリデータのサイズ(URL 値など)は、命令数に影響を与える可能性があります。

  • スクリプトのパフォーマンスだけでなく、組み合わされたすべてのスクリプトのパフォーマンスにも注意してください。ベストプラクティスとして、Adobeでは、指示の総数を5,000未満にすることを推奨しています。 命令の数を数えることは明らかではありませんが、注意すべき重要な点は、2,000個を超える命令が自動的に無効になる点です。 アクティブなプロファイルスクリプトの数は300を超えないようにしてください。 各スクリプトは、mboxの呼び出しごとに実行されます。 必要なスクリプトだけを実行します。

  • 正規表現で、先頭にドットとアスタリスクを付けます(例:/.*match//a|.*b/)はほとんど必要ありません。 正規表現検索は、文字列のすべての位置から開始(^ でバインドされている場合を除く)されるので、ドットとアスタリスクは既に想定されています。そうした正規表現が十分な長さ(数百文字以下)の入力データに一致すると、スクリプトの実行は中断されます。

  • すべてを実行してもうまくいかない場合は、スクリプトを try ~ catch 文で囲みます。

  • 次の推奨事項を参考にして、プロファイルスクリプトの複雑さを抑えることができます。 プロファイルスクリプトで実行できる命令の数は制限されています。

    ベストプラクティスは次のとおりです。

    • プロファイルスクリプトをできるだけ小さく、簡単にします。
    • 正規表現を使用しないか、単純な正規表現のみを使用します。 単純な式でも、評価には多くの指示を要することがあります。
    • 再帰を避けます。
    • プロファイルスクリプトをTargetに追加する前に、パフォーマンステストを行う必要があります。 すべてのプロファイルスクリプトは、すべてのmboxリクエストで実行されます。 プロファイルスクリプトが正しく実行されない場合、mboxリクエストの実行に時間がかかり、トラフィックとコンバージョンに影響が及ぶ可能性があります。
    • プロファイルスクリプトが複雑すぎる場合は、代わりにレスポンストークンを使用することを検討してください。
  • 詳しくは、 JS Rhinoエンジンのドキュメントを参照してください。

プロファイルスクリプトのデバッグ

プロファイルスクリプトのデバッグには、次のメソッドを使用できます。

メモ

プロファイルスクリプトはサーバー側を実行するので、プロファイルスクリプト内でconsole.logを使用してもプロファイル値は出力されません。

  • プロファイルスクリプトをレスポンストークンとして追加し、プロファイルスクリプトをデバッグします。

    Targetで、「管理」をクリックし、「レスポンストークン」をクリックして、デバッグするプロファイルスクリプトを有効にします。

    Targetを含むサイトのページを読み込むたびに、次に示すように、 Targetからの応答の一部に、特定のプロファイルスクリプトの値が含まれます。

  • mboxTraceデバッグツールを使用して、プロファイルスクリプトをデバッグします。

    このメソッドでは、DebuggerツールセクションでTarget / 管理 / 実装 / 認証トークン​を生成をクリックして生成できる認証トークンが必要です。

    次に、ページURLの「?」の後に次の2つのパラメーターを追加します。mboxTrace=window&authorization=YOURTOKEN.

    これらのパラメーターを追加すると、実行前のスナップショットとプロファイルの後のスナップショットが取得されるので、レスポンストークンよりも少し情報が得られます。 また、使用可能なすべてのプロファイルも表示されます。

プロファイルスクリプトの FAQ

プロファイルスクリプトを使用してデータレイヤーにあるページから情報を取得できますか?

プロファイルスクリプトはサーバー側で実行されるので、プロファイルスクリプトを使用してページを直接読み取ることはできません。データを渡すには、mbox リクエストまたは他のデータを Target に送信する方法を使用する必要があります。データがTargetに入った後、プロファイルスクリプトは、データをmboxパラメーターまたはプロファイルパラメーターとして読み取ることができます。

スクリプトプロファイルパラメーターに関する JavaScript リファレンス

スクリプトプロファイルを効果的に使用するには、JavaScriptに関する簡単な知識が必要です
パラメーター。 こセクションは、この機能を使用してわずか数分で生産性を高めるためのクイックリファレンスの役割を担います。

スクリプトプロファイルパラメーターは、「mbox/プロファイル」タブの下にあります。JavaScript の種類(文字列、整数、配列など)を返す Javascript プログラムを記述できます。

スクリプトプロファイルパラメーターの例

**名前:**user. recency

var dayInMillis = 3600 * 24 * 1000;
if (mbox.name == 'orderThankyouPage') {
    user.setLocal('lastPurchaseTime', new Date().getTime());
}
var lastPurchaseTime = user.getLocal('lastPurchaseTime');
if (lastPurchaseTime) {
    return ((new Date()).getTime() - lastPurchaseTime) / dayInMillis;
}

日の変数をミリ秒単位で作成します。mbox名がorderThankyouPageの場合、現在の日時の値を表示するために、lastPurchaseTimeという名前のローカル(非表示)のユーザープロファイル属性を設定します。 前回購入時間の値が読み取られ、 Targetが定義されている場合は、前回購入時間から経過した時間を1日のミリ秒数で割って返します(前回購入からの日数になります)。

**名前:**user. frequency

var frequency = user.get('frequency') || 0;
if (mbox.name == 'orderThankyouPage') {
    return frequency + 1;
}

frequencyという変数を作成し、以前の値に初期化します。以前の値がない場合は、0に初期化します。 mbox 名が orderThankyouPage の場合、増分された値が返されます。

**名前:**user.monetaryValue

var monetaryValue = user.get('monetaryValue') || 0;
if (mbox.name == 'orderThankyouPage') {
    return monetaryValue + parseInt(mbox.param('orderTotal'));
}

monetaryValue と呼ばれる変数を作成し、特定の訪問者の現在の値を検索します(または以前の値がない場合は 0 に設定します)。mbox 名が orderThankyouPage の場合、以前の値と mbox に渡される orderTotal パラメーターの値を追加することによって、新しい金額が返されます。

名前: adobeQA

if (page.param("adobeQA"))
     return page.param("adobeQA");
else if (page.param("adobeqa"))
     return page.param("adobeqa");
else if (mbox.param("adobeQA"))
     return mbox.param("adobeQA");

adobeQAという変数を作成して、アクティビティQAのユーザーを追跡します。

オブジェクトとメソッド

次のプロパティとメソッドは、スクリプトプロファイルパラメーターで参照できます。

オブジェクトまたはメソッド 詳細
page.url 現在の URL。
page.protocol このページに使用するプロトコル(http または https)。
page.domain 現在の URL ドメイン(最初のスラッシュより前のすべて)。例えば、http://www.acme.com/categories/men_jeans?color=blu e&size=smallwww.acme.com
page.query 現在のページのクエリ文字列。?の後のすべて。例えば、http://www.acme.com/categories/mens_jeans?color=blue&size=smallblue&size=small
page.param(‘<par_name>’) <par_name> に示すパラメーターの値。現在の URL が Google の検索ページであり、page.param('hl') を入力していた場合、URL http://www.google.com/search?hl=en& q=what+is+asdf&btnG=Google+Search の「en」が取得されます。
page.referrer 上記と同じ一連の操作がリファラーとランディングに適用されます(referrer.urlはリファラーのURLアドレス)。
landing.url, landing.protocol, landing.query, および landing.param ページのものと同様ですが、ランディングページ用です。
mbox.name アクティブな mbox の名前。
mbox.param(‘<par_name>’) アクティブな mbox 内で指定した名前の mbox パラメーター。
profile.get(‘<par_name>’) <par_name> の名前のクライアントが作成したユーザープロファイルパラメーター。例えば、ユーザーが「gender」と名前を付けたプロファイルパラメーターを設定した場合、値は「profile. gender」を使用して抽出できます。現在の訪問者に設定された「profile.<par_name>」の値を返します。値が設定されていない場合は null が返されます。profile.get(<par_name>)は関数呼び出しとして認定されます。
user.get(‘<par_name>’) 現在の訪問者に設定された「user.<par_name>」の値を返します。値が設定されていない場合は null が返されます。
user.categoryAffinity 最適なカテゴリーの名前が返されます。
user.categoryAffinities 最適なカテゴリーを持つ配列が返されます。
user.isFirstSession 訪問者の最初のセッションの場合は true が返されます。
user.browser HTTP ヘッダーにユーザーエージェントが返されます。例えば、Safari ユーザーのみを対象とするターゲット式 を作成できます。if (user.browser != null && user.browser.indexOf('Safari') != -1) { return true; }

共通演算子

すべての標準 JavaScript 演算子が存在し、使用可能です。JavaScript演算子は、文字列および数値(およびその他のデータ型)に対して使用できます。 簡単な説明:

演算子 説明
== 等価を示します。いずれかの辺の演算値が等しい場合に true を保持します。
!= 不等価を示します。いずれかの辺の演算値が等しくない場合に true を保持します。
< 左辺の変数が右辺の変数より小さいことを示します。変数が等しい場合はfalseと評価されます。
> 左辺の変数が右辺の変数より大きいことを示します。変数が等しい場合はfalseと評価されます。
<= <と同じですが、変数が等しい場合を除きtrueと評価されます。
>= >と同じですが、変数が等しい場合を除きtrueと評価されます。
&& 論理演算子「AND」の左右に式を書いた場合は、両辺の式がともに true の場合にのみ true になります(そうでなければ false になります)。
`
// ターゲットのブール演算子(配列ソース、配列ターゲット)のすべての要素がソースに含まれているかどうかをチェックします。
//は、ターゲット(regexp に対応)からサブ文字列を抽出し、Array/*String*/ decode(String encoding, String regexp, String target)にデコード します。
この機能では、定数の文字列値、グループ化(`condition1

トレーニングビデオ:プロファイルスクリプトチュートリアルバッジ

このビデオでは、プロファイルスクリプトの使用と作成に関する情報を説明します。

  • プロファイルスクリプトの概要説明
  • プロファイルスクリプトとプロファイルパラメーターの違いの説明
  • シンプルなプロファイルスクリプトの作成
  • 利用可能なオプションにアクセスするための利用可能なトークンメニューの使用
  • プロファイルスクリプトの有効化と無効化

このページ