Migrarea catre noul Google Ads Scripts

Migrarea catre noul Google Ads Scripts

Dacă ai doar 2 minute:

– API-ul Google Adwords va dispărea
– Utilizatorii trebuie să-și updateze scripturile până pe 31 octombrie ca să facă trecerea la noul API – Ads
– Google spune că noua versiune ar trebui să fie compatibilă cu cea anterioară
– În unele cazuri apar erori și scripturile afișează valori greșite
– Descoperă niște scripturi foarte folositoare

Introducere

Anul acesta, Google a anunțat că nu va mai susține API-ul Google Adwords și utilizatorii trebuie să își updateze scripturile până pe 31 octombrie pentru a face trecerea la noul engine de scripturi și prin urmare, la API-ul Ads.

Pentru a permite rularea unui script cu noul engine Ads Scripts, Google a pus un checkbox deasupra fiecărui script, pe care utilizatorii trebuie să-l activeze pentru a face ca scriptul să ruleze în noua platformă.

Noul Google Ads Scripts

La prima vedere, ceva foarte ușor de făcut dacă vrei să păstrezi scripturile așa cum sunt și să lași Google să se ocupe cu translatarea codului în noua platformă. Pentru că într-adevăr, Google anunță că noua platformă ar trebui să fie compatibilă cu cea veche în cele mai multe dintre cazuri.

Dar, în cursul acestui proces, în timp ce am întâlnit multe situații în care scripturile au mers foarte bine, au fost și cazuri când au apărut erori și scripturile au dat valori greșite.

Mai jos o să dăm câteva detalii despre situațiile cu care ne-am întâlnit în timpul migrării scripturilor noastre.

Query translation

Cu noul API, există acum o nouă structură de date pe care trebuie să o interoghezi ca să primești toate Campaniile, AdGrupurile și AdDetails-urile.
Acum există alte tabele, alte coloane și modalități diferite de a accesa anumite date. De exemplu, query-ul în AdWords

SELECT CampaignId, CampaignName FROM CAMPAIGN_PERFORMANCE_REPORT WHERE CampaignStatus IN [‘ENABLED’] DURING TODAY

Acum arată așa:

SELECT campaign.id, campaign.name FROM campaign WHERE campaign.status IN (‘ENABLED’) AND segments.date DURING TODAY

Datele sunt acum structurate în mai multe tabele și trebuie să modifici query-urile pentru a primi aceleași date ca înainte.

Tool-ul de migrare Google

Google oferă un tool de migrare al interogărilor. Trebuie doar să scrii vechiul query, să apeși pe convert și va genera noul query.

Am atașat mai jos un screenshot care folosește același query ca mai sus:

Tool-ul de migrare Google Ads Scripts

Tool-ul nu garantează că query-ul este convertit 100% ok.

Acest tool e disponibil online la: https://developers.google.com/google-ads/api/docs/migration/query-migration-tool

Câmpuri eliminate

Un lucru pe care trebuie să-l iei în considerare în privința interogărilor este că mai mult de 100 de câmpuri din vechiul AdWords au fost șterse.

Poți găsi în documentație o mapare a vechilor câmpuri, pentru fiecare entitate. Documentația de migrare are o pagină dedicată pentru asta:
https://developers.google.com/google-ads/api/docs/migration/mapping

Ar trebui să ții cont de faptul că atunci când o interogare cu câmpuri eliminate e tradusă, acele câmpuri nu vor mai apărea în noul query. Chiar și așa, există un avertisment care apare sub query-ul tradus.

Un exemplu din tool-ul de migrare:

Campuri eliminate din Google Ads Scripts

Încearcă să identifici toate câmpurile eliminate din interogările tale ca să le poți șterge din logica scriptului.

Traducere de query automată

Pentru acele interogări pe care nu le modifici dar vrei să le rulezi în noua platformă de scripturi, Google face o traducere automată a lor atunci când încearcă să le ruleze.

