データ サイエンス ツールキット - Bonsai 言語の機能

このページでは、カスタム モデル ロジックの一部としてインプレッションの評価に使用できる Bonsai 言語機能を一覧表示します。 各機能について、構文を説明し、使用例を示します。

注:

  • 機能の説明で明示的に指定されていない限り、負またはゼロ (0) の入札はサポートされていません。 これらの式を使用すると、予期しない結果が発生する可能性があります。 スマート リーフを使用してno_bid明示的に指定することをお勧めします。
  • キャンペーンに別の通貨を指定していても、モデルで計算される入札単価は常に広告主が設定した通貨で表されます。

シンプルな機能

ユーザーの国または地域に基づいてインプレッションを評価します。

キーワード: country

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: 国の ID やコード ( 233"US" など)。 カントリー サービスを使用して、これらの ID またはコードを取得します。

:

if country = "US":
5
elif country = 70:
3
else:
0.1

ビデオ コンテンツのターゲティング

ユーザーの動画コンテンツ インベントリに基づいてインプレッションを評価します。

キーワード: video_duration, video_delivery_type, video_genre, video_program_type, video_rating, video_network

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

:

:

if any video_duration in (1,2), video_delivery_type in (1,2):
value: 0.050000
elif every video_genre in (1,2,3), video_rating =1:
value: 0.060000
elif every video_network in (1,3), video_genre in (1,2):
value: 0.0700000
elif not video_network =2:
value: 0.01

Region

ユーザーの地理的地域に基づいてインプレッションを評価します。

キーワード: region

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: 地域 ID または国/地域コードの組み合わせ ( "US:NY"など)。 リージョン サービスを使用して、これらの ID とコードを取得します。

:

if region = 123:
5
elif region = "US:NJ":
3
else:
0.1

都市

ユーザーの居住する都市に基づいてインプレッションを評価します。

キーワード: city

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

値: 市町村 ID または国/地域/都市コードの組み合わせ ("US:NY:New York"など)。 これらの ID とコードを取得するには、 City Service を使用します。

:

if city = 162:
5
elif city = "US:MA:Boston":
3
else:
0.1

DMA

ユーザーの DMA (指定マーケット エリア) に基づいてインプレッションを評価します。

キーワード: dma

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: 602 などの DMA ID (シカゴ大都市圏の場合)。 DMA ID を取得するには、 City Service を使用します。

:

if dma = 602:
5
elif dma = 603:
3
else:
0.1

郵便番号

ユーザーの郵便番号に基づいてインプレッションを評価します。 郵便番号は、一部のモバイル インプレッションと外部供給パートナーからのインプレッションでのみ使用できます。

キーワード: postal_code

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: 郵便番号 ID (整数) または国/郵便番号の組み合わせ ( "CA:J0K 1B0""US:10010" などの文字列)。 米国の郵便番号を含みます。 郵便番号サービス ( プロファイル サービスに記載) を使用して、郵便番号 ID を取得します。

:

if postal_code in ("CA:J0k 1B0", "US:10010"):
5
elif postal_code = 1367515:
3
else:
0.1

郵便番号一覧

ユーザーの郵便番号リストに基づいてインプレッションを評価します。

キーワード: postal_code_list[ID]

演算子: 存在はなく、不在の場合はなし。

: なし

:

elif postal_code_list[120]:
value: 1

お買い得リスト

ユーザーの取引リストに基づいてインプレッションを評価します。

キーワード: deal_list[ID]

演算子: 存在はなく、不在の場合はなし。

: なし

:

elif deal_list[4107]:
value: 2

Size

プレースメント サイズに基づいてインプレッションを評価します。 広告呼び出しで promo_sizes が渡された場合、評価はプライマリ サイズのみを使用して実行されることに注意してください。

キーワード: size

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: 配置寸法を表す文字列。書式設定は "WIDTHxHEIGHT"

:

if size = "300x250":
5
elif size = "250x250":
3
else:
0.1

曜日

特定の曜日に基づいてインプレッションを評価します。

キーワード: user_day

オペレーター: 任意

: 曜日。 指定可能な値: 0 - 6 ( 0 は日曜日、 6 は土曜日)。

:

if user_day in (1,2,3,4,5):
5
else:
0.1

1 日の時間

1 日の特定の時間に基づいてインプレッションを評価します。

キーワード: user_hour

オペレーター: 任意

: ユーザーのタイムゾーンでの時刻。 使用可能な値: 0 - 23 ( 0 は午前 0 時、 23 は午後 11 時)。

:

if user_hour in (18,19,20,21,22,23):
5
elif user_hour in (14,15,16,17):
4
else:
2

オペレーティング システム ファミリ

ユーザーのオペレーティング システムに基づいてインプレッションを評価します。

