Google Big Query

Google Big Query: Alat za automatizaciju Google oglasa

U ovom članku opisat ću neke od mogućih primjena Google Big Query alata za upravljanje automatizacijom vaših Google Ads računa. Članak se temelji na nekoliko mjeseci intezivnog korištenja alata. Nisam još svladao alat u potpunosti ali skupio sam dovoljno znanja da vam mogu dati osnovne upute i podijeliti neka zapažanja. Prije nego se primite ovog alata morate znati da vam je potrebno znanje SQL-a. Ako vam to znanje nedostaje, potrudite se naučiti barem onaj dio koji će vam biti potreban za korištenje ovog alata. Krenimo.

Prvo, pošto je članak poprilično dug, evo liste tema koje sam u njemu obradio:

  1. Zašto bi ste trebali koristiti Big Query za PPC?
  2. Kako povezati Big Query a vašim Google Ads računima?
  3. Šta bi ste trebali vidjeti nakon povezivanja?
  4. Kako unijeti i neke druge podatke u Big Query?
  5. Prvi komplet zahtjeva koje bi trebali pripremiti
  6. Nekoliko prijedloga za automatizaciju Google Asd-a preko Big Query-ja
  7. Kako podatke poslati natrag u Google Ads iz Big Query-ja?
  8. Zaključak

Možda će vas zanimati:

Zašto bi ste trebali koristiti Big Query za PPC?

Do sad sete se vjerojatno već zapitali šta je uopće Big Query. Big Query je modul unutar Google Cloud Platforme. Google daje definiciju: „Big Query je skladište podataka tvrtki iz kojeg se omogućavaju vrlo brzi SQL zahtjevi preko procesorske snage Google-ove infrasturkture. Jednostavno, premjestite svoje podatke u Big Query i pustite nas da se nosimo s napornim radom“.
Dakle, sada znamo da je Big Query moćno skladište podataka u kojem možemo pokretati SQL zahtjeve. Zamislite Big Query kao napredniji Power Query koji se pokreće na Google serverima i u potpunosti ga se kontrolira preko SQL-a. U principu, prebacujete korištenje procesora na Google servere, a upravljate svime iz svog web preglednika.
Sad odgovorimo na osnovno pitanje: Zašto bi trebali koristiti Big Query za upravljanje svojim Google Ads računom? Možete stvarati prilagođen protok podataka poput:

  • Vaše Google Ads kampanje generiraju podatke
  • Učitate podatkeu Big Query
  • Izvršite SQL pretvorbe upita o tim podacima unutar Big Query
  • Rezultate upita učitate nazad u Google Ads. Format je samo skup “redaka”.
  • Postavite raspored čitavog procesa da se ponavlja iznova i iznova.

Evo i nekih konkretnijih primjera u kojima je Big Query vlo praktičan:

  1. Vaše standardne Google Ads skripte ne uspijevaju završiti proces unutar 30 minuta jer je račun prevelik.
  2. Niste neki obožavatelj Javascript-a, a SQL-om već baratate.
  3. Možete stvoriti prilagođenu logiku licitiranja koja npr. uzima u obzir prosječnu poziciju i udio pojavljivanja
  4. Možete pauzirati/aktivirati ključne riječi kada su na odredišnoj stranici proizvodi dostupni/nedostupni.
  5. Možete izraditi algoritme prilagođenih licitiranja koji usklađuju licitacije s trenutačnim tempom proračuna tako da ne potrošite više do kraja mjeseca
  6. Možete dodavati nove ključne riječi na temelju upita pretraga
  7. Možete dodati nove negativne ključne riječi na temelju najpreciznijih upita pretraga
  8. Možete automatizirati stvaranje kampanje na temelju inputa u Google tablicu
  9. Ako želite, možete izraditi vlastitu bazu gclids-a koja traje duže od 30 dana

Ograničenja

