Pobieram obiekty

GoogleAdsService to ujednolicona usługa pobierania obiektów i raportowania w interfejsie Google Ads API. Ta usługa ma metody, które umożliwiają:

  • pobieranie konkretnych atrybutów obiektów,
  • pobieranie danych o skuteczności obiektów na podstawie zakresu dat,
  • sortowanie obiektów na podstawie ich atrybutów,
  • używanie warunków do wskazywania, które obiekty mają być zwracane w odpowiedzi,
  • ograniczanie liczby zwracanych obiektów.

GoogleAdsService może zwracać wyniki na 2 sposoby:

  • GoogleAdsService.SearchStream zwraca wszystkie wiersze w jednej odpowiedzi strumieniowej,co jest bardziej wydajne w przypadku dużych zbiorów wyników (ponad 10 tys. wierszy). Może to być bardziej odpowiednie, jeśli aplikacja wsadowa ma pobierać jak najwięcej danych w jak najkrótszym czasie.
  • GoogleAdsService.Search dzieli duże odpowiedzi na strony z wynikami, które można łatwo zarządzać. Może to być bardziej odpowiednie, jeśli aplikacja interaktywna wyświetla naraz jedną stronę wyników.

Więcej informacji o stronicowaniu i przesyłaniu strumieniowym.

Poproś

Metoda wyszukiwania wymaga SearchGoogleAdsRequest, która składa się z tych atrybutów:

  • customer_id
  • query w języku zapytań Google Ads, która wskazuje, który zasób ma być przeszukiwany, atrybuty, segmenty i dane do pobrania oraz warunki ograniczające zwracane obiekty
  • (GoogleAdsService.Search tylko) Opcjonalny page_token do pobierania następnej partii wyników podczas korzystania ze stronicowania.

Więcej informacji o języku zapytań Google Ads znajdziesz w przewodniku po języku zapytań Google Ads.

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, 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ż 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. Dlatego wiersze należy traktować jako obiekty, a nie stałe wiersze tabeli.

Typy wyliczeń 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. Gdy zasób ma typ UNKNOWN, możesz wybrać dane, ale nie możesz go modyfikować za pomocą interfejsu API. Przykładem może być nowa kampania lub reklama wprowadzona w interfejsie, ale nieobsługiwana w wersji interfejsu API, o którą wysyłasz zapytanie.

Oto kilka kwestii, o których warto pamiętać:

  • Zasób z typem UNKNOWN może być obsługiwany później lub pozostać UNKNOWN na czas nieokreślony.
  • Nowe obiekty z typem UNKNOWN mogą pojawić się w dowolnym momencie. Te obiekty są zgodne wstecznie, ponieważ wartość wyliczenia jest już dostępna. Zasoby są wprowadzane w ramach tej zmiany, gdy są dostępne, aby zapewnić dokładny wgląd w Twoje konto. Zasób UNKNOWN może pojawić się z powodu nowych działań na koncie za pomocą innych interfejsów lub gdy zasób nie jest już obsługiwany.
  • Do zasobów UNKNOWN mogą być dołączone szczegółowe dane, które można wysyłać.
  • Zasoby UNKNOWN są zwykle w pełni widoczne w interfejsie Google Ads.
  • Zasobów UNKNOWN na ogół nie można modyfikować.

Podział na segmenty

Odpowiedź będzie zawierać 1 GoogleAdsRow na każdą kombinację 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 ma segments.ad_network_type oraz segments.date w klauzuli SELECT, będzie zawierać 1 wiersz na każdą kombinację tych elementów:

  • campaign
  • segments.ad_network_type
  • segments.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

wyniki w 1 wierszu na kampanię, a nie w 1 wierszu na każdą unikalną wartość pola campaign.status.