キーワード: os_family

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: オペレーティング システム ファミリ ID または名前 ( 2"Android" など)。 オペレーティング システム ファミリ サービスを使用すると、これらの ID と名前を取得します。

:

if os_family = 2:
5
elif os_family = "Apple iOS":
4
else:
0.2

オペレーティング システムのバージョン

ユーザーのオペレーティング システムの特定のバージョンに基づいてインプレッションを評価します。

注:

os_extended機能の場合、ルックアップ テーブルの結果が 0 は欠落していると見なされます。

キーワード: os_extended

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: オペレーティング システムの拡張 ID ( "10.8 Mountain Lion" の 81 など)。 オペレーティング システム拡張サービスを使用して、これらの ID を取得します。

注:

オペレーティング システム ID は、ログ レベルのデータで operating_system として表示されます。

:

if os_extended = 81:
5
elif os_extended = 82:
4
else:
0.2

ブラウザー

ユーザーのブラウザに基づいてインプレッションを評価します。

注:

browser機能の場合、ルックアップ テーブルの結果が 0 は欠落していると見なされます。

キーワード: browser

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: ブラウザーの ID または名前 ( 8"Chrome (all versions)" など)。 ブラウザー サービスを使用して、これらの ID と名前を取得します。

:

if browser = 8:
3
elif browser = "Safari (all versions)":
2.5
else:
0.2

ブラウザーの言語

ブラウザーの言語に基づいてインプレッションを評価します。

注:

language機能の場合、ルックアップ テーブルの結果が 0 は欠落していると見なされます。

キーワード: language

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: 言語 ID。 言語サービスを使用して、これらの ID を取得します。

:

if language = 1:
3
elif language = 0:
1
else:
0

Gender

ユーザーの性別に基づいてインプレッションを評価します。 性別は、パブリッシャーが広告呼び出しで渡した場合にのみ使用できることに注意してください。 広告呼び出しの詳細については、ドキュメントの「プレースメント タグ パラメーター」を参照してください。

キーワード: user_gender

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: ユーザーの性別。 使用可能な値:

  • "female"
  • "male"
  • "unknown"

:

if user_gender in (male, female):
5
else:
2

ドメイン

ドメインに基づいてインプレッションを評価します。

キーワード: domain

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: "food.com""books" などのトップレベル ドメイン名を表す文字列。

:

if domain = "food.com":
3
elif domain = "books.com":
2.5
else:
0.2

IP アドレス

IP アドレスに基づいてインプレッションを評価します。

注:

GDPR 規制に準拠している国または地域のお客様は、品目、Bonsai ツリー、またはロジスティック回帰モデルのいずれかで IP アドレスまたは IP 範囲をターゲットにする場合、アドレスが切り捨てられる可能性があることに注意する必要があります。 このプロセスの詳細については、 当社のサービス ポリシーを参照してください

キーワード: ip_address

オペレーター: in

: サブネット表記を含む、有効な IP アドレスを表す文字列。 たとえば、範囲 (192.168.0.1, 10.0.0.0/24) は IP アドレス 192.168.0.1 および 10.0.0.0-10.0.0.255 を示します。

:

if ip_address in (192.168.0.1, 10.0.0.0/24):
5
else:
1

折りたたみ位置

ページの折り目に対する特定の配置位置に基づいてインプレッションを評価します。

キーワード: position

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: 折りたたみ位置。 使用可能な値:

  • 0 or "unknown" - これらの値を使用して、折りたたみ位置が不明な配置をターゲットにします。
  • 1 or "above" - これらの値を使用して、スクロールせずに表示できる領域の配置をターゲットにします。
  • 2 or "below" - これらの値を使用して、スクロールせずに表示できる領域の配置をターゲットにします。

:

if position = "above":
3
elif position = 2:
1
else:
0

Placement

特定の配置に基づいてインプレッションを評価します。

キーワード: placement

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: プレースメント ID。

注:

プレースメント ID は、ログ レベルのデータに tag_id として表示されます。

:

if placement = 300:
5
elif placement = 301:
4.5
else:
0.2

配置グループ

特定の配置グループに基づいてインプレッションを評価します。

キーワード: placement_group

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: 配置グループの ID。

注:

配置グループ ID は、ログ レベルのデータに site_id として表示されます。

:

if placement_group = 155:
5
elif placement_group = 156:
4.50
else:
0.2

Publisher

特定のパブリッシャーに基づいてインプレッションを評価します。

キーワード: publisher

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: パブリッシャー ID。

注:

発行元 ID は、ログ レベルのデータに publisher_id として表示されます。

:

if publisher = 1300:
5
elif publisher = 1301:
4.50
else:
0.2

販売者メンバー