Big Query može izdržati milijarde redaka pa ako imate ogromne račune koji sadrže milijune ključnih riječi i oglasa, vrlo jednostavno možete uređivati te podatke dok bi ista operacija u Power Query excel-u bila teško izvediva. Naišli bi ste na dva problema: samo unošenje podataka u Power Query te potom izvođenje upita u takvom dokumentu.
Koliko je vremena potrebno za provođenje kompleksnih SQL upita u Big Query—ju za, recimo, 1,000,000 ključnih riječi? Recimo da se radi o 1 minuti, eventualno 2 minute. Veoma komplicirani, teški upiti s više pridruženja, koje ponekad provodim, izvrše se za 5 minuta.
Čak i u Big Query-ju upiti ponekad ne uspiju – obično se to događa kada koristite previše POREDAJ PO klauzula u svom SQL-u. Uklonite ih i riješili ste problem.
Upiti u Big Query-ju mogu se izvoditi maksimalno 2 sata. Jednom sam došao do ovog limita kada su mi se greškom redci multiplicirali nekoliko puta i na kraju ih je bilo nekoliko milijardi.
Nekih limita osim POREDAJ PO i većih grešaka u vašem SQL-u i nema. Barem ih ja nisam uspio dosegnuti, a neke od mojih tablica imaju i po 10 milijuna redova.

Cijena

Sad jedno važno pitanje – koliko Big Query košta? Nije besplatan ali je vrlo dostupan. Cijene se kreću ovako:

  • Plaćate transfer podataka s vašeg Google Ads računa. Plaćate za svaki Google Ads Customer ID. 1 račun = 2 dolara mjesečno. Ako povežete MCC koji ima 10 računa platit ćete 20 dolara.
  • Plaćate izvođenje upita u SQL-u ali tek nakon što prijeđete 1TB podataka u tekućem mjesecu. Do tog trenutka je besplatan. Svaki dodatni TB košta 5 dolara.
  • Plaćate skladište (spremanje) – postoje aktivna i dugotrajna spremanja

Ovako izgleda obračun cijene na mojim računima:


Kako povezati Big Query a vašim Google Ads računima?

Nakon što ste pripremili projekt vrijeme je da povežete Google Ads račun. Započnimo.
Prvo trebate kreirati skup podataka u kojem će se spremati Google Ads podaci. Pronađite Create Dataset gumb:


Popunite parametre. Svijet koji će vas lišiti glavobolje u budućnosti: uvijek stvarajte skupove podataka na istim lokacijama u cijelom vašem projektu. Ako imate tablicu 1 u skupu podataka A u Hrvatskoj i želite joj pridružiti tablicu 2 iz skupa podataka B koji su u Njemačkoj, nećete biti u mogućnosti to izvesti jer nije moguće mijenjati lokaciju NAKON što ste spremili skup podataka (dataset). Slati upite u tablice moguće je samo u tablicama koje se nalaze u skupu podataka iste lokacije. Istek zadane tablice postavite na “Never”. Kliknite kreiraj skup podataka.


Evo ga! Vaš novi skup podataka:


Ja sam već imao „AdWordsData“ skup podataka prije pisanja članka. Sad je vrijeme da svoj novi skup podataka popunite podacima iz Google Ads-a: Pronađite Transfer gumb:


Bit ćete prebačeni na stari UI i tamo kliknite omogući (Enable):


Zatim dodajte transfer (Add Transfer):


Ovaj dio je potrebno popratiti s posebnom pozornošću:


