Google Ads beperkt een geüploade HTML5-displaycreative tot 600 KB en 40 bestanden in het ZIP-archief, volgens Googles eigen specificatie voor geüploade displayadvertenties. Display & Video 360 staat tot 100 bestanden toe, maar beperkt het totale downloadgewicht dat een browser ophaalt wanneer de advertentie wordt weergegeven tot 5 MB, en beperkt één creative tot 25 cookies en 100 externe HTTP-aanroepen, volgens de richtlijnen voor HTML5-creatives van DV360. Geen van deze getallen is geheim. Ze staan op de eigen specificatiepagina's van elk platform. Toch loopt een feedgedreven creativepipeline er voortdurend tegenaan, omdat de ZIP die een template-engine uit een paar duizend SKU's samenstelt zich totaal anders gedraagt dan de ZIP die een designer met de hand bouwt. Deze gids is bedoeld voor wie verantwoordelijk is voor de creatieve QA op een catalogusaccount: de specifieke redenen waarom HTML5-advertenties die uit productfeeddata zijn gegenereerd worden afgewezen door Google Ads, DV360 en Google Ad Manager, en de oplossing voor elk ervan, zodat je ze opvangt voordat het platform dat doet.
Waarom door feeds gegenereerde HTML5 vaker door de beoordeling zakt dan handgemaakte creatives
Een designer die één banner met de hand bouwt, zet de productfoto direct in de ZIP, schrijft één clickTag en controleert het aantal bestanden één keer. Een template-engine die dezelfde banner voor 4.000 SKU's genereert, herhaalt elke beslissing 4.000 keer, en een fout die bij n=1 niets kost, stapelt zich op schaal op.
Vier patronen verklaren het grootste deel. Ten eerste verwijst de template meestal naar productafbeeldingen via de URL in image_link rechtstreeks uit de feed, omdat dat het veld is dat de feed al heeft, in plaats van het bestand te downloaden en in te sluiten, wat het ZIP-formaat vereist. Ten tweede vermenigvuldigt een template die elke badgestatus (op voorraad, aanbieding, bestseller, bijna uitverkocht) een eigen afbeeldingsbestand geeft het aantal bestanden in het archief al voordat er ook maar één productfoto is toegevoegd. Ten derde verwijdert het minificeren van de build voor een snellere levering metadata en worden variabelen versluierd, waaronder precies de meta-tag ad.size en de variabele clickTag die de advertentieplatforms op naam uitlezen. Ten vierde voegt elke tool in de stack, zoals de laag voor creatieve automatisering, de analyticstag en de eigen pixel van het advertentienetwerk, een eigen script of cookie toe, en niemand test de samengestelde advertentie tegen het gecombineerde plafond van het platform totdat die al in beoordeling is.
De technische limieten per platform
Dit zijn de getallen die daadwerkelijk worden gehandhaafd. Waar een platform geen hard getal heeft gepubliceerd, zeggen we dat in plaats van te gokken.
| Platform | Max. ZIP- / downloadgrootte | Max. bestanden | Toegestane bestandstypen | Opvallende extra regel |
|---|---|---|---|---|
| Google Ads — standaard geüploade display | 600 KB (ZIP) | 40 | HTML, CSS, JS, GIF, PNG, JPG, JPEG, SVG | Alleen Google Fonts en door Google gehoste CreateJS, GSAP en jQuery mogen extern worden aangeroepen; al het andere moet in de ZIP zitten |
| Google Ads — HTML5-interstitial voor app-campagnes | 5,2 MB (ZIP) | 512 | Dezelfde basisset als hierboven | Er worden maar twee afmetingen ondersteund: 320×480 en 480×320 |
| Display & Video 360 | 5 MB totaal downloadgewicht (niet de ZIP-grootte) | 100 | html, htm, css, js, jpg, jpeg, gif, png, svg plus een vastgestelde set lettertypebestanden | Harde limieten van 25 cookies, 100 externe HTTP-aanroepen en 30 seconden animatie per creative; geen automatisch afspelen van audio |
| Google Ad Manager | Geen gepubliceerde harde limiet — validatie per bundel | Niet openbaar gespecificeerd | Dezelfde basisset; alleen vaste afmetingen, geen Fluid | Vereist een niet-geminificeerde variabele clickTag in de head en een meta-tag ad.size; hardgecodeerde klik-URL's verstoren de kliktracking |
Bronnen: specificaties voor geüploade displayadvertenties van Google Ads, probleemoplossing voor HTML5-assets in app-campagnes van Google Ads, richtlijnen voor HTML5-creatives van DV360, HTML5-richtlijnen van Google Ad Manager.
Vijf oorzaken van afwijzing die op elk platform terugkomen, en de oplossing voor elk
1. Absolute afbeeldings-URL's in plaats van ingesloten assets
De template haalt image_link rechtstreeks uit de feed en zet die ongewijzigd in de markup:
<img src="https://cdn.example.com/feed/sku-4471-a.jpg">
Googles eigen validator voor HTML5-assets geeft hiervoor bij interstitialbundels voor app-campagnes een specifieke foutmelding: "Your HTML5 ad is trying to reference an asset that is external to your .ZIP file. Only internal file references are allowed." Dezelfde regel geldt, met minder expliciete fouttekst, voor standaard display en DV360.
Oplossing: haal tijdens de build het bestand op waarnaar de URL in image_link verwijst, codeer het opnieuw in de ZIP onder een relatief pad en verwijs in plaats daarvan naar dat pad:
<img src="assets/sku-4471-a.jpg">
2. Aantal bestanden uit de hand gelopen door badge- en icoonassets per variant
Een template met zes badgestatussen in acht creativeformaten telt 48 bestanden voordat er ook maar één productfoto is toegevoegd, en zit daarmee al boven de limiet van 40 bestanden voor standaard display in Google Ads. Bij een catalogus met honderden actieve promoties is dit de meest voorkomende reden dat een batchexport mislukt terwijl dezelfde template door de QA kwam op een testset van vijf producten.
Oplossing: voeg badgestatussen samen in één spritesheet of een inline SVG-<symbol> waarnaar via een CSS-klasse wordt verwezen, zodat het aantal bestanden gelijk blijft, hoeveel badgestatussen of formaten de campagne ook gebruikt.
3. Ontbrekende of verwijderde meta-tag ad.size
Minificatiestappen die zijn gebouwd voor snelheid en niet voor compliance in ad tech verwijderen of herschikken vaak inhoud in <head>, waaronder de meta-tag met de afmetingen die de platforms op exacte naam uitlezen. De foutmelding van de Google Ads-validator luidt in dat geval: "Your HTML5 ad is missing a primary .HTML file. Primary .HTML files include an Ad Size tag." Google Ad Manager vereist dezelfde informatie als <meta name="ad.size" content="width=300,height=250">.
Oplossing: voer de controle op de meta-tag uit na de minificatie, niet ervoor, en bouw die in als geautomatiseerde poort in de exportpipeline in plaats van als handmatige steekproef.
4. clickTag hardgecodeerd, ontbrekend of onherkenbaar geminificeerd
Een minifier maakt van een leesbare klikhandler zoiets als var a=b(3). De eigen richtlijnen van DV360 stellen uitdrukkelijk dat de clicktag "makkelijk leesbaar moet zijn voor de adserver" en instrueren teams om die niet door een codeminifier te halen; Ad Manager vereist dezelfde variabele, exact gedeclareerd als clickTag, in de head.
Oplossing: declareer hem één keer, niet geminificeerd, en sluit die ene regel uit van de minificatie: var clickTag = "https://example.com/product/4471";. Codeer de bestemmings-URL nooit ergens anders in de markup hard; Ad Manager kan geen klikken toeschrijven die het niet via de variabele ziet.
5. Plafond voor cookies en HTTP-aanroepen overschreden door gestapelde tracking
DV360 beperkt één creative strikt tot 25 cookies en 100 externe HTTP-aanroepen. Elke afzonderlijke tag, zoals een retargetingpixel, een webfontverzoek, een GA4-aanroep of het eigen trackingfragment van het platform voor creatieve automatisering, voldoet op zichzelf. Gestapeld in één samengestelde advertentie voldoen ze niet meer, en de overschrijding komt pas aan het licht als iemand de afgeronde bundel test in plaats van de template.
Oplossing: leid tracking via één tagmanagercontainer per advertentie in plaats van pixels afzonderlijk toe te voegen, laad lettertypen lokaal in plaats van via een extern verzoek, en test het aantal op een echte, gerenderde export en niet op de template, omdat testen op templateniveau te weinig telt.
Een checklist voordat een batch door feeds gegenereerde HTML5-creatives live gaat
- Elke verwijzing naar een asset in de markup is relatief ten opzichte van de root van de ZIP, geen absolute URL terug naar de CDN van de feed.
- Het aantal bestanden wordt gecontroleerd op de samengestelde, productspecifieke ZIP, niet op de template, en blijft onder de limiet van het doelplatform.
- De meta-tag
ad.size(of het equivalent voor DV360/Ad Manager) is na de buildstap aanwezig en niet geminificeerd, niet alleen ervoor. - De variabele
clickTagis één keer gedeclareerd, niet geminificeerd, en is de enige klikbestemming in het bestand. - Het gecombineerde aantal cookies en externe HTTP-aanroepen wordt getest op de gerenderde advertentie, tegen het plafond van 25/100 van DV360, en niet per tag geschat.
- Het totale downloadgewicht wordt koud gemeten, na compressie, tegen de werkelijke limiet van het platform: 600 KB voor standaard display in Google Ads, 5 MB totaal voor DV360.
Wat dit niet behandelt
Dit is een laag voor technische compliance, geen volledige creatieve strategie. Het behandelt geen dynamische catalogusadvertenties voor social en native, zoals plaatsingen op Meta en Instagram of catalogusadvertenties op TikTok, die uit dezelfde feed worden gebouwd, omdat die draaien op afbeeldings- en videoassets via de eigen catalogusadvertentiemanager van het platform en niet via een HTML5-ZIP-upload. Voor die specifieke taak zijn speciaal gebouwde tools echt een betere keuze dan een algemene HTML5-pipeline: Confect is specifiek gebouwd rond templates voor catalogusadvertenties van Meta en Google met productsynchronisatie per uur, en Hunch is gebouwd rond dynamische creatives voor social en video, inclusief hypergelokaliseerde varianten. Geen van beide produceert HTML5-displaybanners volgens de IAB-specificatie, en dat is precies het gat dat deze gids vult, maar binnen hun eigen terrein zijn ze het waard om op hun eigen merites te beoordelen.
Dit behandelt ook geen creatieve tests of prestatiemeting; of een bepaalde template beter converteert dan een andere is een andere discipline dan of hij door de technische beoordeling komt. En het vervangt de inhoudelijke beleidsbeoordeling van een platform niet. Door elk punt op de checklist hierboven op te lossen, voorkom je een technische afwijzing. Een creative die inhoudelijk in strijd is met het advertentiebeleid van een platform, wordt daarmee niet goedgekeurd.
Veelgestelde vragen
Wat is de maximale bestandsgrootte voor een HTML5-displayadvertentie in Google Ads?
Voor standaard geüploade displayadvertenties moet het ZIP-bestand 600 KB of kleiner zijn en mag het niet meer dan 40 bestanden bevatten. HTML5-interstitialassets voor app-campagnes volgen een aparte specificatie: tot 5,2 MB en 512 bestanden, maar alleen in de afmetingen 320×480 of 480×320.
Waarom meet DV360 het totale downloadgewicht in plaats van de ZIP-grootte?
Omdat een ZIP kan uitpakken tot een veel grotere set bestanden zodra de browser hem rendert. DV360 beperkt het werkelijke gewicht dat de browser van een bezoeker downloadt wanneer de advertentie wordt weergegeven tot 5 MB, wat een nauwkeuriger maatstaf is voor de werkelijke laadimpact dan de grootte van het gecomprimeerde archief.
Mag een door een feed gegenereerde HTML5-advertentie naar externe lettertypen of afbeeldingen verwijzen?
Over het algemeen niet. Standaard display in Google Ads staat alleen externe verwijzingen toe naar Google Fonts en een kleine lijst toegestane, door Google gehoste bibliotheken (CreateJS, GSAP, jQuery); al het andere, inclusief elke productafbeelding, moet met een relatief pad in de ZIP worden ingesloten.
Waarom slaagt een HTML5-advertentie bij lokaal testen maar zakt ze bij de beoordeling van het platform?
Lokaal testen gebeurt meestal op de bron vóór minificatie en compressie, niet op de exacte ZIP die wordt geüpload. Minificatie kan de tag ad.size verwijderen of de variabele clickTag verminken nadat de lokale test al is geslaagd, dus de controles moeten op het uiteindelijke buildartefact worden uitgevoerd.
Geldt de limiet van 40 bestanden per product of per campagne?
Per afzonderlijke creative-ZIP. Bij een batchexport die per SKU één ZIP genereert, moet elke ZIP afzonderlijk onder de limiet blijven; de limiet wordt niet gemiddeld over het totale aantal bestanden van een campagne.
Wat is het verschil tussen de HTML5-specificatie voor app-campagnes en die voor standaard display?
Het zijn aparte specificaties met verschillende limieten, gericht op verschillende inventaris. Standaard geüploade displayadvertenties zijn beperkt tot 600 KB en 40 bestanden met flexibele afmetingen; HTML5-interstitials voor app-campagnes mogen tot 5,2 MB en 512 bestanden zijn, maar alleen in twee vaste afmetingen voor staand en liggend. De aannames van de ene specificatie toepassen op de plaatsing van de andere is een veelvoorkomende oorzaak van afgewezen bundels.
Gelden deze regels voor bestanden en clickTag ook voor video's die uit dezelfde feed worden gegenereerd?
Nee. Videoassets volgen de specificaties voor videoadvertenties van elk platform (codering, duur, beeldverhouding), niet de HTML5-ZIP-regels uit deze gids. Een feedgedreven pipeline die zowel video als HTML5 produceert, heeft voor elk een aparte QA-ronde nodig.
Hoe test ik het aantal cookies en HTTP-aanroepen voordat ik naar DV360 upload?
Render de samengestelde creative in een browser met de ontwikkelaarstools open, laad de advertentie in een geïsoleerd tabblad en tel in het netwerkpaneel de cookies die daadwerkelijk worden geplaatst en de verzoeken die worden verstuurd. Als je de template los test, voordat de trackingtags tijdens de build worden toegevoegd, tel je van beide te weinig.
Is het handmatig onderhouden van deze compliancelaag geen goede besteding van de tijd van je team, bekijk dan hoe Creative Suite van Feedance kanaalklare creatives rechtstreeks uit je productfeed genereert, als statische banners, video's en HTML5-banners, naast feedverrijking voor de onderliggende productdata. Karaca gebruikte dezelfde aanpak van feed naar creative om in twee uur 10.000 Black Friday-creatives in de eigen huisstijl te maken. Praat met ons over je catalogus en je huidige afwijzingspercentage.

Medeoprichter van Feedance, waar hij zijn achtergrond als computeringenieur en marketeer inzet om analytische inzichten te leveren. Met een sterke focus op het omzetten van data in concrete strategieën zet hij zich in om merken te helpen aanzienlijk te groeien in het digitale landschap.
LinkedIn




