特定の販売者メンバーに基づいてインプレッションを評価します。

キーワード: seller_member_id

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: 販売者のメンバー ID。

:

if any seller_member_id = 100, seller_member_id = 175:
4
elif any seller_member_id = 500, seller_member_id = 501:
3.50
else:
0.2

サプライの種類

特定の供給タイプに基づいてインプレッションを評価します。

キーワード: supply_type

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: 指定の種類 ID または名前。 使用可能な値:

  • 0 or "web" - これらの値のいずれかを使用して、標準 Web サイトをターゲットにします。
  • 1 or "mobile_web" - これらの値のいずれかを使用して、モバイル、タブレット、およびスマートフォンのブラウザー用に最適化された Web サイトをターゲットにします。
  • 2 or "mobile_app" - これらの値のいずれかを使用して、モバイル タブレットやスマートフォンにインストールされているアプリをターゲットにします。

:

if supply_type = "web":
4
elif supply_type = "mobile_web":
3
elif supply_type = 2:
2
else:
0.2

デバイスのタイプ

特定の種類の物理デバイスに基づいてインプレッションを評価します。

キーワード: device_type

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: デバイスの種類の名前。 使用可能な値:

  • "pc & other devices" - この値は、デスクトップとラップトップをターゲットにします。
  • "phone" - この値は、携帯電話をターゲットにします。
  • "tablet" - モバイル タブレットをターゲットにするには、この値を使用します。

:

if device_type = "pc & other devices":
5
elif device_type = "tablet":
4
elif device_type = "phone":
3.50
else:
0

デバイス モデル

物理デバイスの特定のモデルに基づいてインプレッションを評価します。

キーワード: device_model

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: デバイス モデル ID。 デバイス モデル サービスを使用して、これらの ID を取得します。

注:

デバイス モデル ID は、ログ レベルのデータに device_id として表示されます。

:

if device_model = 46:
5
elif device_model = 47:
4.75
elif device_model = 48:
3.50
else:
0

通信事業者

特定の携帯電話会社に基づいてインプレッションを評価します。

キーワード: carrier

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: 携帯電話会社の ID または名前 ( 14"Verizon" など)。 Carrier Service を使用して、これらの ID と名前を取得します。

:

if carrier = 14:
4
elif carrier = "Sprint":
3.50
else:
0.2

モバイル アプリ

特定のモバイル アプリに基づいてインプレッションを評価します。

キーワード: mobile_app

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: モバイル アプリ ID または名前。 Mobile App Service を使用して、これらの ID または名前を取得します。

:

if mobile_app = 1:
5
elif mobile_app = 2:
3.5
elif mobile_app = "Candy Crush Saga":
2
else:
0.2

モバイル アプリ インスタンス

特定のモバイルアプリのインストールに基づいてインプレッションを評価します。

キーワード: mobile_app_instance

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: モバイル アプリ インスタンス ID。 モバイル アプリ インスタンス サービスを使用して、これらの ID を取得します。

:

if mobile_app_instance = 1:
5
elif mobile_app_instance = 2:
3.5
elif mobile_app_instance = 3:
2
else:
0.2

モバイル アプリ バンドル

特定のモバイル アプリ バンドルに基づいてインプレッションを評価します。

キーワード: mobile_app_bundle

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: モバイル アプリ バンドル ID。 モバイル アプリ インスタンス サービスを使用して、これらの ID を取得します。

:

if mobile_app_bundle in ("553834731", "com.king.candycrushsaga"):
5
else:
0.2

ユーザーが Xandr Cookie を受け取った期間 (分) に基づいてインプレッションを評価します。

キーワード: cookie_age

オペレーター: 任意

: ユーザーが Xandr Cookie を受け取った分数を表す正の整数。 この値が存在しない場合もあります。これは、ユーザーが Xandr Cookie を持っていないことを示します。

:

if cookie_age > 30:
2
else:
0.2

予測される IAB ビューアビリティ率

(以前は "推定 IAB 視認度" と呼ばれていました。)Xandr 最適化によって決定される、IAB 標準によって表示可能として測定される可能性によって、Web ディスプレイのインプレッションを評価します。

キーワード: predicted_iab_view_rate

エイリアス (非推奨):estimated_iab_viewthrough_rate

オペレーター: 任意

: 0 から 1 までの 10 進数で、パーセンテージを表します。

:

if predicted_iab_view_rate = 1:
5
elif predicted_iab_view_rate >= 0.75:
3.5
elif predicted_iab_view_rate >= 0.50:
2
else:
0

予測される IAB ビューアビリティ率 (合計)

Web ディスプレイのインプレッションを、Xandr 最適化によって決定される IAB 標準によって、インプレッションの総数 (閲覧数/総インプレッション数) に対して表示可能として測定される可能性によって評価します。

