Język zapytań Google Ads

Język zapytań Google Ads może wysyłać zapytania do interfejsu Google Ads API w celu:

Zasoby i powiązane z nimi atrybuty, segmenty i dane za pomocą
GoogleAdsService Wyszukiwarka lub SearchStream
Wynik zapytania GoogleAdsService to lista wystąpień GoogleAdsRow, z których każde GoogleAdsRowreprezentuje zasób. Jeśli wymagane są jakiekolwiek atrybuty lub dane, wiersz zawiera też te pola. Jeśli zostaną przesłane żądania dotyczące segmentów, odpowiedź będzie zawierać dodatkowy wiersz dla każdej pary segment–zasób.
Metadane dotyczące dostępnych pól i zasobów w
GoogleAdsFieldService

Ta usługa udostępnia katalog pól, do których można kierować zapytania, wraz ze szczegółowymi informacjami o ich zgodności i typie.

Wynik zapytania GoogleAdsFieldService to lista wystąpień GoogleAdsField, z których każde zawiera informacje o żądanym polu.GoogleAdsField

Wysyłanie zapytań dotyczących atrybutów zasobu

Oto podstawowe zapytanie dotyczące atrybutów zasobu kampanii, które pokazuje, jak zwrócić identyfikator, nazwę i stan kampanii:

SELECT
  campaign.id,
  campaign.name,
  campaign.status
FROM campaign
ORDER BY campaign.id

To zapytanie sortuje według identyfikatora kampanii. Każdy wynikowy element GoogleAdsRow będzie reprezentować obiekt campaign wypełniony wybranymi polami (w tym resource_name danej kampanii).

Aby dowiedzieć się, jakie inne pola są dostępne w przypadku zapytań dotyczących kampanii, zapoznaj się z dokumentacją referencyjną Campaign.

Wybieranie danych

Oprócz wybranych atrybutów danego zasobu możesz też wysyłać zapytania o powiązane dane:

SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
  AND metrics.impressions > 1000
ORDER BY campaign.id

To zapytanie filtruje tylko kampanie o stanie PAUSED, które uzyskały ponad 1000 wyświetleń, a następnie sortuje je według identyfikatora kampanii. Każdy z wynikających z tego GoogleAdsRow będzie miał pole metrics wypełnione wybranymi danymi.

Listę danych, których można używać w zapytaniach, znajdziesz w dokumentacji Metrics.

Wysyłanie zapytań o segmenty

Oprócz wybranych atrybutów danego zasobu możesz też wysyłać zapytania o powiązane segmenty:

SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  metrics.impressions,
  segments.date,
FROM campaign
WHERE campaign.status = 'PAUSED'
  AND metrics.impressions > 1000
  AND segments.date during LAST_30_DAYS
ORDER BY campaign.id

Podobnie jak w przypadku zapytań o dane, to zapytanie filtruje tylko te kampanie, które mają stan PAUSED i które uzyskały ponad 1000 wyświetleń. Jednak to zapytanie dzieli dane według daty. W efekcie każda z wyników GoogleAdsRow reprezentuje parę złożoną z kampanii i daty Segment. Pamiętaj, że segmentowanie dzieli wybrane dane, tworząc grupy według każdego segmentu w klauzuli SELECT.

Listę segmentów, do których można kierować zapytania, znajdziesz w dokumentacji Segments.

W zapytaniu dotyczącym danego zasobu możesz złączyć go z innymi powiązanymi zasobami (jeśli są dostępne). Te powiązane zasoby nazywamy „zasobami przypisanymi”. Możesz dołączać zasoby przypisane do siebie w sposób domyślny, wybierając w zapytaniu atrybut.

SELECT
  campaign.id,
  campaign.name,
  campaign.status,
  bidding_strategy.name
FROM campaign
ORDER BY campaign.id

To zapytanie nie tylko wybiera atrybuty kampanii, ale też pobiera powiązane atrybuty z każdej wybranej kampanii. Każdy wynikowy element GoogleAdsRow reprezentuje obiekt campaign wypełniony wybranymi atrybutami kampanii oraz wybranym atrybutem strategii ustalania stawek bidding_strategy.name.

Aby dowiedzieć się, jakie zasoby z przypisanymi danymi są dostępne w przypadku zapytań dotyczących kampanii, zapoznaj się z dokumentacją referencyjną Campaign.

Mutowanie na podstawie wyników zapytania

Gdy wysyłasz zapytanie o dany zasób, możesz od razu pobrać zwrócone wyniki jako obiekty, zmodyfikować je i odesłać z powrotem do metody modyfikacji w usłudze tego zasobu. Poniżej znajdziesz przykładowy proces:

  1. Wykonaj zapytanie dotyczące wszystkich kampanii, które są obecnie PAUSED i mają wyświetlenia większe niż 1000.
  2. Pobierz obiekt Campaign z pola campaign każdego obiektu GoogleAdsRow w odpowiedzi.
  3. Zmień stan każdej kampanii z PAUSED na ENABLED.
  4. Aby zaktualizować kampanie, zadzwoń do CampaignService.MutateCampaigns.

Metadane pola

Zapytania wysyłane pod adres GoogleAdsFieldService służą do pobierania metadanych pól. Na podstawie tych informacji możesz się dowiedzieć, jak pola można stosować razem w zapytaniu. Dane są dostępne w interfejsie API, który udostępnia niezbędne metadane potrzebne do weryfikacji lub tworzenia zapytań. Dzięki temu programiści mogą to robić programowo. Oto typowe zapytanie dotyczące metadanych:

SELECT
  name,
  category,
  selectable,
  filterable,
  sortable,
  selectable_with,
  data_type,
  is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"

W tym zapytaniu możesz zastąpić parametr <INSERT_RESOURCE_OR_FIELD> zasobem (takim jak customer lub campaign) albo polem (takim jak campaign.id, metrics.impressions lub ad_group.id).

Listę pól, do których można kierować zapytania, znajdziesz w dokumentacji GoogleAdsField.

Przykłady kodu

Biblioteki klienta zawierają przykłady korzystania z języka zapytań Google Ads w GoogleAdsService. Folder Podstawowe operacje zawiera przykłady takie jak GetCampaigns, GetKeywords i SearchForGoogleAdsFields.