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"
]
}
このサンプルでは、重要な配列は次のとおりです。
attributeResourcescategoryがRESOURCEのフィールドに対してのみ入力されます。metrics- :
FROM句のリソースとともに選択できる指標。categoryがRESOURCEのフィールドに対してのみ入力されます。 segments- :
FROM句のリソースで選択できるセグメント キー(segments.*フィールドとセグメント化リソース)。これらは、クエリで指定された指標をセグメント化します。categoryがRESOURCEのフィールドに対してのみ入力されます。 selectableWith- このリソースまたはセグメントが
FROM句のプライマリ リソースでない場合に、同じ Google Ads Query Language クエリで選択できるリソース、セグメント、指標。
FROM 句のリソースに暗黙的に結合できるリソース。指標をセグメント化しません。selectableWith で互換性をクエリする
リソースまたはセグメント フィールドの selectableWith 属性は、同じ Google Ads Query Language クエリで選択できる他のリソース、セグメント、指標を指定します。この属性は、FROM 句で指定されていないリソースまたはセグメントのフィールドを含める場合に重要です。
Google 広告クエリ言語のクエリを作成する際は、次の点に注意してください。
FROM句のリソースはプライマリ エンティティです。このリソースからフィールドをいつでも選択できます。- プライマリ エンティティで使用可能な互換性のある指標とセグメントを選択することもできます。
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。