キーワード: predicted_iab_view_rate_over_total

オペレーター: 任意

: 0 から 1 までの 10 進数で、パーセンテージを表します。

:

if predicted_iab_view_rate_over_total = 1:
5
elif predicted_iab_view_rate_over_total >= 0.75:
3.5
elif predicted_iab_view_rate_over_total >= 0.50:
2
else:
0

予測される IAB 動画の視聴率

Xandr 最適化によって決定される、IAB 標準によってビューアブルとして測定される可能性によって、Web ビデオのインプレッションを評価します。

キーワード: predicted_iab_video_view_rate

オペレーター: 任意

: 0 から 1 までの 10 進数で、パーセンテージを表します。

:

if predicted_iab_video_view_rate = 1:
5
elif predicted_iab_video_view_rate >= 0.75:
3.5
elif predicted_iab_video_view_rate >= 0.50:
2
else:
0

予測される IAB 動画の視聴可能性の割合 (合計に対するもの)

Web ビデオのインプレッションを、Xandr 最適化によって決定される、少なくとも 1 秒間表示可能な 100% ピクセルのカスタム定義によるインプレッションの合計数 (視聴/測定されたインプレッション) に対して表示可能と測定される可能性によって評価します。

キーワード: predicted_iab_video_view_rate_over_total

オペレーター: 任意

: 0 から 1 までの 10 進数で、パーセンテージを表します。

:

if predicted_100pv1s_display_view_rate = 1:
5
elif predicted_100pv1s_display_view_rate >= 0.75:
3.5
elif predicted_100pv1s_display_view_rate >= 0.50:
2
else:
0

予測されるディスプレイの視認性率 (100% の視聴、1 秒の持続時間)

ディスプレイ ビデオのインプレッションを、Xandr 最適化によって決定される、少なくとも 1 秒間表示可能な 100% ピクセルのカスタム定義によって、ビューアブル (視聴/測定されたインプレッション) として測定される可能性によって評価します。

キーワード: predicted_100pv1s_display_view_rate

オペレーター: 任意

: 0 から 1 までの 10 進数で、パーセンテージを表します。

:

if predicted_100pv50pd_video_view_rate = 1:
5
elif predicted_100pv50pd_video_view_rate >= 0.75:
3.5
elif predicted_100pv50pd_video_view_rate >= 0.50:
2
else:
0

合計に対する予測されるディスプレイの視認性率 (100% の視聴、1 秒の持続時間)

Xandr 最適化によって決定される、少なくとも 1 秒間表示可能な 100% ピクセルのカスタム定義によって、表示可能 (閲覧数/総インプレッション数) として測定される可能性によって、Web ディスプレイのインプレッションを評価します。

キーワード: predicted_100pv1s_display_view_rate_over_total

オペレーター: 任意

: 0 から 1 までの 10 進数で、パーセンテージを表します。

:

if predicted_100pv1s_display_view_rate_over_total = 1:
5
elif predicted_100pv1s_display_view_rate_over_total >= 0.75:
3.5
elif predicted_100pv1s_display_view_rate_over_total >= 0.50:
2
else:
0

予測される動画の視聴率 (視聴 100%、長さ 50%、サウンド オン)

Web ビデオのインプレッションを、ビューアブル (視聴/測定インプレッション) として測定される可能性によって評価します。ここで、"視聴" とは、100% 表示され、サウンドがオンの状態で、持続時間の少なくとも 50% 再生されている広告として定義されます。 尤度は Xandr 最適化によって決定されます。

キーワード: predicted_100pv50pd_video_view_rate

オペレーター: 任意

: 0 から 1 までの 10 進数で、パーセンテージを表します。

:

if predicted_100pv50pd_video_view_rate = 1:
5
elif predicted_100pv50pd_video_view_rate >= 0.75:
3.5
elif predicted_100pv50pd_video_view_rate >= 0.50:
2
else:
0

合計に対する予測される動画の視聴率 (視聴 100%、長さ 50%、サウンド オン)

Web ビデオのインプレッションを、インプレッションの総数 (視聴/総インプレッション数) にわたってビューアブルとして測定される可能性によって評価します。"ビュー" とは、100% 表示され、持続時間の少なくとも 50% 以上再生された広告として定義されます。 尤度は Xandr 最適化によって決定されます。

キーワード: predicted_100pv50pd_video_view_rate_over_total

オペレーター: 任意

: 0 から 1 までの 10 進数で、パーセンテージを表します。

:

if predicted_100pv50pd_video_view_rate_over_total = 1:
5
elif predicted_100pv50pd_video_view_rate_over_total >= 0.75:
3.5
elif predicted_100pv50pd_video_view_rate_over_total >= 0.50:
2
else:
0

