Metadati delle risorse

Puoi utilizzare GoogleAdsFieldService per richiedere dinamicamente il catalogo per risorse, campi delle risorse, chiavi di segmentazione e metriche disponibili nei metodi GoogleAdsService Search e SearchStream. Il catalogo fornisce metadati che possono essere utilizzati dai client dell'API Google Ads per la convalida e la creazione di istruzioni Google Ads Query Language.

Esempio di richiesta e risposta HTTP

La richiesta è costituita da un HTTP GET al server dell'API Google Ads al seguente URL:

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

Il seguente esempio mostra una richiesta seguita dalla risposta restituita da GoogleAdsFieldService per la risorsa ad_group:

Richiesta

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

Risposta

{
  "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",
    ...
  ]
}

Per questo esempio, gli array importanti sono:

attributeResources
Risorse che possono essere unite implicitamente alla risorsa nella clausola FROM.
metrics
Metriche che possono essere selezionate con la risorsa nella clausola FROM. Compilato solo per i campi in cui category è RESOURCE.
segments
Chiavi di segmento che possono essere selezionate con la risorsa nella clausola FROM. Questi segmentano le metriche specificate nella query. Compilato solo per i campi in cui category è RESOURCE.
selectableWith

L'attributo selectableWith in un campo di risorsa o segmento specifica altre risorse, segmenti o metriche che possono essere selezionati nella stessa query GAQL. Questo attributo è fondamentale quando vuoi includere campi di una risorsa o di un segmento non specificati nella clausola FROM.

Quando crei una query GAQL:

  1.  La risorsa nella clausola FROM è l'entità principale. Puoi sempre selezionare i campi di questa risorsa.
  2.  Puoi anche selezionare metriche e segmenti compatibili disponibili con l'entità principale.
  3.  Se includi campi di risorse o segmenti al di fuori della clausola FROM, devi assicurarti che questa risorsa o questo segmento non FROM sia compatibile con tutti gli altri campi, segmenti e metriche selezionati nella query.

L'elenco selectableWith per una risorsa specifica (chiamiamola Risorsa A) contiene tutte le altre risorse, i segmenti e le metriche che possono essere selezionati insieme ai campi della risorsa A quando la risorsa A non è l'entità principale.

Esempio:

Considera questa query di esempio: SELECT ad_group.id, segments.date, campaign.name FROM ad_group

  •  La clausola FROM specifica ad_group.

  •  Questa query seleziona ad_group.id (dalla risorsa FROM), segments.date e campaign.name.

  •   Poiché campaign.name è selezionato, ma campaign non è nella clausola FROM, devi verificarne la compatibilità con gli altri elementi selezionati.

  •  Per garantire la validità di questa query, la risorsa campaign deve essere compatibile con segments.date (un altro campo selezionato). Pertanto, devi controllare l'attributo selectableWith per la risorsa campaign. Se segments.date è presente nell'elenco selectableWith di campaign, la query è valida.

Se selezioni campi da una risorsa che non si trova nella clausola FROM, l'elenco selectableWith della risorsa deve includere tutti gli altri segmenti e risorse presenti nella clausola SELECT.

Dettagli metadati

Puoi richiedere il catalogo utilizzando GoogleAdsFieldService a questi livelli:

Risorsa
Ad esempio, googleAdsFields/campaign.
Campo della risorsa
Ad esempio, googleAdsFields/campaign.name.
Campo di segmentazione
Ad esempio, googleAdsFields/segments.ad_network_type.
Metrica
Ad esempio, googleAdsFields/metrics.clicks.