Koraci

  1. Odaberite Google Ads u Source
  2. Unesite neki naziv transfera – možete ga promijeniti kasnije
  3. Postavite refresh windows. Kaksimalno je 30 dana, toliko i upišite. To je najbolja opcija. Latentne konverzije dodjeljuju se datumu posljednjeg klika (a ne datumom događaja), ova postavka osigurava da će i podaci stari 30 dana biti ažurirani jer će Big Query uvijek ponovno učitati zadnjih 30 dana podataka.
  4. Postavite raspored (schedule) na 24 sata. Možete postaviti i da se češće izvodi operacija ali ne vidim razloga da se to radi češće od jednom dnevno.
  5. Za odredište odaberite skup podataka koji ste izradili prije nekoliko minuta.
  6. Unesite svoj Google Ads Customer ID. Možete ga unijeti ili u 1111111111 ili u 111-111-1111 formatu. Možete upisati svoj MCC ID kako bi preuzeli sve račune koji se nalaze u MCC-a ili samo ID pojedinačnog računa. To je na vama. Ako upravljate MCC-om ali su vam potrebni podaci samo 2 računaiz tog MCC-a možete ili izraditi zasebne skupove podataka za svaki pojedinačni račun i pokrenuti odvojene transfere ili možete kreirati 2 transfera ali učitati sve podatke u jedan skup podataka.
  7. Kliknite Advanced i omogućite Send email notifications – ako učitavanje podataka ne uspije, bit ćete obavješteni emailom.
  8. Kliknite Add gumb i sačekajte 5 minuta.

Sljedeće što ćete vidjeti izgleda ovako:


U dnu će biti vidljivi svi dani obuhvaćeni prijenosom podataka. Sigurno se pitate koja se Google Ads izvješća šalju u ovom trenutku u Big query? Svi + svi stupci ?. U tome je ljepota ovog alata. U Big Query ćete imati sve podatke iz Google Ads-a spremne za malo SQL magije!
Možete dobiti čak i povijesne Google Ads podatke ako želite. Povlačite ih tako što postavite backfill, moguće je povući podatke stare maksimalno do 180 dana, ako imate podatke unatrag nekoliko godina, povlačenje morate napraviti ručno. Potrebno je oko jednog sada za povlačenje jednog dana podataka stoga budite strpljivi u početku.
Dodatno napominjem da postoji skripta Google oglasa (zove se Big Qery Exporter) koja izvozi samo odabrana izvješća u Big Query, a ne sva izvješća, za razliku od “postavke prijenosa”. Problem skripte Big Query Exporter je to što nije pouzdana (može zakazati bez obrazloženja), može se izvoditi samo 30 minuta kao i svaka druga skripta i a sveukupno to vrlo loš izbor. Pozitivna stvar je da je besplatna, bez obzira na to koliko računa imate i vrlo je user friendly od samog početka.

Šta bi ste trebali vidjeti nakon povezivanja?

Ok, povezali ste svoj Google Ads račun s Big Query-jem i pokrenuli prvu sinkronizaciju. Kroz nekoliko minuta vaš skup podataka počet će se puniti različitim tablicama. U osnovi, povući će se svaki dio podataka iz vaših Google Ads kampanja, kojem se može pristupiti preko API-ja, i bit će vidljiv u Big Query-ju. Ovako to izgleda u starom sučelju Big Query-ja:


Prebacit ću sad na novo beta sučelje pošto je to ono što će Google gurati od sad na dalje. Isti pregled kao maloprije u novom sučelju:


Pojavit će se stotine tablica i pregleda. Koja je razlika između tablice i pregleda? Pregled (View) je prethodno spremljen SQL upit temeljnih tablica. Da bi ste pregledali view morate pokrenuti sami upit. Kada želite pregledati tablice, dovoljno je kliknuti gumb preview i pokazat će vam se sadržaj.

Kako razlikovati pregled od tablice? Ikone ispred naziva su različite:


Pogledajte kako izgleda upit (query) za “View”:


Pregled (View) uvijek dodaje novi stupac “_LATEST_DATE” s jučerašnjim datumom (Prt scr je napravljen 04.11.2018.) na vrhu temeljne tablice sličnog imena. Ako je temeljna tablica nazvana “DatasetName.p_Keyword_ACCOUNTID”, view će biti nazvan “DatasetName_Keyword_ACCOUNTID” bez “.p”.