予測される視聴完了率

Xandr 最適化によって決定される、完了する可能性によって Web ビデオのインプレッションを評価します。

キーワード: predicted_video_completion_rate

エイリアス (非推奨):estimated_video_completion_rate

オペレーター: 任意

: 0 から 1 までの 10 進数で、パーセンテージを表します。 0 ビデオ以外のインベントリを表します。

:

if predicted_video_completion_rate = 1:
5
elif predicted_video_completion_rate >= 0.75:
3.5
elif predicted_video_completion_rate >= 0.50:
2
else:
0

Xandr の対象ユーザー

Xandr プラットフォーム監査によって決定された対象ユーザーに基づいてインプレッションを評価します。

キーワード: appnexus_intended_audience

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: "general""children""young_adult"、または "mature"

:

if appnexus_intended_audience = "mature":
1
else:
0

販売者の対象ユーザー

自己監査によって決定された対象ユーザーに基づいてインプレッションを評価します。 詳細については、ドキュメントと プロファイル サービスの「インベントリの自己分類」を参照してください。

キーワード: seller_intended_audience

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: "general""children""young_adult"、または "mature"

:

if appnexus_intended_audience = "general":
1
else:
0

Xandr の監査済み状態

インベントリが Xandr によって監査されているかどうかを評価します。

キーワード: appnexus_audited

演算子: <><=>=rangeを除く。

: true または false

:

if appnexus_audited = true:
1.0
else:
0.0

自己監査済みの状態

インベントリがパブリッシャーによって監査されているかどうかを評価します。

キーワード: self_audited

演算子: <><=>=rangeを除く。

: true または false

:

if self_audited = true:
1.0
else:
0.0

ユーザー グループ

ユーザーがランダムに割り当てられたグループに属しているかどうかを評価します。 各 Xandr ユーザーには、0 から 999 までの永続的なユーザー グループがあります。 ユーザー グループを使用して、さまざまな戦略を並行してテストし、パフォーマンスを比較することができます。 テストが異なれば、1,000 個のユーザー グループは異なる方法で分割されるはずです。そうしないと、同時テストが相互に相互作用し、結果の解釈が困難になります。 詳細については、ドキュメントの 「ターゲティングのテストとコントロール 」を参照してください。

キーワード: user_group

オペレーター: 任意

: 0 から 999 までの整数。

:

if user_group <= 249:
1.0
elif user_group <= 499:
2.0
elif user_group <= 749:
3.0
elif user_group <= 999:
4.0
else:
0.0

キャンペーン月の頻度 (システム管理者のみ)

現在のキャンペーンでユーザーが見たインプレッション数に基づいて、インプレッションを評価します (今月)。

キーワード: campaign_month_frequency

演算子:=<<=presence/absenceincomparisonnotrange

: 現在のカレンダーにおける現在のキャンペーンでユーザーが見たインプレッション数を表す正の整数。 0 使用できる頻度情報がないことを示します (ユーザーには、現在の予定表でこのオブジェクトが表示されていません)。

:

if campaign_month_frequency < 2 :
5
else :
0.1

ライン アイテムの月の頻度

現在の広告申込情報に対してユーザーが今月表示したインプレッション数に基づいてインプレッションを評価します。  

キーワード: line_item_month_frequency

演算子:=<<=presence/absenceincomparisonnotrange

: 現在の広告申込情報に関してユーザーが見たインプレッション数を今月の正の整数として表します。 0 利用できる頻度情報がないことを示します (ユーザーが今月にこのオブジェクトに関連するクリエイティブを見たことがありません)。

:

if line_item_month_frequency < 2:
5
else:
0.1

広告主の月の頻度

当月にユーザーが表示した広告の数に基づいてインプレッションを評価します。

キーワード: advertiser_month_frequency

演算子:=<<=presence/absenceincomparisonnotrange

: 当月にユーザーが表示した広告の数を表す正の整数。 0 使用可能な頻度情報がないことを示します (ユーザーが今月にこのオブジェクトを参照していません)。

:

if advertiser_month_frequency < 2:
5
else:
0.1

キャンペーン時間の頻度

この 1 時間にユーザーが表示した広告の数に基づいてインプレッションを評価します。

キーワード: campaign_hour_frequency

演算子:=<<=presence/absenceincomparisonnotrange

: 現在の時間にユーザーが表示した広告の数を表す正の整数。 0 周波数情報がないことを示します (ユーザーは現在の時間にこのオブジェクトを見ていません)。

:

if campaign_hour_frequency < 2:
5
else:
0.1

ライン アイテムの時間の頻度

この 1 時間にユーザーが表示した広告の数に基づいてインプレッションを評価します。

キーワード: line_item_hour_frequency

