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.SearchStreamzwraca wszystkie wiersze w jednej odpowiedzi strumieniowej,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.Searchdzieli 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.Searchtylko) Opcjonalnypage_tokendo 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 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, np. interfejsu 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
UNKNOWNmoże być obsługiwany w późniejszym czasie lub pozostaćUNKNOWNbezterminowo. - Nowe obiekty typu
UNKNOWNmogą 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óbUNKNOWNmoże się pojawić z powodu nowych działań na Twoim koncie w innych interfejsach lub gdy zasób nie jest już obsługiwany. - Z zasobami
UNKNOWNmogą być powiązane szczegółowe statystyki, które można wysyłać w zapytaniach. UNKNOWNsą zwykle w pełni widoczne w interfejsie Google Ads.- Zasobów
UNKNOWNna 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:
campaignsegments.ad_network_typesegments.date
Wyniki są niejawnie segmentowane 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.