Ad creative specs for programmatic

Every size, format and file limit the exchanges actually accept, plus the rejection reasons that are not in anyone’s documentation. Drag a file in below and find out in two seconds instead of two days.

Why creative gets rejected

A file bounces for one of three reasons, and only the first is in the official docs.

  1. It breaks a platform rule. Too big, wrong format, wrong aspect ratio. Documented, and the easy case.
  2. It passes the platform and no publisher wants it. A 437×288 banner is a perfectly valid image file. Almost no inventory exists at that size, so it technically runs and practically never serves.
  3. Something trivial and undocumented. A Polish character in a video filename. A filename three characters too long. These are the ones that cost you two days, because the rejection message rarely says which.

Display

Maximum 10 MB and 4000×4000 pixels. JPG, PNG, GIF, or an HTML5 bundle as a ZIP.

Your file has to match a standard placement size, or be exactly double one of them for high-resolution screens. A 600×500 file serves as a 300×250.

Sizes worth running

ShapeSizesNotes
Rectangles300×250, 336×280, 250×250, 320×320 300×250 is the single most available size in Europe. If you only make one, make this
Verticals160×600, 300×600, 120×600, 300×1050 300×600 carries the most inventory of the four and the best viewability
Horizontals728×90, 970×250, 970×90, 800×250, 468×60 728×90 is desktop only in practice. 468×60 is close to dead
Mobile320×50, 320×100, 300×50, 300×100 320×50 is the mobile equivalent of 300×250 for sheer availability
Mobile full screen320×480, 360×640, 360×592, 375×667 Interstitials. High impact, higher CPM, and people close them

The short version: 300×250, 300×600, 728×90 and 320×50 will reach almost all of the available inventory. Everything else is incremental.

HTML5 bundles

  • 5 MB total download, which is half the limit for a static image
  • A clickTag variable, or the ad is not clickable and gets rejected
  • Everything self-contained. External script calls fail in most placements
  • Keep animation under 30 seconds and stop it looping forever

Video

Up to 1 GB. MP4, MOV, WebM, M4V, MPEG or AVI, and MP4 with H.264 is the one that plays everywhere.

Aspect ratio

Only 16:9, 4:3, 9:16 or 3:4. Nothing else.

The usual failure is a 16:9 film exported inside a square frame with black bars. The file is a 1:1 video as far as the exchange is concerned, it gets rejected, and the baked-in bars would have looked wrong anyway. Re-export at the real frame size rather than padding it.

Duration

Slots are 6, 10, 15, 20, 30 and 60 seconds, and publishers allow a 10% overrun. So a 15 second slot takes anything up to 16.5 seconds, and a 32 second cut still fits a 30 second slot. Go one frame past the tolerance and it drops to the next slot up, where it costs more and reaches fewer people.

The filename trap

This one costs people days and appears in no checklist:

  • Under 50 characters, including the extension
  • Plain ASCII only. No ą, ü, é, no accents of any kind. Perfectly normal filenames in Polish, German or French are rejected

Kampania_Wiosenna_Marka_30s_FINAŁ_v2.mp4 fails on both counts. spring_brand_30s_v2.mp4 passes.

Connected TV

Everything above, plus two rules of the publishers’ own:

  • 1920×1080 or better. Broadcasters reject anything below 1080p, and a 720p file that ran fine on desktop will bounce here
  • An audio track is mandatory. Silent video is normal on social and fails on television

CTV is not clickable. Measure it on reach and completed views, not clicks, and judge a CTV line item on a click-through rate at your peril.

Premium video: YouTube, Twitch, Prime Video

Same file rules as CTV. The differences are in how they behave:

  • Prime Video plays on a television, full screen, and cannot be skipped. Treat it as a broadcast spot, not a pre-roll. The full duration runs, so a slow opening is wasted
  • Twitch is mostly watched on desktop, console and mobile rather than a TV, with sound on and a young audience that is genuinely difficult to reach anywhere else
  • YouTube Select runs across every device, which means your file needs to work at both television and phone size. Burned-in text that reads on a 55 inch screen often does not on a phone

Digital out of home

Up to 30 MB. JPG, PNG or MP4.

These are not platform specs. They come from the screen owners, and every network is different, so anything here gets confirmed against the specific network before a campaign runs.

  • Silent. Street furniture has no speakers
  • Motion capped around 15 seconds, often shorter on transit screens
  • No click. There is nothing to tap, so a URL on the creative is for recognition, not traffic
  • Read it in three seconds. Somebody is walking past. Six words, one idea, a logo big enough to register at distance

Checklist before you hand anything over

  • Every file under its size limit, and HTML5 under 5 MB total download
  • Display files on standard sizes, or exact 2× versions of them
  • Video at 16:9, 4:3, 9:16 or 3:4, with no letterboxing baked in
  • Durations inside a slot plus the 10% tolerance
  • Video filenames under 50 characters, ASCII only
  • CTV at 1080p or better, with audio
  • A clickTag in every HTML5 bundle

Or drag the files into the checker at the top of this page, which applies all of it at once and runs entirely in your browser.


Platform limits last verified against Google’s Display & Video 360 creative documentation on 3 August 2026. Google edits those pages without changing their dates, so re-check anything load-bearing. Rules marked as publisher or screen-owner requirements are ours, drawn from what actually gets accepted rather than from any specification.