演算子:=<<=presence/absenceincomparisonnotrange

: 現在の時間にユーザーが表示した広告の数を表す正の整数。 0 周波数情報がないことを示します (ユーザーは現在の時間にこのオブジェクトを見ていません)。

:

if line_item_hour_frequency < 2:
5
else:
0.1

広告主の時間の頻度

この 1 時間にユーザーが表示した広告の数に基づいてインプレッションを評価します。

キーワード: advertiser_hour_frequency

演算子:=<<=presence/absenceincomparisonnotrange

: 現在の時間にユーザーが表示した広告の数を表す正の整数。 0 周波数情報がないことを示します (ユーザーは現在の時間にこのオブジェクトを見ていません)。

:

if advertiser_hour_frequency < 2:
2
else:
0.1

キャンペーンの週の頻度 (システム管理者のみ)

日曜日から始まる今週にユーザーが表示した広告の数に基づいてインプレッションを評価します。

キーワード: campaign_week_frequency

演算子:=<<=presence/absenceincomparisonnotrange

: 今週にユーザーに表示された広告の数を表す正の整数。 0 頻度情報がないことを示します (ユーザーが今週にこのオブジェクトを参照していない)。

:

if campaign_week_frequency < 2 :
5
else :
0.1

ライン項目の週の頻度

日曜日から始まる今週にユーザーが表示した広告の数に基づいてインプレッションを評価します。  

キーワード: line_item_week_frequency

演算子:=<<=presence/absenceincomparisonnotrange

: 今週にユーザーに表示された広告の数を表す正の整数。 0 頻度情報がないことを示します (ユーザーが今週にこのオブジェクトを参照していない)。

:

if line_item_week_frequency < 2:
5
else:
0.1

広告主の週の頻度

日曜日から始まる今週にユーザーが表示した広告の数に基づいてインプレッションを評価します。  

キーワード: advertiser_week_frequency

演算子:=<<=presence/absenceincomparisonnotrange

: 今週にユーザーに表示された広告の数を表す正の整数。 0 頻度情報がないことを示します (ユーザーが今週にこのオブジェクトを参照していない)。

:

if advertiser_week_frequency < 2:
5
else:
0.1

キャンペーン当日の頻度 (システム管理者のみ)

その日にユーザーが表示した広告の数に基づいてインプレッションを評価します。

キーワード: campaign_day_frequency

演算子:=<<=presence/absenceincomparisonnotrange

: その日のユーザーに表示された広告の数を表す正の整数。 0 周波数情報がないことを示します (ユーザーは現在の日にこのオブジェクトを閲覧していません)。

:

if campaign_day_frequency < 2 :
5
else :
0.1

キャンペーンの最新状況 (システム管理者のみ)

ユーザーが最新性データを利用できるかどうかを評価し、利用可能な場合は、ユーザーが広告を見てからの時間数 (分) を評価します。

キーワード: campaign_recency

演算子:=<<=presence/absenceincomparisonnotrange

: ユーザーがインプレッションを見てからの時間数を示す正の整数。切り捨てられます。 59 秒は 0、61 秒は 1 と評価されます。 0 は、インプレッションがごく最近見られたことを意味します。 Null つまり、最新データがないことを意味します (ユーザーは以前にこのインプレッションを見たことがありません)。

:

if campaign_recency < 2 :
2
else :
0.1

ライン項目の最新性

ユーザーが最新性データを利用できるかどうかを評価し、利用可能な場合は、ユーザーが広告を見てからの時間数 (分) を評価します。

キーワード: line_item_recency

演算子:=<<=presence/absenceincomparisonnotrange

: ユーザーがインプレッションを見てからの時間数を示す正の整数。切り捨てられます。 59 秒は 0、61 秒は 1 と評価されます。 0 は、インプレッションがごく最近見られたことを意味します。 Null つまり、最新データがないことを意味します (ユーザーは以前にこのインプレッションを見たことがありません)。

:

if line_item_recency < 2:
5
else:
0.1

広告主の最新性

ユーザーが最新性データを利用できるかどうかを評価し、利用可能な場合は、ユーザーが広告を見てからの時間数 (分) を評価します。

キーワード: advertiser_recency

演算子:=<<=presence/absenceincomparisonnotrange

: ユーザーがインプレッションを見てからの時間数を示す正の整数。切り捨てられます。 59 秒は 0、61 秒は 1 と評価されます。 0 は、インプレッションがごく最近見られたことを意味します。 Null つまり、最新データがないことを意味します (ユーザーは以前にこのインプレッションを見たことがありません)。

:

if advertiser_recency < 2:
5
else:
0.1

クリエイティブ

クリエイティブに基づいてインプレッションを評価します。

キーワード: creative