Totul bine până acum, nu va trebui să schimbi nimic în cod și va funcționa. Dar sunt totuși câteva lucruri cu care ne-am întâlnit când am migrat folosind acest feature:

  1. Diminuarea performanței – scripturile vor rula mai greu din cauza acestei traduceri din spate. Dacă știi că ai un script cu multe query-uri care durează câteva minute, e posibil să trebuiască să schimbi interogările la noul API pentru că altfel poți ajunge la timeout-ul de 30 de minute al rulării unui script.
  2. Valorile unor câmpuri sunt false – sunt situații în care traducerea scripturilor returnează rezultate greșite din cauza schimbării de structură în mai multe tabele și entități.

De exemplu:

SELECT CampaignId, CampaignName, Labels FROM CAMPAIGN_PERFORMANCE_REPORT

În vechiul limbaj, acest query returnează pentru câmpul ”Labels” o listă care conține numele label-urilor din campanie. Dacă bifați căsuța ”New Script Experience”, query-ul o să dea o listă care conține ID-urile labelurilor, în locul numelor, așa că rezultatul o să afecteze logica de business a scriptului.

Campaniile Performance Max

Când se face trecerea către noul Script Experience, putem vedea rezultatele campaniilor de Performance Max în query-urile campaniei. Aceste campanii nu erau disponibile până acum in query-uri.

Posibile erori în scripturi

  1. În timpul migrării scripturilor am întâlnit o eroare care apărea în mai multe instanțe și nu am reușit să o reparăm prin schimbare codului.

Dacă întâlniți eroarea de mai jos:
ReferenceError: AdsApp is not defined (line 1)

Am reușit să o rezolvăm prin copierea conținutului scriptului într-un script nou și bifarea căsuței New Script experience. Eroarea a apărut când am încercat să rulăm un script vechi doar bifând căsuța New Script Experience.

Aparent există un bug în platforma Google Ads Scripts care dă eroarea de mai sus când încerci să rulezi din nou un script. După mai multe investigații și cercetări, singura modalitate prin care am reușit să o rezolvăm a fost să copiem conținutul într-un nou script. După ce am făcut asta, scriptul a mers perfect fără alte modificări. Acest script a fost configurat cu tot cu bifarea căsuței ”New experience”.

2. Am întâlnit câmpuri care sunt marcate intern ca ”Datetime” dar sunt văzute în API ca DATE. De exemplu, în entitatea “call_view”, avem câmpul “call_view.start_call_date_time”.

Exemple de erori in noul Google Ads Scripts

Ar trebui să fii atent atunci când folosești astfel de câmpuri date_time în query-uri de filtrare, pentru că ele iau în considerare și timpul, pe lângă data efectivă.

De exemplu:
SELECT call_view.start_call_date_time FROM call_view WHERE call_view.start_call_date_time BETWEEN “2022-10-18 00:00:00” AND “2022-10-18 23:59:59”

Va returna toate rezultatele pentru ziua respectivă, ceea ce nu se întâmplă dacă folosești scriptul de mai jos:
SELECT call_view.start_call_date_time FROM call_view WHERE call_view.start_call_date_time BETWEEN “2022-10-18” AND “2022-10-18”

Alte scripturi (foarte) folositoare de care trebuie să ții cont

”0” impression pause

În mod ideal, anunțurile răspund la cuvintele cheie potrivite, trezesc curiozitatea, fac userul să interacționeze cu brandul și eventual să facă o achiziție. Din când în când însă, sunt anumite anunțuri care nu performează – fie din cauza unei situații tehnice sau o eroare de setup. Pentru a evita ca aceste anunțuri să consume buget, folosește scriptul ”0 impression pause” ca să le dezactivezi.

Broken URLs report

Linkurile URL stricate se insinuează mereu și nu sunt deloc dezirabile. Din fericire, există un script care ne atrage atenția asupra URL-urilor care duc spre răspunsuri de tip 404 Not Found sau 500 Server Error și le evită.

Link checker script

Scapă de 404. Cu acest script poți alege când să verifici linkurile din contul tău de ads, astfel încât să știi mereu dacă există linkuri stricate la nivel de ad.

Ad spend report script

E extrem de important să poți verifica în timp real cum performează o campanie, mai ales în cazuri speciale precum Black Friday sau alte momente intense. Raportul Ad-spend trimite update-uri pe mail despre metrici specifici care țin de bugetul cheltuit:

  • Buget consumat
  • Conversii
  • Cost Per Achiziție
  • Buget zilnic recomandat
  • Buget cheltuit zilnic