Going Stellar

Acasă/Cercetare

Documentare · Google Ads API

Se pot crea campanii YouTube in-stream prin Google Ads API? Ce se poate automatiza cu Demand Gen

Campaniile Video clasice nu pot fi create sau modificate prin Google Ads API; API-ul doar le citește și raportează pe ele. Calea documentată pentru o campanie YouTube in-stream construită prin API este o campanie Demand Gen ale cărei grupuri de anunțuri aleg doar canalul in-stream. Am verificat un raport de cercetare scris de AI pe această temă în documentația API Google, pe 11 octombrie 2026, și arătăm ce a nimerit, ce a omis și ce s-a schimbat între timp.

Publicat

Răspunsul scurt

Nu, nu ca o campanie Video clasică. Documentația Google pentru dezvoltatori spune: „You cannot create new Video campaigns or update existing ones using the Google Ads API.” API-ul în principal citește și raportează pe campaniile, grupurile, anunțurile și criteriile Video existente. Google indică două alternative: scripturile Google Ads sau campaniile Demand Gen, pe care API-ul le suportă complet, la creare și la administrare.

Demand Gen este un tip de campanie care afișează reclame cu imagini și video pe suprafețele Google, precum YouTube, Discover, Gmail și Maps, și pe Display. Un grup de anunțuri Demand Gen poate fi limitat la o singură suprafață. Dacă în controalele de canal ale grupului doar youtube_in_stream e pus pe true, rezultă o campanie care rulează reclame YouTube in-stream și e construită integral prin API.

O nuanță pe care raportul AI a ratat-o: din versiunea 24 a API-ului, obiectele VideoResponsiveAdInfo din campaniile Video pot fi modificate, ceea ce înainte nu se putea. Campania Video e deci doar de citit, dar nu tot ce e în ea.

Ce operații permite fiecare resursă

Orice operație de modificare din Google Ads API e una dintre create, update sau remove, iar un update schimbă doar câmpurile numite în update_mask. Paginile de referință v25 arată ce operații permite fiecare resursă, iar raportul le-a redat corect.

Asset: creare și modificare, fără ștergere. Elementele sunt permanente; nu mai folosești unul scoțând sau înlocuind anunțurile care îl folosesc. Audience: creare și modificare, fără ștergere. UserList: creare, modificare și ștergere. CampaignConversionGoal și ConversionGoalCampaignConfig: doar modificare, pentru că le creează Google.

CampaignBudget, Campaign, AdGroup și AdGroupAd permit toate trei operațiile la Demand Gen. Tipul de canal al campaniei nu se mai poate schimba după creare, deci pentru alt tip construiești o campanie nouă.

Cum construiești o campanie Demand Gen doar in-stream

1. Totul într-o singură cerere. Ghidul Demand Gen recomandă crearea bugetului, campaniei, grupului de anunțuri, elementelor și anunțului atomic, într-un singur apel GoogleAdsService.Mutate, cu ID-uri temporare negative prin care operațiile ulterioare le pot referi pe cele anterioare. Se creează fie toate, fie niciuna, deci o eroare nu lasă în urmă un buget orfan sau o campanie goală.

2. Bugetul nu poate fi partajat. O campanie Demand Gen nu poate folosi un buget partajat. Capcana: referința CampaignBudget spune că explicitly_shared are implicit valoarea true dacă nu e setat la creare, deci trebuie pus explicit pe false. Bugetul zilnic folosește amount_micros, iar cel total total_amount_micros; doar unul dintre ele poate fi setat. Un milion de micros înseamnă o unitate din moneda contului, iar cheltuiala lunară pe un buget zilnic e plafonată la de 30,4 ori suma zilnică.

3. Tipul campaniei, fără subtip. Tipul de canal e DEMAND_GEN, iar subtipul rămâne nesetat. Se completează declarația privind publicitatea politică în UE, contains_eu_political_advertising: o campanie nouă fără ea e respinsă cu FieldError.REQUIRED.