オペレーター: 任意

: クリエイティブ ID を表す文字列 (整数である必要があります)。

:

if creative=12345:
5
else:
0.1

クリエイティブ サイズ

クリエイティブ サイズに基づいてインプレッションを評価します。

キーワード: creative_size

演算子: <><=>=rangeを除く。 複数の値をテストするには、 in を使用します。

: クリエイティブ サイズを表す文字列。書式設定は "WIDTHxHEIGHT"

:

if creative_size = "300x250":
5
elif creative_size = "250x250":
3
else:
0.1

取引 ID

取引 ID に基づいてインプレッションを評価します。  

キーワード: deal_id

オペレーター: rangeを除く。

: 取引 ID を整数で表す文字列。

:

if deal_id in (12345,98765):
1.0
else:
0.1

Random1、Random2、Random 3

01 の間のランダム化変数に基づいてインプレッションを評価します。 このパラメーターを使用すると、アルゴリズムにランダム性が Bonsai 追加されます。

キーワード: random1random2random3

演算子: 任意。 複数の値をテストするには、 in を使用します。

: 0 から 1 までの値。小数点以下 6 桁までの小数点以下で書式設定されます。

:

if random1 > 0.8:
1.0
elif random1 range (0.4, 0.8):
2.0
else:
0.1

インベントリ URL ID

インベントリ URL にマッピングされるインベントリ URL ID* に基づいてインプレッションを評価します。

キーワード: inventory_url_id

演算子: <><=>=rangeを除く。

: 在庫 URL ID (整数)。

:

if inventory_url_id=12345:
5
else:
0.1

* 拡張された広告申込情報でのみ使用できます

複合機能

上記のシンプルな機能では、インプレッションの 1 つの側面 (国/地域、Cookie の年齢、モバイル アプリなど) を評価できます。 複合 セグメント と周波数 /最新度 の特徴はより微妙です。セグメントの経過時間やセグメント値など、これらの機能の複数の属性を評価できます。

セグメント

セグメントの存在/不在

自社または第三者セグメントにおけるユーザーのプレゼンスに基づいてインプレッションを評価します。

キーワード: segment[ID]ID はセグメント ID です。 セグメント サービス を使用して、セグメント ID を取得します。

属性: なし

演算子: 存在の場合はなし、不在の場合は not

: なし

:

if any segment[12345], segment[23456], segment[34567]:
5
elif any segment[76543], segment[65432], segment[54321]:
3
elif not segment[9999]:
1
else:
0.2

セグメントの経過時間

ユーザーがファースト パーティまたはサード パーティのセグメントに追加されてからの分単位でインプレッションを評価します。

注:

ユーザーがセグメントに含まれていない場合、この機能は Falseと評価されます。

キーワード: segment[ID]ID はセグメント ID です。 セグメント サービス を使用して、セグメント ID を取得します。

属性: .age

演算子: <> 、または =

: ユーザーがセグメントに追加されてからの分を表す正の整数。

:

if segment[12345].age < 5:
2
else:
0.2

セグメント値

ユーザー定義の値に基づいてインプレッションを評価します。 値は、バッチ セグメント サービスや、ファースト パーティまたはサード パーティのセグメント クエリ文字列など、さまざまな方法で渡すことができます。 セグメント クエリ文字列を介して値を渡す方法の詳細については、ドキュメントの 「高度なセグメント ピクセル 」を参照してください。

注:

ユーザーがセグメントに含まれていない場合、この機能は Falseと評価されます。

キーワード: segment[ID]ID はセグメント ID です。 セグメント サービス を使用して、セグメント ID を取得します。

属性: .value

オペレーター: <>、または =

: ユーザー定義値を表すゼロ以外の正の整数。

:

if segment[12345].value = 5:
2
else:
0.2

頻度/最近

頻度の有無

ユーザーが周波数データを使用できるかどうかを評価します。 これは、広告主、広告申込情報、またはキャンペーンのすべての広告について決定できます。

キーワード: frequency

属性: OBJECT[ID].OBJECTadvertiserline_item、または campaign で、 ID はオブジェクト ID です。 ID を取得するには、 広告主サービスライン アイテム サービス、または キャンペーン サービス を使用します。

演算子: <> 、または =

: 0 は、ユーザーがこのオブジェクトのインプレッションを見たことがないことを示します。正の整数は、頻度情報が利用可能であることを示します。

注:

最近性と異なり、頻度データは決して null ではありません。 ユーザーがこのオブジェクトのインプレッションを見たことがない場合、頻度は 0です。

:

if line_item[15].frequency > 0:
2
elif campaign[20].frequency > 0:
1.5
elif campaign[23].frequency > 0:
1
else:
0.1

有効期間の頻度

