Prompt
GOOGLE CLOUD CONSOLE
Google Cloud projekat: na console.cloud.google.com, dropdown gore lijevo, New Project.
Omogući API: pretraga na vrhu, ukucaj "Google Ads API", klikni Enable.
OAuth consent (Google Auth Platform): APIs & Services, OAuth consent screen.
User Type: External, osim ako imaš Google Workspace
Publish App na Audience tabu, status mora biti "In production", ne "Testing" jer Testing briše refresh token svakih 7 dana
OAuth client ID: Credentials, Create Credentials, OAuth client ID, Desktop app, pa Download JSON.
Klik "Allow" na OAuth ekranu: kad agent kasnije pokrene login skriptu, otvara se browser. Advanced, Go to [app] (unsafe), Continue, Allow.
GOOGLE ADS
Google Ads Manager (MCC) nalog: na ads.google.com/home/tools/manager-accounts, Go to Manager Accounts.
Svrha: "manage my own accounts", ne "manage other people's"
Zemlja i vremenska zona, trajno, ne mijenja se kasnije
Valuta, trajno
Developer token: Nalog → Admin → API Center, Apply for token.
Capabilities checkbox: samo "Keyword Planning Services"
Opis namjene plus sample izvještaj, običan tekst dovoljan
Traži Basic access, ne Standard. Zašto: Basic daje 15.000 poziva dnevno (dosta za lični alat) i odobrava se za 1 do 2 dana. Standard daje neograničen broj poziva, ali traži da prvo imaš Basic, pa posebnu prijavu koja dokazuje da ti treba neograničeno, i traje oko 10 radnih dana
Odobrenje traje 24 do 48h
Šta treba da imaš spremno (za redovan rad alata)
Sve ovo na kraju završava u jednom fajlu, google_ads_credentials.json, koji alat čita pri svakom pozivu.
OAuth podaci (client_id i client_secret): iz JSON fajla, korak "OAuth client ID". Pun client_secret vidiš odmah pri kreiranju, kasnije samo poslednje 4 cifre na ekranu, ali JSON i dalje možeš ponovo skinuti.
Developer token: trajno vidljiv u API Center, možeš pogledati ponovo bilo kad.
MCC broj: trajno vidljiv gore desno u Google Ads sučelju.
Refresh token: ne prikupljaš ručno, dobija se automatski kad agent pokrene login skriptu i klikneš Allow.
Prompt za agenta (kopiraj-i-nalijepi)
Postavi mi lokalno Google Ads Keyword Planner API (Keyword Planning servis) preko zvanicne google-ads Python biblioteke. Radi direktno, bez cekanja mog odobrenja za svaki korak.
1. Napravi nov radni folder za ovaj setup i pozicioniraj se u njega.
2. Provjeri je li Python instaliran: python3 --version
3. Instaliraj biblioteke: pip3 install google-ads google-auth-oauthlib
4. Ja imam OAuth JSON fajl (skinut sa Google Cloud Console), developer token (sa Google Ads API Center) i MCC broj. Objasni mi gdje tačno da sačuvam JSON fajl i kako najsigurnije da sam upišem developer token i MCC broj u fajlove, umjesto da ih lijepim u chat poruku. Kad ih ja postavim na taj način: preimenuj JSON u google_ads_api.json u radnom folderu i dodaj mu ključ "developer_token" (MCC broj ide u drugi fajl, tek u koraku 8, kad taj fajl već postoji).
5. Preuzmi Google-ov zvanicni geo target CSV (developers.google.com/google-ads/api/data/geo), filtriraj na Target Type = Country, izvuci ID-jeve za drzave koje mi trebaju.
6. Napisi fajl auth.py u istom folderu, tacno ovako:
from google_auth_oauthlib.flow import InstalledAppFlow
import json
SCOPES = ["https://www.googleapis.com/auth/adwords"]
with open("google_ads_api.json", encoding="utf-8") as f:
secrets = json.load(f)
flow = InstalledAppFlow.from_client_secrets_file("google_ads_api.json", SCOPES)
creds = flow.run_local_server(port=0)
config = {
"developer_token": secrets["developer_token"],
"client_id": secrets["installed"]["client_id"],
"client_secret": secrets["installed"]["client_secret"],
"refresh_token": creds.refresh_token,
"login_customer_id": None,
"use_proto_plus": True,
}
with open("google_ads_credentials.json", "w", encoding="utf-8") as f:
json.dump(config, f, indent=2)
7. Pokreni: python3 auth.py
Ovo otvara browser da se ja prijavim i kliknem Allow. Skripta sama sacuva google_ads_credentials.json.
8. Reci mi tacno gdje u google_ads_credentials.json treba da upisem MCC broj (login_customer_id), pa cu ga sam upisati (samo cifre, bez crtica). Kad ti javim da je upisano, nastavi na sledeci korak.
9. Uradi jedan probni test poziv (test kljucna rijec, npr "moving company") da potvrdis da cijeli lanac radi, i javi mi rezultat.