4. Una din patru strategii de licitare. Demand Gen acceptă Maximize Clicks, Target CPA, Maximize Conversions și Target ROAS. Target CPC pentru Demand Gen a apărut în versiunea 22, se setează pe campanie și poate fi suprascris pe grupul de anunțuri. Pentru Target CPA, Google recomandă un buget zilnic de cel puțin 15 ori CPA-ul țintă așteptat.

5. Grupul de anunțuri poartă controalele de canal. Grupul se creează fără tip de grup. Controalele de canal stau pe grup, în demand_gen_ad_group_settings.channel_controls, și primesc fie un channel_strategy (ALL_CHANNELS sau ALL_OWNED_AND_OPERATED_CHANNELS, care oprește canalele terțe precum Display), fie selected_channels, șapte valori booleene: youtube_in_stream, youtube_in_feed, youtube_shorts, discover, gmail, display și maps. Cel puțin una trebuie să fie true. Pentru doar in-stream, setezi youtube_in_stream și nimic altceva.

6. Modul de audiență se alege la creare. audience_setting.use_audience_grouped nu se mai poate modifica. Dacă grupul va ținti o resursă Audience reutilizabilă, câmpul trebuie pus pe true la crearea grupului; ulterior nu mai poate fi activat.

7. Anunțul. Grupurile Demand Gen acceptă anunțuri multi-asset, carusel, video adaptabile și de produs. La un anunț video adaptabil, videos (elemente video YouTube) și logo_images sunt obligatorii la creare și la modificare. Anunțurile carusel cer între 2 și 10 carduri.

8. Creezi campania oprită. Campania se creează cu statusul paused, se citește înapoi și se pornește doar după ce anunțurile au trecut de verificarea de politici.

Testarea înainte de producție

Fiecare modificare se trimite întâi cu validate_only pe true: API-ul verifică cererea fără s-o aplice. Atenție: BatchJobService nu suportă validate_only, rulează mereu cu eșec parțial și respinge tipurile de operații care nu suportă eșec parțial, printre care CampaignConversionGoalOperation.

Conturile de test apar ca anulate în interfața Google Ads, nu au facturare și nu afișează reclame. Au nevoie de o ierarhie proprie, sub un cont de manager de test, și nu pot interacționa cu conturile de producție. Ele testează structura cererilor, nu livrarea, verificarea de politici sau licitarea.

Limitele zilnice de operații depind de nivelul de acces: Explorer permite 2.880 de operații pe zi pe conturi de producție și 15.000 pe conturi de test, Basic permite 15.000, iar Standard e nelimitat. O singură cerere de modificare acceptă cel mult 10.000 de operații, la fel și o cerere AddBatchJobOperations. Depășirea limitelor întoarce RESOURCE_EXHAUSTED; bibliotecile client ridică dimensiunea maximă a răspunsului la 64 MB.

Raportarea livrării in-stream

Demand Gen suportă raportare la nivel de campanie, anunț și element prin GoogleAdsService.Search și SearchStream. Clicurile pe campanie se filtrează după tipul de clic CROSS_NETWORK. Segmentul ad_sub_network_type, adăugat în versiunea 23, separă livrarea Demand Gen pe YouTube și trebuie selectat împreună cu ad_network_type. Versiunea 25 a adăugat ad_sub_format_type, care împarte anunțurile in-stream care nu pot fi omise după durată.

Anunțurile afișate în interfață ca „Demand Gen video ad (legacy)” nu sunt suportate de API și nu apar în rezultatele interogărilor. Un cont care încă le rulează va arăta mai puțin într-un raport prin API decât în interfață.

Versiunile care contează aici