Možete pregledati i tablice:


(Ne pokazujem “preview” jer Google Ads račun koji sam napravio za demonstraciju ne sadrži nikakve podatke). “Schema” tablice prikazuje šta znači svaki stupac tablice.

Nakon što još malo pohvatate sučelje vidjet ćete da postoje dvije vrste tablica/pregleda. Prva vrsta pregled/tablica je performance složen po datumima. Druga vrsta je snimka “atributa” entiteta u tablici. Tako na primjer, DatasetName.p_Keyword_ACCOUNTID tablica sadrži informacije o ključnim riječima:


Možete vidjeti CPC licitaciju ključnih riječi, odredišni URL, Status itd. Učinak ključnih riječi kao što su impresije i klikovi ne možete vidjeti. Takvi su podaci spremljeni u drugoj tablici – u DatasetName.p_KeywordBasicStats_ACCOUNTID:


Podaci o izvedbi podijeljeni su u više tablica poput “BasicStats”, “ConversionStats”, “CrossDeviceStats” itd. kao da su namjerno pokušali napraviti što veći nered. Neću ulaziti u detalje jer je samo ta tema dovoljna za 10 članaka. Ono što pokušavam reći je to da dobivanje smislenih podataka na početku može izgledati kao neizvediv zadatak.

Kako unijeti i neke druge podatke u Big Query?

Postoji nekoliko opcija ako želite u Big Query povući podatke iz nekog alternativnog izvora koji nije Google Ads. Možete kreirati praznu tablicu, povući podatke s Google Cloud Storage-a, možete ručno uploadati podatke ili možete koristiti podatke spremljene na Google Drive-u:


Ručni upload podržan je u formatima datoteka: CSV, JSON, Avro, Parquet, ORC. (Nemam pojma šta označavaju zadnje tri opcije)


Stvari postaju zanimljivije ako stavimo opciju uploada s Google Drive-a:


Možete koristiti Google Sheet kao tablicu ili možete koristiti CVS spremljen na Google Drive-u. Tako, na primjer, ako na dnevnoj bazi ručno unosite nekakve podatke i želite ih prebaciti u Big Query, najbolja opcija je svakako Google Sheets.
Big Query također ima svoj API putem kojeg možete prenijeti svoje prilagođene podatke (recimo, podatke s Facebooka, podatke Bing oglasa, podatke iz vašeg CRM-a itd.). Takva integracija nije jednostavna poput prethodno opisanih jer ne postoji gumb koji kliknete i obavite radnju. Kako bi na Big Query imali takve podatke uvijek svježe, morate redovito pokretati prilagođeni kod koji je potrebno prethodno napisati. Ako vam je potrebna pomoć s prilagođenim podacima, slobodno nas kontaktirajte, mi smo već razvili neka rješenja za klijente (Facebook, Bing, prilagođene CRM integracije, učitavanje više listova iz proračunske tablice Google sheets i slično).

Prvi komplet zahtjeva koje bi trebali pripremiti

Kad pogledate prenesene tablice ili view-ove, prvo što se primijeti je ne baš user friendly složeni podaci. Pogledajmo na promjer “DatasetName.p_Keyword_ACCOUNTID“ tablicu:

Google oglsi

Dakle, imamo Campaignld, AdGroupld stupce ali nemamo ni Campaign ni AdGroup stupac s razumljivim nazivima. Nažalost, tako je kako je. Prvo što se može zaključiti nakon uočavanja ovog problema je potreba za kreiranjem nekoliko osnovnih prikaza stavki vašeg računa poput:

  1. “Accounts view” – lista svih naziva i ID-eva svih računa ako povlačite MCC račun
  2. “Campaign view” – popis naziva i ID-jeva svih kampanja kao i svih njihovih atributa. Slično je potrebno i za:
  3. “AdGroup view”
  4. “Keyword view”
  5. “Ad view”
  6. Bilo koji drugi element koji vam vas zanima

