マッチング関数

AdWords の CustomerFeedCampaignFeed、および AdGroupFeed オブジェクトでは、マッチング関数を使用してフィード アイテムの選択条件を定義できます。マッチング関数には次の 3 つのフィールドがあります。

フィールド タイプ
lhsOperand FunctionArgumentOperand
operator Function.Operator
rhsOperand FunctionArgumentOperand

たとえば feedItemId が 1000001、1000002、または 1000003 の FeedItem を選択する Function の場合、属性は次のようになります。

  1. lhsOperand = RequestContextOperand + contextType = FEED_ITEM_ID
  2. operator = IN
  3. rhsOperand = [1000001, 1000002, 1000003]

オペランドと演算子のオブジェクトを作成する代わりに、関数の functionString を設定することもできます。次の関数文字列を使用して、上記の例と同様の関数を作成することができます。

IN(FEED_ITEM_ID,{1000001,1000002,1000003})

シンプルな関数だけでなく、複数の関数を組み合わせて新しい関数を作成することもできます。これについては制約もありますが、詳しい説明は後述します。

以降のセクションでは、AdWords API がマッチング関数を検証する際に使用する各種ルールについて説明します。

フィード アイテムの例

このガイドでは、架空のフィード ID 12345678 の次のフィード アイテムを例として使用します。

