リソース メタデータ

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

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

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

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

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

リクエスト

https://googleads.googleapis.com/v26/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 広告クエリ言語クエリで選択できるリソース、セグメント、指標。

selectableWith とのクエリの互換性

リソースまたはセグメント フィールドの selectableWith 属性は、同じ Google 広告クエリ言語クエリで選択できる他のリソース、セグメント、指標を指定します。この属性は、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 句に存在する他のすべてのセグメントとリソースが含まれている必要があります。

メタデータの詳細

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

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