Možete pisati u SQL direktno iz Big Query-ja ili iz text editora po vlastitom izboru (ja koristim Sublime). Pisanje koda u Big Query izgleda ovako:

Google Ads

Upit možete spremiti kao pregled ili kao tablicu putem označenih gumbova.

Primjer SQL-a kako izraditi popis svih kampanja uz korisnička imena računa (koristim Sublime, pretpostavimo da sam već izradio “prikaz računa”, a zatim CTRL + C CTLR + V u prozor Big Query iznad):

SQL lista kampanja

Nakon što napravite popis stavki kao pregled, možete izraditi preglede “izvedbe” koji imaju korisnički prilagođeno ime računa, kampanja, grupa oglasa, ključnih riječi … Dakle, morat ćete izraditi vlasničke preglede kao što su:

  • Izvedba računa s razumljivim imenima
  • Izvedba kampanje s razumljivim imenima
  • Izvedba grupe oglasa s razumljivim imenima
  • Izvedba ključne riječi s razumljivim imenima
  • Izvedba oglasa s razumljivim imenima

Pogledajmo tako kako izgleda upit za prikaze izvedbe kampanje:

Google oglasi

I drugi dio:

Google Ads

Izgleda kao da je čak i stvaranje pregleda izvedbe sa samo temeljnim podacima zastrašujuće, ali ne brinite – nakon što prođete prvi projekt, naviknut ćete se, a u ostalom, u sljedećim projektima možete kopirati stavke i mijenjati ID-ove računa i nazive skupova podataka.

Nakon što izradite račun, kampanju, grupu oglasa, ključne riječi i prikaze izvedbe oglasa, možete se prebaciti na sljedeću fazu – izradu prilagođenih upita koji će vam pomoći da automatizirate svoj Google Ads račun.

Nekoliko prijedloga za automatizaciju Google Asd-a preko Big Query-ja

Ako ste uspjeli riješiti sve do sad, vjerojatno očekujete vidjeti šta sve možete dobiti za veliki napor koji ste uložili samo za izradu osnovnog pregleda. Evo nekih konkretnih načina korištenja koje smo razvili do sada:

  • Potpuna izrada strukture pretraživačke kampanje koja se temelji na “feedu” ulaza pohranjenih u Google tablicama – morali smo upotrijebiti SQL i Big Query performanse jer je bilo potrebno generirati oko 3M ključnih riječi, stotine tisuća prilagođenih oglasa, sve na temelju prilagođenih pravila. Ako se u feed-u pojave nove stavke, kampanje, ključne riječi i oglase možemo jednostavno generirati s nekoliko klikova (ako želimo, čitav ovaj novi sadržaj možemo automatski poslati u Google Ads).
  • Automatsko dodavanje dobrih pojmova za pretraživanje kao ključnih riječi (ako struktura kampanje dopušta).
  • Automatsko dodavanje loših pojmova za pretraživanje kao novih negativnih ključnih riječi.
  • Pauziranje / aktivacija ključnih riječi prema sadržaju na vašoj web stranici – za ovu vježbu izradili smo prilagođeni alat za indeksiranje koji se svakodnevno pokreće putem stranice klijenta prikupljajući informacije o njegovoj ponudi. Potom uparimo indeksirane podatke sa Završnim URL-ovima u Google oglasima. Ključne riječi se pauziraju / aktiviraju ako su određeni uvjeti zadovoljeni.
  • Izrada prilagođenih strategija licitiranja kombinacijom prosječnog položaja i udjela pojavljivanja.
  • Izrada prilagođene strategije licitiranja koja osigurava da račun ne odudara previše od mjesečnog proračuna.
  • Razne provjere praznih grupa oglasa (bez KW-a, bez oglasa).
  • Provjeria dvostruke stavke (oglasi, ključne riječi).
  • Učitavanje konverzija prilagođenih prema kombinaciji podataka Google oglasa (gclids) i podataka pohranjenih u CRM-u klijenta – vrlo praktično ako želite prenijeti samo dobre leadove, a ne sve leadove.
  • Prilagođene promjene geografskog ciljanja kampanja prema podacima pohranjenim u feedu.
  • Prilagođene izmjene proračuna kampanje.
  • … bilo što drugo što vam padne na pamet, a da se može mijenjati putem API-ja ili grupne prijenose u Big Query.

