リソース メタデータ

GoogleAdsFieldService(GetGoogleAdsField または SearchGoogleAdsFields を介して)を使用すると、GoogleAdsService Search メソッドと SearchStream メソッドで使用可能なリソース、リソース フィールド、セグメンテーション キー、指標のカタログを動的にリクエストできます。カタログには、Google 広告 API クライアントが Google 広告クエリ言語ステートメントの検証と構築に使用できるメタデータが用意されています。

HTTP リクエストとレスポンスのサンプル

リクエストは、次の URL の Google Ads API サーバーへの HTTP GET で構成されます。

https://googleads.googleapis.com/v25/googleAdsFields/{resource_or_field}

次の例は、ad_group リソースに対する GoogleAdsFieldService から返されたレスポンスに続くリクエストを示しています。

リクエスト

https://googleads.googleapis.com/v25/googleAdsFields/ad_group

レスポンス

{
  "resourceName": "googleAdsFields/ad_group",
  "name": "ad_group",
  "category": "RESOURCE",
  "selectable": false,
  "filterable": false,
  "sortable": false,
  "selectableWith": [
    "campaign",
    "customer",
    "metrics.average_cpc",
    "segments.device"
  ],
  "attributeResources": [
    "customer",
    "campaign"
  ],
  "metrics": [
    "metrics.conversions",
    "metrics.search_budget_lost_impression_share",
    "metrics.average_cost",
    "metrics.clicks"
  ],
  "segments": [
    "segments.date",
    "segments.ad_network_type",
    "segments.device"
  ]
}

このサンプルでは、重要な配列は次のとおりです。

attributeResources
FROM 句のリソースに暗黙的に結合できるリソース。指標をセグメント化しません。
category が RESOURCE のフィールドに対してのみ入力されます。
metrics
: FROM 句のリソースとともに選択できる指標。category が RESOURCE のフィールドに対してのみ入力されます。
segments
: FROM 句のリソースで選択できるセグメント キー(segments.* フィールドとセグメント化リソース)。これらは、クエリで指定された指標をセグメント化します。category が RESOURCE のフィールドに対してのみ入力されます。
selectableWith
このリソースまたはセグメントが FROM 句のプライマリ リソースでない場合に、同じ Google Ads Query Language クエリで選択できるリソース、セグメント、指標。

selectableWith で互換性をクエリする

リソースまたはセグメント フィールドの selectableWith 属性は、同じ Google Ads Query Language クエリで選択できる他のリソース、セグメント、指標を指定します。この属性は、FROM 句で指定されていないリソースまたはセグメントのフィールドを含める場合に重要です。

Google 広告クエリ言語のクエリを作成する際は、次の点に注意してください。

  1. FROM 句のリソースはプライマリ エンティティです。このリソースからフィールドをいつでも選択できます。
  2. プライマリ エンティティで使用可能な互換性のある指標とセグメントを選択することもできます。
  3. FROM 句以外のリソースまたはセグメントのフィールドを含める場合は、この FROM 以外のリソースまたはセグメントが、クエリで選択されている他のすべてのフィールド、セグメント、指標と互換性があることを確認する必要があります。

特定のリソース(リソース A)の selectableWith リストには、リソース A がプライマリ エンティティでない場合に、リソース A のフィールドとともに選択できる他のすべてのリソース、セグメント、指標が含まれます。

例

次のクエリ例を考えてみましょう。

SELECT ad_group.id, segments.date, campaign.name FROM ad_group
  • FROM 句は ad_group を指定します。
  • このクエリは、ad_group.id(FROM リソースから)、segments.date、campaign.name を選択します。
  • campaign.name が選択されているが、campaign が FROM 句に含まれていないため、他の選択された要素との互換性を確認する必要があります。
  • このクエリが有効であることを確認するには、campaign リソースが segments.date(選択されている別のフィールド)と互換性がある必要があります。したがって、campaign リソースの selectableWith 属性を確認する必要があります。segments.date が campaign の selectableWith リストに含まれている場合、クエリは有効です。

FROM 句にないリソースからフィールドを選択する場合は、そのリソースの selectableWith リストに、SELECT 句に存在する他のすべてのセグメントとリソースを含める必要があります。

メタデータの詳細

次の GoogleAdsFieldCategory レベルで GoogleAdsFieldService(GetGoogleAdsField を使用したリソース名または SearchGoogleAdsFields を使用したクエリ)を使用してカタログをリクエストできます。

リソース(RESOURCE)
例: googleAdsFields/campaign。
リソース属性(ATTRIBUTE)
例: googleAdsFields/campaign.name。
セグメンテーション フィールド(SEGMENT)
例: googleAdsFields/segments.ad_network_type。
指標(METRIC)
例: googleAdsFields/metrics.clicks。