Versiunea 22 (15 octombrie 2025) a adus Target CPC pentru Demand Gen și a plafonat cererile batch la 10.000 de operații. Versiunea 23 (28 ianuarie 2026) a adăugat ad_sub_network_type și a făcut ca partajarea unui anunț între grupuri să întoarcă AD_SHARING_NOT_ALLOWED. Versiunea 23.1 (25 februarie 2026) a adăugat YouTubeVideoUploadService, disponibil doar prin REST și în biblioteca client Python. Versiunea 24 (22 aprilie 2026) a făcut obligatorii videos și logo_images la anunțurile video adaptabile și a adăugat o opțiune de optimizare pentru conversiile post-vizualizare, oprită implicit. Versiunea 24.2 (24 iunie 2026) a adăugat Maps drept canal selectabil. Versiunea 25 a apărut pe 22 iulie 2026, urmată de 25.1 și 25.2 pe 19 august și 23 septembrie 2026.

Din 1 aprilie 2026, un cont cu fie și o singură campanie fără declarația privind publicitatea politică în UE are toate modificările de campanii respinse cu EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED. Raportarea merge în continuare. E permisă o modificare care setează doar declarația, iar asta e ieșirea.

Unde a greșit raportul

Tokenul de dezvoltator. Raportul spunea că fiecare cerere are nevoie de un token de dezvoltator, că tokenul se obține din API Center-ul unui cont de manager și că OAuth nu îl înlocuiește. Google a retras tokenurile de dezvoltator pe 9 septembrie 2026. Nivelurile de acces au trecut pe proiectul Google Cloud care deține credențialele OAuth, pe baza activității din cele 90 de zile dinaintea retragerii; antetul e acum opțional și ignorat, iar dezvoltatorii noi se înscriu din Google Cloud Console, fără cont de manager. În versiunea 25, un proiect Cloud care are doar acces de test și apelează un cont de producție primește CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION. Pagina Google despre structura apelurilor încă trece tokenul printre antetele obligatorii, deci documentația se contrazice.

„Nimic dintr-o campanie Video nu se poate modifica.” Adevărat pentru campanie, fals pentru anunțurile video adaptabile din versiunea 24.

Omisiuni care costă timp. Raportul nu spunea că explicitly_shared e implicit true, că din 1 aprilie 2026 tot contul e blocat la modificarea campaniilor dacă o singură campanie nu are declarația UE, nici recomandarea de buget de 15 ori CPA-ul țintă, nici limitele BatchJobService.

Reguli empirice puse lângă documentație. Pașii de scalare și pragurile de decizie din raport erau reguli de lucru, nu îndrumări Google. Raportul o spunea pe alocuri, dar le punea în aceleași tabele cu faptele verificabile despre API. Le-am lăsat deoparte.

Metoda

Am pornit de la un raport de cercetare scris de AI, în română, despre automatizarea Demand Gen și a YouTube in-stream prin Google Ads API. Pe 11 octombrie 2026 am verificat afirmațiile despre resurse, operații, câmpuri, limite și versiuni în ghidurile Google Ads API pentru dezvoltatori, în paginile de referință v25 și în notele de lansare. Am păstrat o afirmație doar dacă pagina Google spunea același lucru în ziua aceea.

Nu am putut verifica și am scos: mai multe coduri de eroare din raport (printre ele BUDGET_BELOW_DAILY_MINIMUM și două erori legate de bugetul total), tabelele cu dimensiuni de elemente dincolo de câmpurile citate aici, notele despre criteriile de plasare în Demand Gen și exemplele de cod, pe care nu le-am rulat.

Limite

E o verificare a documentației, nu un test pe un cont real. Documentația și comportamentul API-ului pot diferi, iar paginile despre tokenul de dezvoltator arată că paginile Google se pot contrazice între ele.

API-ul se schimbă în fiecare trimestru. Tot ce scrie aici descrie versiunea 25 la 11 octombrie 2026; o versiune majoră ulterioară poate schimba din nou câmpurile obligatorii, cum a făcut versiunea 24 cu anunțurile video adaptabile.

Nu am acoperit calitatea livrării, costurile sau performanța creativă a reclamelor in-stream. Întrebarea de aici e doar ce se poate automatiza.

