Migracja

Nowa infrastruktura skryptów Google Ads jest oparta na interfejsie Google Ads API. Ze względu na różną architekturę tego interfejsu API może być konieczne zaktualizowanie istniejących skryptów. Dołożyliśmy wszelkich starań, aby zapewnić jak największą zgodność wsteczną, więc zmiany powinny być niewielkie.

Raporty

Wiele raportów AWQL będzie nadal działać. Gdy korzystasz z nowej infrastruktury, skrypty konwertują zapytania AWQL na GAQL (nowy język zapytań w interfejsie Google Ads API), uruchamiają je w nowym backendzie, a potem konwertują wyniki z powrotem do formatu używanego pierwotnie w raportach AWQL. Zapytania z GAQL będą przekazywane w postaci oryginalnej.

Z tego powodu zalecamy sprawdzenie skryptów i w miarę możliwości zaktualizowanie zapytań AWQL na GAQL. Do określenia zapytania GAQL dla danego zapytania AWQL możesz użyć narzędzia do migracji zapytań, które korzysta z tej samej logiki co skrypty, lub interaktywnego konstruktora zapytań, aby tworzyć zapytania.

Oto kilka ograniczeń automatycznego tłumaczenia zapytań AWQL na zapytania GAQL:

  • Nie wszystkie zapytania AWQL dokładnie przekładają się na zapytania GAQL. W takich przypadkach pojawi się komunikat o błędzie z informacjami o tym, co poszło nie tak, aby ułatwić Ci ręczne rozwiązanie problemu.
  • Nie wszystkie typy raportów z AWQL są obsługiwane w GAQL.
  • GAQL nie obsługuje „wierszy z zerowymi wyświetleniami”. Jeśli określisz, że raport powinien zawierać 0 wyświetleń, pojawi się błąd.
  • Niektórych niejednoznacznych pól nie można używać w filtrach. Na przykład pole „Nagłówek” może się odnosić do dowolnej liczby różnych pól reklamy.
  • Niektóre pola mogą zwracać wyniki w innym formacie, np. dzieląc jeden wynik na wiele kolumn.

porządkowanie selektorów,

W przypadku pobierania zasobów za pomocą skryptów można często używać wywołań funkcji withCondition i orderBy do ograniczania lub porządkowania wyników w iteratorze. Pola w tych wywołaniach używają teraz nowych nazw interfejsu Google Ads API. Na przykład, aby filtrować według nazwy kampanii, wcześniej trzeba było użyć:

.withCondition('CampaignName = "SOME_CAMPAIGN_NAME"')

W miarę możliwości używaj nowych nazw pól w przypadku tych warunków:

.withCondition('campaign.name = "SOME_CAMPAIGN_NAME"')

Staraliśmy się jednak uwzględnić mapowanie starych nazw na nowe, więc jeśli Twój skrypt nadal używa nazwy CampaignName, zostanie ona automatycznie zastąpiona nazwą campaign.name w czasie wykonywania skryptu, aby zapewnić jego prawidłowe działanie. Jeśli masz problemy z nazwami starych stylów, zaktualizuj skrypty, aby używać nowych nazw stylów jako pierwszego kroku rozwiązywania problemów.

Limity

Wiele limitów jest takich samych jak w starej infrastrukturze, a wprowadzone zmiany ogólnie pomogą zwiększyć skuteczność.

  • Limity czasowe są takie same. Skrypt może być wykonywany przez 30 minut.
  • Pojedynczy iterator zwraca domyślnie 50 tys. podmiotów, ale można to zmienić. Wcześniej tego limitu nie można było dostosowywać.
  • Jeden selektor może obsłużyć maksymalnie 10 000 identyfikatorów (bez zmian).
  • W nowej infrastrukturze nie ma ograniczeń co do liczby encji, które można przetworzyć w ramach jednego skryptu. Wcześniej limit wynosił 250 tys. USD.
  • Nowa infrastruktura nie ma limitu liczby słów kluczowych ani reklam, które można utworzyć na potrzeby wykonania. Wcześniej limit wynosił 250 000.
  • Dane wyjściowe z logowania są obcinane na poziomie 100 KB (bez zmian).
  • Limity usług Apps Script (SpreadsheetApp, MailApp itp.) pozostają bez zmian.
  • Limity w Google Ads będą egzekwowane tak samo jak podczas korzystania z interfejsu API. Oznacza to, że skrypt będzie podlegać limitom szybkości interfejsu API, ale pozwoli na większą elastyczność w dostępie do większej liczby raportów lub wprowadzaniu większej liczby zmian na jedno wykonanie.

Inne zmiany

ExecutionInfo nie ujawnia już getRemainingCreateQuota() ani getRemainingGetQuota(), ponieważ te limity nie mają już zastosowania w nowej wersji.