Prikazivanje koraka potrebnih za postavljanje SQL koda za nabrojane primjere rezultiralo bi s 12 člakana dugih poput ovog pa je jasno da to neću tu napraviti. Namjera mi je inspirirati vas onime što je sve izvedivo.

Kako podatke poslati natrag u Google Ads iz Big Query-ja?

Zadnji korak – upiti u Big Query-ju su spremni i rezultate je potrebno prebaciti u Google Ads. Kako to postići? Postoji nekoliko načina.
Pretpostavimo da imate upit za pregledavanje proračuna koji pronalazi setove ključnih riječi kojima je potrebno prilagoditi licitacije. Rezultati izgledaju ovako:

Big Query

Nakon što upit vrati radnju, kampanju, grupu oglasa, ključnu riječ, vrstu podudaranja, izmjenjen maks. Cpc, ID kampanje i ID stupce grupe oglasa, potrebno je prebaciti rezultate u Google Ads.

Način 1
  1. Pokrenite upite u Big Query-ju
  2. Preko Supermetrics-a za Google Sheets oblikovane podatke prebacite u Google tablice. Supermetrics pruža opciju povezivanja s Big Query-jem putem kojeg se može postaviti raspored pokretanja upita (query).
  3. Iz Google Sheet-a Google Ads skriptom povucite podatke i primjenite ih u Bulk Upload načinu.

Način 1 omogućava da kad god poželite dvaput provjerite rezultate svojih upita u Google tablicama, ali možete vam se dogoditi da dosegnete limit broja redaka Google Sheets-a ako pokušate učitati previše podataka iz Big Querya.

Način 1
  1. Pokrenite upite u Big Queryu
  2. Unesite rezultate upita odjednom kao Bulk Upload u Google Ads-e pomoću naše prilagođene skripte za Google Ads-e. Preuzmite skriptu na ovom linku. Preporučujem da pročitate komentare u kodu nakon otvaranja skripte.

Zaključak

Na početku ovog članka spomenuo sam tok:

  1. Vaše Google Ads kampanje generiraju podatke
  2. Učitate podatke u Big Query
  3. Unutar Big Query pokrenete SQL upite transformacija tih podataka
  4. Preuzmete rezultate upita i ponovno ih učitate u Google Ads. Format je samo skup “redaka”.
  5. Rasporedite cijeli postupak tako da se pokreće iznova i iznova zakazivanjem rasporeda Google Ads skripti i Supermetrics upita

I krug je sada zatvoren. 🙂

članak je iznimno dug, no pokušao vam stvoriti predodžbu o mogućnostioma Big Query-ja i o zahtjevnosti postavljanja projekta te o poteškoćama na koje možete naići putem.

Big Query kao PPC automatizacijski alat nije za svakoga, a i rijetki znaju da postoji. Zahtijeva SQL vještine, nešto znanja o Google Ads skriptama, prilično dugotrajan period učenja i uz to postupak postavljanja nije tako jednostavan.

S druge strane, nakon što usvojite osnove, Big Query-jeva ekstremna snaga za obradu može pružiti rezultate koje Google Asd skripte, zbog svojih limita, jednostavno ne mogu postići kad su u pitanju veliki računi.

Ako vam treba pomoć oko postavljanja Big Query-ja ili općenito oko vaših Google Ads računa, slobodno nas kontaktirajte. 🙂