フィード アイテム ID 属性 0
名前
属性 1
行 2
属性 2
行 3
属性 3
最終ページ URL
1000001 火星旅行 光速の宇宙旅行 2 億 2,530 万キロ [http://www.example.com/mars]
1000002 金星旅行 光速の宇宙旅行 2 億 6,071 万キロ [http://www.example.com/venus]
1000003 木星旅行 昼食込み 5 億 8,741 万キロ [http://www.example.com/jupiter1, http://www.example.com/jupiter2]
1000004 月旅行 ビスケット無料 38 万 4,472 キロ [http://www.example.com/moon]

関数のタイプ

AdWords API では次の葉ノード関数を利用できます。複数の関数を組み合わせた関数は次のセクションで説明します。

プラットフォーム(モバイルまたは PC)に基づく選択

このタイプの関数では、特定の広告表示オプション(プレースホルダ タイプ)の表示をモバイル ユーザーまたは PC ユーザーに限定できます。

フィールド 有効な値
lhsOperand RequestContextOperand + contextType = DEVICE_PLATFORM
operator EQUALS
rhsOperand Mobile または Desktop の 1 つの ConstantOperand(大文字と小文字を区別)
関数文字列の例
EQUALS(CONTEXT.DEVICE,"Mobile")

フィード アイテム ID に基づく選択

このタイプの関数では、feedItemId を指定してフィード アイテムを選択できます。

次の関数文字列ではフィード アイテム ID により最初の 3 つのフィード アイテム(火星旅行、金星旅行、木星旅行)が選択されます。

フィールド 有効な値
lhsOperand RequestContextOperand + contextType = FEED_ITEM_ID
operator EQUALS または IN
rhsOperand 1 つ以上の ConstantOperand
  • EQUALS の場合は 1 つの ConstantOperand
  • IN の場合は最大 20 個の ConstantOperands
関数文字列の例
IN(FEED_ITEM_ID,{1000001,1000002,1000003})

フィード属性に基づく選択

このタイプの関数では、FeedItem の特定の属性の値に基づいてフィード アイテムを選択できます。

次の関数文字列では属性 0 の値に基づいて 1 番目、 2 番目、4 番目のフィード アイテムが選択されます。

フィールド 有効な値
lhsOperand FeedAttributeOperand + feedIdfeedAttributeId
operator EQUALS または CONTAINS_ANY
rhsOperand 1 つ以上の ConstantOperand
  • EQUALS の場合は 1 つの ConstantOperand
  • CONTAINS_ANY の場合は最大 3 つの ConstantOperands
関数文字列の例
CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise","Moon cruise"})

ID 関数(常に True または常に False)

この関数では常に True または常に False に評価される条件を定義できます。

次の関数文字列の例ではフィードのアイテムは何も選択されません。このタイプの関数を使用すると、ユーザー、キャンペーン、または広告グループの単位で特定のタイプの広告表示オプションを無効にできます。

IDENTITY(true) という関数文字列も使用可能で、その場合はフィードのすべてのアイテムが選択されます。ただし、住所表示オプションの CustomerFeed でのみ使用するようにしてください。

フィールド 有効な値
lhsOperand 1 つの ConstantOperandbooleanValuetrue または false
operator IDENTITY
rhsOperand なし
関数文字列の例
IDENTITY(false)

関数の結合

FunctionOperand に AND 演算子を使用すると、複数の関数を論理的に結合して新しいマッチング関数を作成できます。

次の関数文字列の例ではフィード アイテム ID に基づいて最初の 3 つのアイテムが選択されますが、表示先がモバイル端末である場合に限られます。

フィールド 有効な値
lhsOperand 2 つ以上の FunctionArgumentOperand
operator AND
rhsOperand なし
関数文字列の例
AND(IN(FEED_ITEM_ID,{1000001,1000002,1000003}),EQUALS(CONTEXT.DEVICE,"Mobile"))

関数を結合する場合、lhsOperand は次のような設定のみ認められます。

また、FunctionOperand は最上位の Function でないと使用できません。FunctionOperand はネストできません。

以下に、関数文字列の有効、無効の例を紹介します。

関数文字列 有効? 備考
AND(
 IN(FEED_ITEM_ID,{1000001,1000002,
   1000003}),
 EQUALS(CONTEXT.DEVICE,"Mobile"))
はい 有効 - フィード アイテム ID 関数とプラットフォーム関数で構成されている
AND(
 CONTAINS_ANY(FeedAttribute[12345678,0],
   {"Mars cruise","Venus cruise",
    "Moon cruise"}),
 EQUALS(CONTEXT.DEVICE,"Mobile"))
    
はい 有効 - フィード属性関数とプラットフォーム関数で構成されている
AND(
 CONTAINS_ANY(FeedAttribute[12345678,0],
   {"Mars cruise","Venus cruise",
    "Moon cruise"}),
 CONTAINS_ANY(FeedAttribute[12345678,2],
   {
     "140 million miles",
     "162 million miles"}))
    
はい 有効 - 2 つのフィード属性関数で構成されている
AND(
 IN(FEED_ITEM_ID,{1000001,1000002,
   1000003}),
 CONTAINS_ANY(FeedAttribute[12345678,0],
   {"Mars cruise","Venus cruise",
    "Moon cruise"}))
    
いいえ 無効 - フィード アイテム ID 関数とフィード属性関数は結合できない
AND(
 AND(
  IN(FEED_ITEM_ID,
     {1000001,1000002,1000003}),
   EQUALS(CONTEXT.DEVICE,"Mobile")),
 AND(
   CONTAINS_ANY(
     FeedAttribute[12345678,0],
     {"Mars cruise","Venus cruise",
      "Moon cruise"}),
   CONTAINS_ANY(FeedAttribute[
     12345678,1],
     {"Free pretzels","Lunch included"})
 )
)
    
いいえ 無効 - 結合する関数はネストできない

関数の演算子のルール

次に各演算子の使用上のルールを紹介します。

IN 演算子

rhsOperand には 1~20 個の ConstantOperand オブジェクトを設定します。

EQUALS 演算子

rhsOperand には ConstantOperand オブジェクトを 1 つだけ設定します。

AND 演算子

lhsOperand には 2 つ以上の FunctionOperand オブジェクトを設定します。rhsOperand は設定できません。

CONTAINS_ANY 演算子

rhsOperand には 1~3 個の ConstantOperand オブジェクトを設定します。

IDENTITY 演算子

lhsOperand には booleanValue を指定した ConstantOperand を 1 つのみ設定します。rhsOperand は設定できません。

CustomerFeed の関数のルール

CustomerFeed では次のプレースホルダ タイプのいずれかを 1 つだけ設定できます。

CustomerFeed のマッチング関数では、上記のすべての関数タイプ関数の組み合わせを使用できますが、住所表示オプションを使用する場合は除きます。

住所表示オプションの CustomerFeed

プレースホルダ タイプが住所CustomerFeed では次のいずれかを使用してください。

または

CampaignFeed と AdGroupFeed の関数のルール

CampaignFeed や AdGroupFeed オブジェクトでマッチング関数を作成する場合は、上記すべての関数タイプ関数の組み合わせを使用できます。

FeedItem のターゲティング設定

ユーザー、キャンペーン、広告グループ単位でマッチング関数を指定する以外に、campaignTargetingadGroupTargetingkeywordTargeting 属性を設定することで、フィード アイテムごとにターゲティング設定を指定することもできます。

そうしたターゲティング設定をマッチング関数と組み合わせると、特定のインプレッションでどのフィード アイテムを使用するか指定することができます。

たとえば、次のターゲティング設定でサイトリンクの FeedItem を作成します。

  • adGroupTargeting.TargetingAdGroupId = 12345
  • keywordTargeting.id = 7890

続いてプレースホルダ タイプ 1(サイトリンク)AdGroupFeed を定義し、プラットフォームのマッチング関数Mobile に設定します。

この広告グループのインプレッションを配信する際に AdWords はインプレッションの属性を確認し、FeedItem のターゲティング設定および AdGroupFeed のマッチング関数と一致している場合にのみ FeedItem を使ってサイトリンクを表示します。

例 1

インプレッションの属性: 広告グループ ID: 12345、キーワード: 7890、PC ユーザー。

結果: プラットフォーム(PC)が AdGroupFeed のマッチング関数と一致していないため、FeedItem は使われません。

例 2

インプレッションの属性: 広告グループ ID: 12345、キーワード: 8910、モバイル ユーザー。

結果: キーワード(7890)が FeedItem のターゲティング設定と一致していないため、FeedItem は使われません。

例 3

インプレッションの属性: 広告グループ ID: 12345、キーワード: 7890、モバイル ユーザー。

結果: AdGroupFeed のマッチング関数および FeedItem のターゲティング設定が両方とも属性と一致しているため、FeedItem が使われます。

次のステップ

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。