比較
次のセグメント比較は標準で用意されており、セグメントプロパティを評価するために使用できます。これらはコンポーネントブラウザーからエディターにドラッグできます。
プロパティ - 値 | ストアのプロパティと定義済みの値を比較 |
プロパティ - プロパティ | ストアの 1 つのプロパティと別のプロパティを比較 |
プロパティ - セグメントの参照 | ストアのプロパティを参照先の別のセグメントと比較 |
プロパティ - スクリプトの参照 | ストアのプロパティとスクリプトの結果を比較 |
セグメントリファレンス - スクリプトリファレンス | 参照先セグメントとスクリプトの結果を比較 |
null < 30 // will return true
profile/age
プロパティを比較する場合は、比較対象のタイプが 数値 であることが既にわかっているので、profile/age
が設定されていなくても、profile/age
が 30 より小さいという比較では、想定どおりに false が返されます。参照
次の参照は標準で用意されており、スクリプトや別のセグメントに直接リンクするために使用できます。これらはコンポーネントブラウザーからエディターにドラッグできます。
セグメントの参照 | 参照先セグメントを評価 |
スクリプト参照 | 参照先セグメントをします。詳しくは、次の「スクリプト参照の使用」の節を参照してください。 |
新しいセグメントの作成
新しいセグメントを定義するには、次の手順に従います。
-
セグメントにアクセスした後、セグメントを作成するフォルダーに移動します。
-
「作成」ボタンを選択し、「ContextHub セグメントを作成」を選択します。
-
「新しい ContextHub セグメント」で、セグメントのタイトルと必要に応じてブースト値を入力し、「作成」を選択します。
各セグメントには、重み付け係数として使用されるブーストパラメーターがあります。複数のセグメントが有効である場合、数値が小さいセグメントよりも、数値が大きいセグメントのほうが優先して選択されます。
- 最小値:
0
- 最大値:
1000000
- 最小値:
-
セグメントコンソールから、作成したセグメントを編集し、セグメントエディターで開きます。
-
比較または参照をセグメントエディターにドラッグすると、デフォルトの AND コンテナに表示されます。
-
新しい参照またはセグメントの設定オプションをダブルクリックして、特定のパラメーターを編集します。この例では、バーゼルのユーザーをテストしています。
比較が適切に評価されるように、可能であれば常に データタイプ を設定します。詳しくは、比較を参照してください。
-
「完了」をクリックして定義を保存します。
-
必要に応じてその他のコンポーネントを追加します。AND 比較および OR 比較のコンテナコンポーネントを使用して、ブーリアン式を作成できます(後述の AND コンテナと OR コンテナの使用を参照)。セグメントエディターでは、不要になったコンポーネントを削除したり、コンポーネントをステートメント内の別の場所へドラッグしたりすることができます。
AND コンテナと OR コンテナの使用
AND および OR コンテナコンポーネントを使用すると、AEM で複雑なセグメントを作成できます。これを行う際に、次の基本事項に留意してください。
- 定義の最上位レベルは必ず、最初に作成された AND コンテナになります。これは変更できませんが、他のセグメント定義には影響しません。
- コンテナのネストが意味のあるものになっていることを確認してください。コンテナは、ブーリアン式の括弧として見ることができます。
次の例では、スイスターゲットグループに属すると見なされる訪問者を選択しています。
People in Basel
OR
People in Zürich
最初に、OR コンテナコンポーネントをデフォルトの AND コンテナ内に配置します。OR コンテナ内で、プロパティまたは参照コンポーネントを追加できます。
必要に応じて、複数の AND および OR 演算子をネストできます。
スクリプト参照の使用
スクリプト参照コンポーネントを使用すると、セグメントプロパティの評価を外部スクリプトに委任できます。スクリプトが適切に設定されると、セグメント条件の他のコンポーネントと同じように使用できます。
参照するスクリプトの定義
-
contexthub.segment-engine.scripts
クライアントライブラリにファイルを追加します。 -
値を返す関数を実装します。例:
ContextHub.console.log(ContextHub.Shared.timestamp(), '[loading] contexthub.segment-engine.scripts - script.profile-info.js'); (function() { 'use strict'; /** * Sample script returning profile information. Returns user info if data is available, false otherwise. * * @returns {Boolean} */ var getProfileInfo = function() { /* let the SegmentEngine know when script should be re-run */ this.dependOn(ContextHub.SegmentEngine.Property('profile/age')); this.dependOn(ContextHub.SegmentEngine.Property('profile/givenName')); /* variables */ var name = ContextHub.get('profile/givenName'); var age = ContextHub.get('profile/age'); return name === 'Joe' && age === 123; }; /* register function */ ContextHub.SegmentEngine.ScriptManager.register('getProfileInfo', getProfileInfo); })();
-
スクリプトを
ContextHub.SegmentEngine.ScriptManager.register
に登録します。
その他のプロパティに依存するスクリプトでは、this.dependOn()
を呼び出す必要があります。例えば、スクリプトが profile/age
に依存する場合は次のようになります。
this.dependOn(ContextHub.SegmentEngine.Property('profile/age'));
スクリプトの参照
- ContextHub セグメントを作成します。
- スクリプト参照 コンポーネントをセグメントの目的の場所に追加します。
- スクリプト参照 コンポーネントの編集ダイアログを開きます。スクリプトが適切に設定されていれば、スクリプト名 ドロップダウンに表示されます。
セグメントの整理
多数のセグメントがある場合は、フラットリストとして管理しにくくなる可能性があります。このような場合は、フォルダーを作成してセグメントを管理すると便利です。
新しいフォルダーの作成
-
セグメントへのアクセス後、「作成」ボタンを選択し、「フォルダー」を選択します。
-
フォルダーの「タイトル」と「名前」を指定します。
-
タイトル は内容がわかるように付けます。
-
「名前」はリポジトリ内のノード名になります。
- タイトルに基づいて自動的に生成され、AEM の命名規則に従って調整されます。
- 必要に応じて調整できます。
-
-
「作成」を選択します。
-
フォルダーがセグメントのリストに表示されます。
- 列の並べ替え方法によって、リスト内の新しいフォルダーの表示場所が異なります。
- 列見出しを選択して、並べ替えを調整できます。
既存のフォルダーの変更
-
セグメントへのアクセス後、変更するフォルダーを選択します。
-
ツールバーの「名前を変更」を選択して、フォルダーの名前を変更します。
-
新しい フォルダーのタイトル を指定し、「保存」を選択します。
フォルダーの削除
-
セグメントへのアクセス後、変更するフォルダーを選択します。
-
ツールバーで「削除」を選択し、フォルダーを削除します。
-
削除対象として選択したフォルダーのリストがダイアログに表示されます。
- 「削除」を選択して確定します。
- 「キャンセル」を選択して中止します。
-
選択したフォルダーのいずれかにサブフォルダーまたはセグメントが含まれている場合は、それらの削除も確認する必要があります。
- 「削除を強制」を選択して確定します。
- 「キャンセル」を選択して中止します。
セグメントの適用のテスト
セグメントを定義したら、ContextHub を使用して、考えられる結果についてテストすることができます。
- ページをプレビュー
- ContextHub アイコンをクリックして ContextHub ツールバーを表示します。
- 作成したセグメントと一致するペルソナを選択します。
- ContextHub によって、選択したペルソナに適用できるセグメントが解決されます。
例えば、バーゼルのユーザーを識別するための単純なセグメント定義は、ユーザーの場所に基づいています。これらの条件に一致する特定のペルソナを読み込むと、次のようにセグメントが正常に解決されたかどうかがわかります。
解決されていない場合は次のようになります。
このようなテストは、ターゲットコンテンツや関連する アクティビティ および エクスペリエンス と組み合わせて、コンテンツページでも実行できます。
アクティビティとエクスペリエンスを設定した場合は、アクティビティを使用してセグメントを簡単にテストできます。アクティビティの設定について詳しくは、ターゲットコンテンツのオーサリングに関するドキュメントを参照してください。
- ターゲットコンテンツを設定したページの編集モードでは、ターゲットとなるコンテンツが矢印アイコンによって示されます。
- プレビューモードに切り替えてから、ContextHub を使用して、エクスペリエンスに設定されているセグメント化と一致しないペルソナに切り替えます。
- エクスペリエンスに設定されているセグメント化と一致するペルソナに切り替え、それに応じてエクスペリエンスが変化することを確認します。
セグメントの使用
セグメントを使用して、特定のターゲットオーディエンスに向けられた実際のコンテンツを制御することができます。オーディエンスおよびセグメントについて詳しくは、オーディエンスの管理を参照してください。オーディエンスおよびセグメントを使用したコンテンツのターゲティングについては、ターゲットコンテンツのオーサリングを参照してください。