Surse

  1. Video campaigns overview (Google Ads API)
  2. Demand Gen campaigns overview (Google Ads API)
  3. Create a Demand Gen campaign (Google Ads API)
  4. Demand Gen reporting (Google Ads API)
  5. DemandGenSelectedChannels (v25 reference)
  6. DemandGenChannelControls (v25 reference)
  7. DemandGenChannelStrategy enum (v25 reference)
  8. AudienceSetting (v25 reference)
  9. CampaignBudget (v25 reference)
  10. DemandGenVideoResponsiveAdInfo (v25 reference)
  11. DemandGenCarouselAdInfo (v25 reference)
  12. AssetOperation (v25 reference)
  13. AudienceOperation (v25 reference)
  14. UserListOperation (v25 reference)
  15. CampaignConversionGoalOperation (v25 reference)
  16. ConversionGoalCampaignConfigOperation (v25 reference)
  17. Mutating overview (Google Ads API)
  18. API limits and quotas (Google Ads API)
  19. Test accounts (Google Ads API)
  20. EU political advertising declaration (Google Ads API policy)
  21. Developer token (Google Ads API)
  22. API call structure (Google Ads API)
  23. Release notes (Google Ads API)
  24. Client libraries (Google Ads API)

Întrebări și răspunsuri

Pot crea o campanie Video YouTube cu Google Ads API?

Nu. Documentația Google spune că prin Google Ads API nu poți crea campanii Video noi și nici modifica pe cele existente; API-ul le poate citi și raporta pe ele. Google recomandă în schimb scripturile Google Ads sau campaniile Demand Gen. Din versiunea 24, anunțurile video adaptabile din campaniile Video pot fi modificate, dar campania în sine nu.

Cum fac o campanie Demand Gen să ruleze doar pe YouTube in-stream?

Setezi controalele de canal pe fiecare grup de anunțuri, în demand_gen_ad_group_settings.channel_controls.selected_channels, cu youtube_in_stream pe true și youtube_in_feed, youtube_shorts, discover, gmail, display și maps pe false. Controalele de canal țin de grupul de anunțuri, nu de campanie, deci fiecare grup din campanie are nevoie de aceeași setare.

De ce eșuează crearea campaniei Demand Gen la buget?

O campanie Demand Gen nu poate folosi un buget partajat, iar câmpul explicitly_shared din CampaignBudget are implicit valoarea true dacă nu e setat la creare. Pune explicitly_shared pe false. Setează fie amount_micros pentru buget zilnic, fie total_amount_micros pentru buget total, niciodată pe amândouă.

Mai am nevoie de token de dezvoltator pentru Google Ads API?

Nu. Google a retras tokenurile de dezvoltator pe 9 septembrie 2026. Nivelurile de acces au trecut pe proiectul Google Cloud care deține credențialele OAuth, iar un token trimis în antet e ignorat. Dezvoltatorii noi se înscriu din Google Cloud Console. Unele pagini Google încă descriu tokenul ca obligatoriu.

Care sunt limitele zilnice de operații în Google Ads API?

Accesul Explorer permite 2.880 de operații pe zi pe conturi de producție și 15.000 pe conturi de test. Accesul Basic permite 15.000 pe zi, iar Standard e nelimitat, deși limitele de sistem se aplică în continuare. O cerere de modificare poate avea cel mult 10.000 de operații. Depășirea întoarce RESOURCE_EXHAUSTED.

Cum se citează

Going Stellar (2026). Se pot crea campanii YouTube in-stream prin Google Ads API? Ce se poate automatiza cu Demand Gen. GOING STELLAR S.R.L..
https://goingstellar.ro/ro/cercetare/demand-gen-youtube-in-stream-prin-api/

Citește ca Markdown

Toată cercetarea

Contact

Spune-ne ce nu merge

Scrie în română sau în engleză. Citește un om — de obicei chiar cel care ar face treaba — și răspunde într-o zi lucrătoare.