このページではcontent settingsで使用する条件文の記述方法について記載します。
"conditional"コンテントセッティングの各ブランチ(最後のブランチを除く)ではconditionフィールドを指定する必要があります。
注意)このフィールドは"conditional"セッティング以外では動作に影響しません。
condition は type フィールドや typeによって異なる他のフィールドを持つオブジェクトです。次のフィールドは全ての condition type に共通のフィールドです。
|
名前 |
タイプ |
説明 |
|---|---|---|
|
|
boolean |
trueの場合、condition は停止され、条件は常に満たされなくなります。デフォルトは false です。 |
conditionの種類には以下のものがあります:
"time"
指定された全ての条件に合致する場合:
-
1日¹ の時刻が from 以降かつ to 以前(from <= 現在時刻 < to)
-
現在の日付¹ が fromDate 以降かつ toDate 以前(fromDate <= 現在日時 < toDate)
-
その週の現在の日¹ が days に指定されている
|
名前 |
タイプ |
説明 |
|---|---|---|
|
from |
String |
"00:00" から "23:59" の間の時刻¹。null は"00:00"として解釈される。指定時刻を含む。 |
|
to |
String |
"00:00" から "23:59" の間の時刻¹。null は翌日の"00:00"として解釈される。指定時刻を含まない。 |
|
fromDate |
String |
任意の時刻¹と日付¹。null は指定なしとして解釈される。指定日時を含む。 |
|
toDate |
String |
任意の時刻¹と日付¹。null は指定なしとして解釈される。指定日時を含まない。 |
|
days |
Array of Integer |
1(月曜¹)から7(日曜¹)の間の整数。null はすべての曜日と解釈される |
¹ ウィジェットの設置されたサイトのタイムゾーンを使用します。fromDate と toDate は明示的なタイムゾーンをもつ ISO 8601 完全日付として指定することも可能です。
|
例
現在が 2017-10-25 の場合、もし 'fromDate' が 2017-10-25 で 'toDate' が 2017-10-26 の場合は条件にマッチする。
もし 'fromDate' が 2017-10-24 で 'toDate' が 2017-10-25 の場合には条件にマッチしない(toDateは指定日を含まない)。
"user"
カレントユーザの user profile が指定アイテムを含む場合。
|
名前 |
タイプ |
説明 |
|---|---|---|
|
group |
String |
ユーザプロファイルのグループ |
|
item |
String |
そのユーザのプロファイルのグループに存在するべきアイテム |
|
items |
Array of String |
アイテムの配列を設定。
|
|
|
A range object |
少なくとも1アイテムが含まれている必要がある値の範囲 |
|
threshold |
Integer |
0 ~ 100までの整数を指定
|
|
topItem |
Boolean |
trueの場合、指定のitemがgroup内でトップである場合のみマッチ |
|
|
Boolean |
trueの場合、タイムアウトや他の技術的な理由により、ユーザプロファイルの検索に失敗した時に条件が満たされる |
|
|
String |
external の場合、外部ユーザプロファイルの group のみを考慮します。
|
item、items、itemRangeのいずれか1つを指定する必要があります。
|
Range オブジェクト
|
名前 |
タイプ |
説明 |
|---|---|---|
|
|
String |
time または number のいずれか |
|
|
String or number |
アイテムはこの下限よりも大きいか等しくなければなりません |
|
|
String or number |
アイテムはこの下限より小さくなければなりません。 |
from と to の少なくとも1つを指定する必要があります。ユーザプロファイル内のアイテムは適切にフォーマットされているものと見なされます。
type が time の場合、アイテムは ISO8601形式のタイムスタンプでなければならず、 from と to は ISO8601形式のタイムスタンプ または "-1w" や "5h" のような時間オフセットでなければなりません。可能な単位は秒、分、時間、日、週、月、年(seconds、minutes、hours、days、weeks、Months、years の太字箇所を指定)です。type が number の場合、 from と to のアイテムは両方とも、1.0 のような整数 または実数値でなければなりません。
"content"
Widgetをリクエストしたページのcontent profileが特定のアイテムを含む場合
|
名前 |
タイプ |
説明 |
|---|---|---|
|
|
String |
コンテンツプロファイルのグループに一致させる値 デフォルトのグループとカスタマープリフィックス付きのグループが使用できる |
|
|
String |
コンテンツプロファイルのアイテムに一致させる値 |
|
items |
Array of String |
コンテンツプロファイルのアイテムの配列を設定、少なくとも1つは必須(複数指定可)
|
|
|
Boolean |
trueの場合、タイムアウトや他の技術的な原因でユーザプロファイルの検索に失敗しています |
|
"userSegment" (Piano DMPをご利用中の場合)
そのユーザが指定セグメントに属している場合
|
名前 |
タイプ |
説明 |
|---|---|---|
|
segmentId |
String |
設定しているContent 設定と同じサイトグループ内のユーザセグメントのIDを指定 |
|
"context"
参照中のページ(ウィジェットが設置されているページ)のプロパティが条件に一致する場合
|
名前 |
タイプ |
説明 |
|---|---|---|
|
pageclass |
String |
"article" または "frontpage" (null の場合どちらにもマッチ) |
|
sentiment |
String |
"negative" または null (sentimentを評価しない). |
|
recommending |
Boolean |
false: recs-recommending = false のドキュメントにマッチ
|
|
categoryType |
String |
評価するカテゴリのタイプ。null の場合は"taxonomy". |
|
categories |
Array of String |
nullでない場合、参照中のページが指定のカテゴリ(複数指定可)に属するかどうか |
|
Array of String |
nullでない場合、参照中のURLが指定のURL(複数指定可)と等しいかどうか |
|
|
Array of String |
nullでない場合、現在のURLのホスト名が指定されたホスト名(複数指定可)と等しいかどうか
|
|
ベストプラクティス: Content コンフィグレーションで動的なパラメータとして "context" を使用する
"referrer"
http参照元ホストが以下のいずれかのクラスに属している場合
|
名前 |
タイプ |
説明 |
|---|---|---|
|
|
Array of String |
正規化された参照元URL(複数指定可) |
|
|
Array of String |
正規化された参照元ホスト(複数指定可) |
|
|
Array of String |
検索エンジンへの検索クエリ(複数指定可) |
|
hostClasses |
Array of String |
参照元種別で付与された分類の一つに属します。分類は参照元のトップレベルドメイン名を元にしています。値は "direct" (参照元なし), "search" (既知の検索エンジン), "social" (既知のソーシャルネットワーク), "internal" (同じトップレベルドメインからのアクセス), "other"(外部ページ、クロスドメインの参照元)(複数指定可) |
|
searchEngines |
Array of String |
例)"AOL", "Ask", "Bing", "DuckDuckGo", "Google", "Yandex", "Yahoo", "Baidu", "qkankan" (複数指定可) |
|
socialNetworks |
Array of String |
例) "Facebook", "Google+", "LinkedIn", "Mixi", "Myspace", "Pinterest", "Tumblr", "Twitter", "Instagram", "WeChat", "Sina Weibo", "YouTube", "Quora", "Reddit", "WhatsApp" (複数指定可)。セットされているリファラ属性に依存することにご注意下さい。WhatsAppなどのような一部のネットワークでは参照元を隠し、提供しません。 |
|
この例では参照元が検索エンジンまたは現在のページと同じドメイン("internal")またはLinkedInの場合にマッチ。
"location"
ユーザの持つ位置情報(IPアドレスから決定されます。)が設定した以下のいずれかに一致する場合
|
名前 |
タイプ |
説明 |
|---|---|---|
|
|
Array of String |
位置情報の「国」 2文字の国別コードを (ISO-3166-1 alpha-2)指定。例: "us", "no" (複数指定可) |
|
|
Array of String |
位置情報の「都市名」(複数指定可) |
|
|
Array of String |
位置情報の「市区町村名」(複数指定可) |
|
|
Array of String |
位置情報の「会社名orプロバイダ」(複数指定可) |
|
metrocodes |
Array of String |
位置情報の「メトロコード( DMA )」(複数指定可)。例: "itv london" |
|
|
Array of String |
位置情報の「郵便番号」(複数指定可)。 例: "M6J 2R7", "0268", "10023" |
|
isoRegions |
Array of String |
位置情報の「 ISO 3166-2 形式の地域コード」(複数指定可)。例: "itv london" |
|
"device"
ユーザの持つデバイス(httpヘッダのユーザエージェントから決定されます。)が設定した以下のいずれかに一致する場合
|
名前 |
タイプ |
説明 |
|---|---|---|
|
|
Array of String |
デバイスのタイプ(複数指定可) |
|
|
Array of String |
デバイスのOS種別(複数指定可) |
|
browsers |
Array of String |
デバイスのブラウザ(複数指定可) |
|
browserVersions |
Array of String |
デバイスのブラウザのバージョン(複数指定可) |
|
|
Array of String |
デバイスの携帯端末ブランド(複数指定可) |
|
"and"
すべてのサブコンディションがマッチした場合
|
名前 |
タイプ |
説明 |
|---|---|---|
|
conditions |
Array of Object |
コンディションの組み合わせ |
|
"or"
少なくとも一つのサブコンディションがマッチした場合
|
名前 |
タイプ |
説明 |
|---|---|---|
|
conditions |
Array of Object |
コンディションの組み合わせ |
|
"not"
サブコンディションにマッチしない場合
|
名前 |
タイプ |
説明 |
|---|---|---|
|
condition |
Object |
コンディション |
|
"impressionCapping"
impressionCapping の condition は、1つのブランチの内で指定したタグが結果を返す回数を制限するために使われます。ImpressionCappingは指定されたウィジェット設定のタグに記録されるインプレッションが元になります。アイテムが結果として返されるたびに、1インプレッションが記録されます。ユーザがperiodで設定した期間中、インプレッションがカウントされます。 バックフィルアイテムからのインプレッションはカウントされません。Conditionは同じウィジェット設定の Impression capping タグと同じリーフタグを持つブランチからトラッキングされたインプレッションを読みこみます。
|
名前 |
タイプ |
説明 |
|---|---|---|
|
|
int |
0以上の数値を設定 |
|
period |
int |
非推奨(廃止の可能性あり)
|
|
|
String |
最大31日 |
|
tag |
String |
インプレッションキャッピングのラベルを設定。
|
|
|
String |
デフォルトは user で現在のユーザのみのインプレッションをカウントします。 global にすると全てのユーザのインプレッションをカウントします。globalでのカウントはキャッシュの対象となり、配信されたインプレッション数がカウントを超える可能性があります。 |
|
|
String |
デフォルトは impression です。click にすると、インプレッションではなくクリック数がカウントされます。 |
|
"event"
"event"はユーザのページビューによって条件分岐するために使用します。これによりユーザのサイトに対してのロイヤリティや、前回訪問からの時間によって分岐させることができます。例えば、期間内に min=1 とは指定期間内にそのユーザが少なくとも1ページビューを発生させた、すなわちそのユーザがサイトを訪問したことを意味します。
多くのページビューがあるユーザはそのプロファイルもより意味のあるものになっていると考えることができるかもしれません。
|
名前 |
タイプ |
説明 |
|---|---|---|
|
|
Integer |
0以上の数値。条件にマッチするための最小PV数を指定。 |
|
|
Integer |
0以上の数値。上限にマッチする最大PV数を指定。 |
|
|
int |
非推奨(廃止の可能性あり)
|
|
period |
String |
最大30日 |
|
"userEngagement"
"userEngagement" は指定した期間中にサイトに訪問した日数に基づくオーディエンスをターゲットに使用することができます。期間が max=0 の場合、初回訪問者をターゲットにする以前の、まだサイトに訪問したことのないユーザを意味します。
|
名前 |
タイプ |
説明 |
|---|---|---|
|
|
Integer |
0以上。条件指定をする訪問日数の最小値。 |
|
|
Integer |
0以上。条件指定をする訪問日数の最大値。 |
|
|
String |
period は最大30日(30d)です。 |
|