広告主、広告申込情報、またはキャンペーンの有効期間にわたってユーザーが表示した広告の数に基づいてインプレッションを評価します。  

キーワード: lifetime_frequency

属性: OBJECT[ID].OBJECTadvertiserline_itemcampaign、または creativeID はオブジェクト ID です。 ID を取得するには、 広告主サービスライン アイテム サービス、または キャンペーン サービス を使用します。

演算子:=<<=presence/absenceincomparisonnotrange

: オブジェクトの有効期間中にユーザーが表示した広告の数を表す正の整数。 0 周波数情報がないことを示します (ユーザーはこのオブジェクトを見たことがありません)。

:

if campaign[20].lifetime_frequency < 2:
5
elif advertiser[12].lifetime_frequency < 10:
4
elif advertiser[12].lifetime_frequency < 20:
2
else:
0.1

一日のうちの頻度

1 日にユーザーが表示したインプレッション数に基づいてインプレッションを評価します。 広告主、広告申込情報、またはキャンペーンに対して決定できます。  

キーワード: day_frequency

属性: OBJECT[ID].OBJECTadvertiserline_item、または campaign で、 ID はオブジェクト ID です。 ID を取得するには、 広告主サービスライン アイテム サービス、または キャンペーン サービス を使用します。

演算子:=<<=presence/absenceincomparisonnotrange

: その日のユーザーに表示された広告の数を表す正の整数。 0 周波数情報がないことを示します (ユーザーは現在の日にこのオブジェクトを閲覧していません)。

:

if campaign[20].day_frequency < 2:
5
elif advertiser[12].day_frequency < 10:
4
elif advertiser[12].day_frequency < 20:
2
else:
0.1

Recency の有無とデータ

ユーザーが最新性データを利用できるかどうかを評価します。また、使用可能な場合は、ユーザーが広告を見てからの時間 (分) を評価します。 これは、広告主、品目、またはキャンペーンの下にあるすべての広告について、ユーザーについて決定できます。

キーワード: recency

属性: OBJECT[ID].OBJECTadvertiserline_item、または campaign で、 ID はオブジェクト ID です。 ID を取得するには、 広告主サービスライン アイテム サービス、または キャンペーン サービス を使用します。

演算子:=<<=presence/absenceincomparisonnotrange

: ユーザーがインプレッションを見てからの時間数を示す正の整数。切り捨てられます。 59 秒は 0、61 秒は 1 と評価されます。 0 は、インプレッションがごく最近見られたことを意味します。 Null つまり、最新データがないことを意味します (ユーザーは以前にこのインプレッションを見たことがありません)。

:

if not advertiser.recency:
0.1
elif advertiser[3].recency > 60:
1
else:
0.2

複数の属性を使用する複合機能構文の例

複数のセグメント属性の例

# This tree determines a bid price as follows:
# 1. If the user is in segment 3 and has a value greater than 1 or has been in the segment for 5 minutes, bid $1.
# 2. Otherwise, bid $2.
if any segment[3].value > 1, segment[3].age = 5:
    1.0
else:
    2.0  

複数の属性を持つ recency/frequency 構文の例

# This tree determines a bid price as follows:
# 1. If there's no recency data for this user related to ads in line item 3, bid $1.
# 2. If the user has seen an ad in line item 3 more than 5 minutes ago and the user has seen an ad in campaign 2 less than four times today, bid $3.
#3. If the user has seen an ad in line item 1 more than 5 times ever or more than 4 times today, or if the user has seen an ad in advertiser 2 more than 4 times today, bid $0.50.
#4. Otherwise, bid nothing.
if not line_item[3].recency: 
        1
elif every line_item[3].recency > 5, campaign[2].day_frequency < 4: 
        3 
elif any line_item[1].lifetime_frequency > 5, line_item[1].day_frequency > 4, advertiser[2].day_frequency > 4: 
        0.50 
else: 
        0  

複数の複合属性の例

# This tree determines a bid price as follows:
# 1. If this user is in segment 3 and has a value greater than 1 or has been in the segment for 5 minutes, bid $1.
# 2. If the user has seen an ad in line item 3 more than 5 minutes ago and an ad in campaign 2 less than four times today, bid $3.
# 3. If the user has seen an ad in line item 1 more than 5 times ever or more than 4 times today, or if the user has seen an ad in advertiser 2 more than 4 times today, bid $0.50.
# 4. Otherwise, bid nothing.
if any segment[3].value > 1, segment[3].age = 5:
    1
elif every line_item[3].recency > 5, campaign[2].day_frequency < 4: 
        3 
elif any line_item[1].lifetime_frequency > 5, line_item[1].day_frequency > 4, advertiser[2].day_frequency > 4: 
        0.50 
else: 
        0