GoogleAdsService
to ujednolicona usługa pobierania obiektów i raportowania w interfejsie Google Ads API. Usługa ma metody, które:
- Pobieranie określonych atrybutów obiektów.
- Pobieranie danych o skuteczności obiektów na podstawie zakresu dat.
- Uporządkuj obiekty na podstawie ich atrybutów.
- Użyj warunków, aby wskazać, które obiekty mają być zwracane w odpowiedzi.
- Ogranicz liczbę zwracanych obiektów.
GoogleAdsService
może zwracać wyniki na 2 sposoby:
GoogleAdsService.SearchStream
zwraca wszystkie wiersze w jednej odpowiedzi przesyłanej strumieniowo,co jest bardziej wydajne w przypadku dużych (ponad 10 tys. wierszy) zbiorów wyników. Może to być bardziej odpowiednie, jeśli aplikacja wsadowa chce pobrać jak najwięcej danych w jak najkrótszym czasie.GoogleAdsService.Search
dzieli długie odpowiedzi na mniejsze strony z wynikami. Może to być bardziej odpowiednie, jeśli aplikacja interaktywna wyświetla stronę wyników naraz.
Dowiedz się więcej o stronicowaniu a przesyłaniu strumieniowym.
Poproś
Metoda wyszukiwania wymaga elementu SearchGoogleAdsRequest
, który składa się z tych atrybutów:
customer_id
- Język zapytań Google Ads
query
, który wskazuje zasób, o który należy wysłać zapytanie, atrybuty, segmenty i dane do pobrania oraz warunki, które należy zastosować, aby ograniczyć liczbę zwracanych obiektów. - (
GoogleAdsService.Search
tylko) Opcjonalnypage_token
do pobierania następnej transzy wyników podczas korzystania z paginacji.
Więcej informacji o języku zapytań Google Ads znajdziesz w przewodniku po języku zapytań Google Ads.
Przetwarzanie odpowiedzi
Funkcja GoogleAdsService
zwraca listę obiektów GoogleAdsRow
.
Każdy element GoogleAdsRow
reprezentuje obiekt zwrócony przez zapytanie i składa się z zestawu atrybutów, które są wypełniane na podstawie pól żądanych w klauzuli SELECT
. Atrybuty nieuwzględnione w klauzuli SELECT
nie są wypełniane w obiektach GoogleAdsRow
w odpowiedzi.
Na przykład chociaż element ad_group_criterion
ma atrybut status
, pole status
atrybutu ad_group_criterion
w wierszu nie jest wypełniane w odpowiedzi na zapytanie, w którym klauzula SELECT
nie zawiera elementu ad_group_criterion.status
. Podobnie atrybut campaign
w wierszu nie jest wypełniany, jeśli klauzula SELECT
nie zawiera żadnych pól z zasobu campaign
.
Każdy GoogleAdsRow
może mieć inne atrybuty i dane niż inny wiersz w tym samym zbiorze wyników, więc wiersze należy traktować jako obiekty, a nie stałe wiersze tabeli.
Typy wyliczeniowe UNKNOWN
Zasoby zwracane z typem UNKNOWN
nie są w pełni obsługiwane w tej wersji interfejsu API. Te zasoby mogły zostać utworzone za pomocą innych interfejsów, takich jak interfejs Google Ads. Możesz wybierać dane, gdy zasób ma typ UNKNOWN
, ale nie możesz zmieniać zasobu za pomocą interfejsu API. Przykładem może być nowa kampania lub reklama wprowadzona w interfejsie, ale nieobsługiwana w wersji interfejsu API, z której korzystasz.
Oto kilka kwestii, o których warto pamiętać:
- Zasób typu
UNKNOWN
może być obsługiwany w późniejszym czasie lub pozostaćUNKNOWN
bezterminowo. - Nowe obiekty typu
UNKNOWN
mogą pojawiać się w dowolnym momencie. Te obiekty są zgodne wstecznie, ponieważ wartość wyliczeniowa jest już dostępna. W ramach tej zmiany wprowadzamy zasoby, które są dostępne, aby zapewnić Ci dokładny wgląd w konto. ZasóbUNKNOWN
może się pojawić z powodu nowych działań na Twoim koncie w innych interfejsach lub gdy zasób przestanie być obsługiwany. - Z zasobami
UNKNOWN
mogą być powiązane szczegółowe statystyki, które można wysyłać w zapytaniach. UNKNOWN
są zwykle w pełni widoczne w interfejsie Google Ads.- Zasobów
UNKNOWN
na ogół nie można zmieniać.
Podział na segmenty
Odpowiedź będzie zawierać 1 GoogleAdsRow
dla każdej kombinacji tych elementów:
- Instancja głównego zasobu określonego w klauzuli
FROM
- Wartość każdego wybranego pola
segment
Na przykład odpowiedź na zapytanie, które wybiera FROM campaign
i zawiera segments.ad_network_type
oraz segments.date
w klauzuli SELECT
, będzie zawierać 1 wiersz dla każdej kombinacji tych elementów:
campaign
segments.ad_network_type
segments.date
Wyniki są segmentowane niejawnie według każdej instancji głównego zasobu, a nie według wartości poszczególnych wybranych pól. Na przykład
SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
daje w wyniku 1 wiersz na kampanię, a nie 1 wiersz na każdą odrębną wartość pola campaign.status
.