Język zapytań Google Ads

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

Zasoby oraz powiązane z nimi atrybuty, segmenty i dane za pomocą
GoogleAdsService Wyszukiwarka lub Strumień wyszukiwania
Wyniki zapytania GoogleAdsService to lista instancji GoogleAdsRow, z których każdy GoogleAdsRow reprezentuje zasób. Jeśli wymagane są jakieś atrybuty lub dane, wiersz zawiera też te pola. W przypadku żądań segmentów odpowiedź pokazuje też dodatkowy wiersz dla każdej krotki zasobu segmentu.
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 wykonać zapytania, ze specyfikacjami dotyczącymi ich zgodności i typu.

Wynik zapytania GoogleAdsFieldService to lista instancji GoogleAdsField, z których każdy GoogleAdsField zawiera informacje o żądanym polu.

Zapytanie o atrybuty zasobu

Poniżej znajdziesz podstawowe zapytanie o atrybuty zasobu kampanii i pokazujące, jak zwrócić identyfikator, nazwę i stan kampanii:

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

To zapytanie porządkuje według identyfikatora kampanii. Każda otrzymana wartość GoogleAdsRow reprezentuje obiekt campaign wypełniony wybranymi polami (łącznie z obiektem resource_name danej kampanii).

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

Wysyłanie zapytań o wskaźniki

Oprócz wybranych atrybutów dotyczących danego zasobu możesz też wysyłać zapytania o powiązane wskaźniki:

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 te kampanie, które mają stan PAUSED i które uzyskały ponad 1000 wyświetleń, i porządkują je według identyfikatora kampanii. W przypadku każdego wyniku GoogleAdsRow pole metrics zawiera wybrane dane.

Listę wskaźników, do których można wysyłać zapytania, znajdziesz w dokumentacji Metrics.

Zapytania dotyczące segmentów

Oprócz wybranych atrybutów dla 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órych stan to PAUSED i które miały ponad 1000 wyświetleń. Jednak to zapytanie segmentuje dane według daty. W ten sposób każda zmienna GoogleAdsRow reprezentuje krotkę kampanii z datą Segment. Pamiętaj, że podział na segmenty spowoduje podział wybranych danych, a ich grupowanie według każdego segmentu w klauzuli SELECT.

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

W zapytaniu dotyczącym danego zasobu możesz połączyć je z innymi powiązanymi zasobami, jeśli są dostępne. Takie powiązane zasoby są nazywane „przypisanymi zasobami”. Możesz domyślnie złączać zasoby z przypisanymi zasobami, wybierając atrybut w zapytaniu.

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 utworzony w ten sposób obiekt GoogleAdsRow reprezentuje obiekt campaign wypełniony wybranymi atrybutami kampanii oraz wybranym atrybutem strategii ustalania stawek bidding_strategy.name.

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

Mutowanie na podstawie wyników zapytania

Podczas wykonywania zapytań dotyczących danego zasobu możesz natychmiast wykorzystać zwrócone wyniki jako obiekty, zmodyfikować je i odesłać z powrotem do metody mutate w usłudze danego zasobu. Poniżej znajduje się przykładowy przepływ pracy:

  1. Wykonaj zapytanie dotyczące wszystkich kampanii, których obecnie liczba wyświetleń wynosi PAUSED, a ich liczba wyświetleń przekracza 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. Wywołaj CampaignService.MutateCampaigns ze zmodyfikowanymi kampaniami, aby je zaktualizować.

Metadane pola

Zapytania wysyłane do GoogleAdsFieldService służą do pobierania metadanych pola. Na podstawie tych informacji możesz zrozumieć, jak pola mogą być używane razem w zapytaniu. Dane są dostępne za pomocą interfejsu API i dostarczają niezbędnych metadanych niezbędnych do weryfikacji lub tworzenia zapytania, dzięki czemu programiści mogą to zrobić w sposób zautomatyzowany. Oto typowe zapytanie o metadane:

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

<INSERT_RESOURCE_OR_FIELD> w tym zapytaniu możesz zastąpić 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 tworzyć zapytania, znajdziesz w dokumentacji GoogleAdsField.

Przykłady kodu

Biblioteki klienta zawierają przykłady użycia języka zapytań Google Ads w interfejsie GoogleAdsService. Folder operacji podstawowych zawiera przykłady takie jak GetCampaigns, GetKeywords i SearchForGoogleAdsFields. Folder reporting zawiera przykład GetKeywordStats.