GoogleAdsService
to ujednolicona usługa do pobierania i raportowania obiektów dostępna w interfejsie Google Ads API. Usługa udostępnia metody, które:
- Pobieranie określonych atrybutów obiektów.
- Pobieranie danych o wydajności obiektów na podstawie zakresu dat.
- Porządkuj obiekty na podstawie ich atrybutów.
- Przy użyciu warunków wskaż obiekty, które mają zostać zwrócone w odpowiedzi.
- Ogranicz liczbę zwracanych obiektów.
GoogleAdsService
może zwracać wyniki na 2 sposoby:
GoogleAdsService.SearchStream
zwraca wszystkie wiersze w pojedynczej odpowiedzi strumieniowania,co jest bardziej skuteczne w przypadku dużych zbiorów wyników (ponad 10 tys. wierszy). Może to być bardziej odpowiednie, jeśli aplikacja wsadowa chce pobrać jak najszybciej.GoogleAdsService.Search
dzieli obszerne odpowiedzi na łatwe do zarządzania strony z wynikami. Przydaje się to, gdy interaktywna aplikacja wyświetla jednocześnie stronę z wynikami.
Dowiedz się więcej o porównywaniu stron docelowych z przesyłaniem strumieniowym.
Poproś
Metoda wyszukiwania wymaga SearchGoogleAdsRequest
, który składa się z tych atrybutów:
customer_id
query
w języku zapytań Google Ads wskazujący zasób, którego dotyczą zapytanie, atrybuty, segmenty i dane do pobrania oraz warunki określające, które obiekty mają być zwracane- (Tylko w
GoogleAdsService.Search
)page_size
, aby wskazać, ile obiektów ma być zwracanych w pojedynczej odpowiedzi, gdy używasz stronicowania. - (Tylko w
GoogleAdsService.Search
) Opcjonalnypage_token
do pobrania następnej grupy wyników przy użyciu stronicowania.
Więcej informacji o języku zapytań Google Ads znajdziesz w przewodniku Google Ads Query Language.
Przetwarzanie odpowiedzi
GoogleAdsService
zwraca listę obiektów GoogleAdsRow
.
Każdy GoogleAdsRow
reprezentuje obiekt zwrócony przez zapytanie i składa się z zestawu atrybutów wypełnianych na podstawie pól żądanych w klauzuli SELECT
. Atrybuty, które nie są uwzględnione w klauzuli SELECT
, nie są wypełniane w obiektach GoogleAdsRow
w odpowiedzi.
Na przykład chociaż ad_group_criterion
ma atrybut status
, pole status
atrybutu ad_group_criterion
wiersza nie jest wypełniane w odpowiedzi na zapytanie, w przypadku którego klauzula SELECT
nie zawiera wartości ad_group_criterion.status
. Podobnie atrybut campaign
wiersza nie jest wypełniany, jeśli klauzula SELECT
nie zawiera żadnych pól z zasobu campaign
.
Każdy element GoogleAdsRow
może mieć różne atrybuty i dane z innego wiersza w tym samym zbiorze wyników, więc wiersze powinny być traktowane jako obiekty, a nie stałe wiersze tabeli.
UNKNOWN typów wyliczeniowych
Zasoby zwrócone z typem UNKNOWN
nie są w pełni obsługiwane przez tę wersję interfejsu API. Te zasoby można tworzyć za pomocą innych interfejsów, np. interfejsu Google Ads. Możesz wybrać wskaźniki, gdy zasób ma typ UNKNOWN
, ale nie możesz wprowadzić mutacji do zasobu za pomocą interfejsu API. Przykładem może być nowa kampania lub reklama wprowadzona w interfejsie, ale nieobsługiwana w wersji interfejsu API, której dotyczy zapytanie.
Oto kilka kwestii, o których warto pamiętać:
- Zasób typu
UNKNOWN
może być obsługiwany później lub może pozostaćUNKNOWN
bez ograniczeń czasowych. - Nowe obiekty typu
UNKNOWN
mogą pojawić się w każdej chwili. Obiekty te są zgodne wstecznie, ponieważ wartość wyliczenia jest już dostępna. Aby zapewnić Ci dokładny wgląd w swoje konto, wprowadziliśmy tę zmianę w miarę ich dostępności. ZasóbUNKNOWN
może się pojawiać w wyniku nowych działań na Twoim koncie w innych interfejsach lub gdy zasób nie jest już obsługiwany. - Zasoby
UNKNOWN
mogą mieć dołączone szczegółowe wskaźniki, które mogą być przedmiotem zapytań. UNKNOWN
zasobów jest zwykle w pełni widocznych w interfejsie Google Ads.- W przypadku
UNKNOWN
zasobów zazwyczaj nie można wprowadzać mutacji.
Podział na segmenty
Odpowiedź będzie zawierać po 1 komponencie GoogleAdsRow
dla każdej kombinacji tych elementów:
- Instancja zasobu głównego określona 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ć po 1 wierszu na każdą kombinację tych elementów:
campaign
segments.ad_network_type
segments.date
Wyniki są domyślnie podzielone na segmenty według każdego wystąpienia głównego zasobu, a nie według wartości poszczególnych wybranych pól. Przykład:
SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
daje 1 wiersz na kampanię, a nie 1 wiersz na osobną wartość w polu campaign.status
.