---
title: "Se pot crea campanii YouTube in-stream prin Google Ads API? Ce se poate automatiza cu Demand Gen"
description: "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."
date: 2026-10-11
lang: ro
canonical: https://goingstellar.ro/ro/cercetare/demand-gen-youtube-in-stream-prin-api/
author: Going Stellar
publisher: GOING STELLAR S.R.L.
topic: Documentare / Google Ads API
license: CC BY 4.0
alternate_en: https://goingstellar.ro/research/demand-gen-youtube-in-stream-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.*

> Documentare · Google Ads API · 2026-10-11 · https://goingstellar.ro/ro/cercetare/demand-gen-youtube-in-stream-prin-api/

## Pe scurt

- Google Ads API nu poate crea campanii Video noi și nu le poate modifica pe cele existente; le poate doar citi și raporta pe ele.
- O campanie YouTube in-stream se poate construi prin API ca o campanie Demand Gen ale cărei grupuri de anunțuri au doar youtube_in_stream pe true în selected_channels.
- Bugetul unei campanii Demand Gen nu poate fi partajat, iar explicitly_shared e implicit true la creare, deci trebuie pus explicit pe false.
- Resursele Asset și Audience se pot crea și modifica, dar nu șterge prin API; resursele pentru obiectivele de conversie se pot doar modifica.
- Google a retras tokenurile de dezvoltator pentru Google Ads API pe 9 septembrie 2026; nivelurile de acces aparțin acum proiectului Google Cloud care deține credențialele OAuth.

## 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)](https://developers.google.com/google-ads/api/docs/video/overview)
2. [Demand Gen campaigns overview (Google Ads API)](https://developers.google.com/google-ads/api/docs/demand-gen/overview)
3. [Create a Demand Gen campaign (Google Ads API)](https://developers.google.com/google-ads/api/docs/demand-gen/create-campaign)
4. [Demand Gen reporting (Google Ads API)](https://developers.google.com/google-ads/api/docs/demand-gen/reporting)
5. [DemandGenSelectedChannels (v25 reference)](https://developers.google.com/google-ads/api/reference/rpc/v25/AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls.DemandGenSelectedChannels)
6. [DemandGenChannelControls (v25 reference)](https://developers.google.com/google-ads/api/reference/rpc/v25/AdGroup.DemandGenAdGroupSettings.DemandGenChannelControls)
7. [DemandGenChannelStrategy enum (v25 reference)](https://developers.google.com/google-ads/api/reference/rpc/v25/DemandGenChannelStrategyEnum.DemandGenChannelStrategy)
8. [AudienceSetting (v25 reference)](https://developers.google.com/google-ads/api/reference/rpc/v25/AdGroup.AudienceSetting)
9. [CampaignBudget (v25 reference)](https://developers.google.com/google-ads/api/reference/rpc/v25/CampaignBudget)
10. [DemandGenVideoResponsiveAdInfo (v25 reference)](https://developers.google.com/google-ads/api/reference/rpc/v25/DemandGenVideoResponsiveAdInfo)
11. [DemandGenCarouselAdInfo (v25 reference)](https://developers.google.com/google-ads/api/reference/rpc/v25/DemandGenCarouselAdInfo)
12. [AssetOperation (v25 reference)](https://developers.google.com/google-ads/api/reference/rpc/v25/AssetOperation)
13. [AudienceOperation (v25 reference)](https://developers.google.com/google-ads/api/reference/rpc/v25/AudienceOperation)
14. [UserListOperation (v25 reference)](https://developers.google.com/google-ads/api/reference/rpc/v25/UserListOperation)
15. [CampaignConversionGoalOperation (v25 reference)](https://developers.google.com/google-ads/api/reference/rpc/v25/CampaignConversionGoalOperation)
16. [ConversionGoalCampaignConfigOperation (v25 reference)](https://developers.google.com/google-ads/api/reference/rpc/v25/ConversionGoalCampaignConfigOperation)
17. [Mutating overview (Google Ads API)](https://developers.google.com/google-ads/api/docs/mutating/overview)
18. [API limits and quotas (Google Ads API)](https://developers.google.com/google-ads/api/docs/best-practices/quotas)
19. [Test accounts (Google Ads API)](https://developers.google.com/google-ads/api/docs/best-practices/test-accounts)
20. [EU political advertising declaration (Google Ads API policy)](https://developers.google.com/google-ads/api/docs/api-policy/eu-par)
21. [Developer token (Google Ads API)](https://developers.google.com/google-ads/api/docs/api-policy/developer-token)
22. [API call structure (Google Ads API)](https://developers.google.com/google-ads/api/docs/concepts/call-structure)
23. [Release notes (Google Ads API)](https://developers.google.com/google-ads/api/docs/release-notes)
24. [Client libraries (Google Ads API)](https://developers.google.com/google-ads/api/docs/client-libs)

## Î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ă

**Citare:** 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/

```bibtex
@misc{goingstellar2026demand,
  title  = {Se pot crea campanii YouTube in-stream prin Google Ads API? Ce se poate automatiza cu Demand Gen},
  author = {{Going Stellar}},
  year   = {2026},
  url    = {https://goingstellar.ro/ro/cercetare/demand-gen-youtube-in-stream-prin-api/},
  note   = {2026-10-11}
}
```

Licență. Se poate cita liber, cu atribuire.

## Mai există și

- Pagina în HTML: https://goingstellar.ro/ro/cercetare/demand-gen-youtube-in-stream-prin-api/
- Același articol în engleză: https://goingstellar.ro/research/demand-gen-youtube-in-stream-google-ads-api/
