Interfejs GoogleAdsService
to zintegrowana usługa wyszukiwania obiektów i tworzenia raportów 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.
- porządkować obiekty według ich atrybutów;
- Użyj warunków, aby wskazać, które obiekty mają być zwrócone w odpowiedzi.
- Ogranicz liczbę zwracanych obiektów.
Metoda GoogleAdsService
może zwracać wyniki na 2 sposoby:
GoogleAdsService.SearchStream
zwraca wszystkie wiersze w pojedynczej odpowiedzi strumieniowej,co jest bardziej wydajne w przypadku dużych zbiorów wyników (większych niż 10 tys. wierszy). Może to być odpowiednie, jeśli aplikacja zbiorcza ma pobierać jak najwięcej danych w jak najkrótszym czasie.GoogleAdsService.Search
dzieli duże odpowiedzi na strony wyników, które są łatwe do przeglądania. Może to być odpowiednie, jeśli interaktywna aplikacja wyświetla stronę wyników naraz.
Dowiedz się więcej o przesyłaniu stron i strumieniowaniu.
Poproś
Metoda wyszukiwania wymaga parametru SearchGoogleAdsRequest
, który składa się z tych atrybutów:
customer_id
- Język zapytań Google Ads
query
, który wskazuje, jakie zasoby mają być uwzględnione w zapytaniu, jakie atrybuty, segmenty i dane mają być pobrane oraz jakie warunki mają być stosowane do ograniczenia zwracanych obiektów. - (tylko
GoogleAdsService.Search
) parametrpage_size
, aby określić, ile obiektów ma zostać zwróconych w pojedynczej odpowiedzi podczas korzystania z przewijania. - (
GoogleAdsService.Search
tylko) opcjonalny parametrpage_token
do pobierania następnej partii wyników podczas korzystania z przewijania.
Więcej informacji o języku zapytań Google Ads znajdziesz w przewodniku po języku zapytań Google Ads.
Przetwarzanie odpowiedzi
Obiekt GoogleAdsService
zwraca listę obiektów GoogleAdsRow
.
Każdy element GoogleAdsRow
odpowiada obiektowi zwróconemu przez zapytanie i składa się z zestawu atrybutów, które są wypełniane na podstawie pól określonych 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 mimo że element ad_group_criterion
ma atrybut status
, pole status
atrybutu ad_group_criterion
wiersza nie jest wypełniane w odpowiedzi na zapytanie, w którym klauzula SELECT
nie zawiera wyrażenia ad_group_criterion.status
. Podobnie atrybut campaign
wiersza nie jest wypełniany, jeśli klauzula SELECT
nie zawiera żadnych pól z zasosobu campaign
.
Każdy wiersz 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 jako stałe wiersze tabeli.
Typy enum 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 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, której dotyczy zapytanie.
Oto kilka kwestii, które warto mieć na uwadze:
- Zasób o typie
UNKNOWN
może być obsługiwany w przyszłości lub pozostaćUNKNOWN
bezterminowo. - Nowe obiekty typu
UNKNOWN
mogą pojawić się w dowolnym momencie. Te obiekty są zgodne wstecznie, ponieważ wartość typu enum jest już dostępna. Wraz z tą zmianą udostępniamy zasoby, aby zapewnić Ci dokładny wgląd w Twoje konto. ZasóbUNKNOWN
może się pojawić z powodu nowych działań na Twoim koncie za pomocą innych interfejsów lub gdy zasób nie jest już obsługiwany. - Zasoby
UNKNOWN
mogą mieć szczegółowe dane, które można zapytać. UNKNOWN
Zasoby są zwykle w pełni widoczne w interfejsie Google Ads.- Zasobów
UNKNOWN
nie można zmienić.
Podział na segmenty
Odpowiedź będzie zawierać 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 kolumnę FROM campaign
i zawiera w klauzuli SELECT
kolumny segments.ad_network_type
i segments.date
, będzie zawierać po jednym wierszu dla każdej z tych kombinacji:
campaign
segments.ad_network_type
segments.date
Wyniki są domyślnie dzielone 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
powoduje pojawienie się 1 wiersza na kampanię, a nie 1 wiersza na każdą niepowtarzalną wartość pola campaign.status
.