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のフィールドにのみ入力されます。 metricsFROM句でリソースとともに選択できる指標。categoryがRESOURCEのフィールドにのみ入力されます。segmentsFROM句のリソースで選択できるセグメントキー(segments.*フィールドとセグメント化リソース)。これらは、クエリで指定された指標を分割します。categoryがRESOURCEのフィールドにのみ入力されます。selectableWith- このリソースまたはセグメントが
FROM句のプライマリ リソースでない場合に、同じ Google 広告クエリ言語クエリで選択できるリソース、セグメント、指標。
selectableWith とのクエリの互換性
リソースまたはセグメント フィールドの selectableWith 属性は、同じ Google 広告クエリ言語クエリで選択できる他のリソース、セグメント、指標を指定します。この属性は、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 句に存在する他のすべてのセグメントとリソースが含まれている必要があります。
メタデータの詳細
カタログをリクエストするには、GoogleAdsFieldService(GetGoogleAdsField を使用したリソース名、または SearchGoogleAdsFields を使用したクエリ)を次の GoogleAdsFieldCategory レベルで使用します。
- リソース(
RESOURCE) - 例:
googleAdsFields/campaign。 - リソース属性(
ATTRIBUTE) - 例:
googleAdsFields/campaign.name。 - セグメンテーション フィールド(
SEGMENT) - 例:
googleAdsFields/segments.ad_network_type。 - 指標(
METRIC) - 例:
googleAdsFields/metrics.clicks。