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żdeGoogleAdsRow
reprezentuje 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
.
Wysyłanie zapytania o atrybuty powiązanego zasobu
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:
- Wykonaj zapytanie dotyczące wszystkich kampanii, które są obecnie
PAUSED
i mają wyświetlenia większe niż 1000. - Pobierz obiekt
Campaign
z polacampaign
każdego obiektuGoogleAdsRow
w odpowiedzi. - Zmień stan każdej kampanii z
PAUSED
naENABLED
. - 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
.