Ad creative QA checklist: what to check before the files leave
Before a campaign goes to the media agency, the publisher or Ads Manager, check four things: every file meets its placement's technical spec, nothing important sits under the platform's interface, every line of the media plan has a file, and the delivery is named and packaged the way the receiver asked. Each check below comes with the limit that usually trips it and who checks it.
- Automatic Gatecheck tests it on every file, free
- Pro Gatecheck tests it across a whole campaign on the Pro plan
- By eye Gatecheck shows it so you can judge
- Yours Gatecheck does not check it
Limits from the platforms' own pages, last checked 17 October 2026 · Sources on the spec pages
1. Does every file meet its placement's spec?
These checks are technical and measurable, so they can be run on every file, against every placement it is booked for.
| Check | Limit that usually trips it | Who checks |
|---|---|---|
| Exact size for display slots | Google display takes 20 exact sizes; a 640 × 100 retina export for a 320 × 50 slot is not accepted | Automatic |
| Aspect ratio and minimum size | Meta feed 4:5 to 1.91:1; Reels and Stories 9:16; TikTok 9:16 from 540 × 960 px | Automatic |
| File weight | Google image ads 150 KB; Google HTML5 600 KB; Meta images 30 MB; TikTok video 500 MB | Automatic |
| File format | Meta feed images in JPG and PNG only; LinkedIn video in MP4 only | Automatic |
| Colour | CMYK files exported for print; Adobe RGB and Display P3 files that shift when platforms strip the profile | Automatic |
| Length | YouTube bumpers 5 to 6 s; non-skippable up to 15 s as standard; LinkedIn from 3 s | Automatic |
| Codec, frame rate and scan | H.264 for social; constant frame rate; progressive scan; 25 or 50 fps for EBU broadcast | Automatic |
| Audio | Snapchat requires audio; EBU broadcast needs stereo at 48 kHz | Automatic |
| Loudness and true peak | -23 LUFS for EBU R 128 TV, -24 LKFS for US TV and CTV, -16 LUFS for Snapchat | Automatic |
| GIF animation | Google: stops within 30 s and slower than 5 fps; IAB: 15 s including loops | Automatic |
| HTML5 code | clickTag or exit, ad.size meta tag, no files from other servers, up to 40 files for Google Ads and 100 for CM360 | Automatic |
| HTML5 animation length | Google 30 s, IAB 15 s; it cannot be measured without playing the banner, so Gatecheck reminds you | Yours |
2. Does every frame work on the platform?
A file can pass every technical check and still fail on screen: the platform puts its own interface on top of vertical ads, and the client cares about what the viewer reads.
| Check | What usually goes wrong | Who checks |
|---|---|---|
| Safe zones on 9:16 | A call to action under the caption. Meta asks for 14% at the top, 35% at the bottom and 6% on each side to stay clear in Reels and Stories | By eye |
| Black bars | A 16:9 edit dropped into a 9:16 frame to save a re-edit | Automatic |
| Text, logo, offer and legal lines | Spelling, the right price and dates, legible supers, the client's brand rules and the market's legal copy | Yours |
| Captions and subtitles | Burned in or delivered as a sidecar, as the brief asks | Yours |
| Music and rights | Usage rights for music, talent and stock. On Meta, Reels ads cannot use licensed music | Yours |
3. Does every placement in the media plan have a file?
This is the check that is easiest to miss: a delivery where every file passes, but the 970 × 250 nobody exported, or the 9:16 cut for TikTok, is not in the folder. Work from the media plan, not from the folder.
| Check | What usually goes wrong | Who checks |
|---|---|---|
| One file for every placement and size | A display set short of one size, or a vertical placement with no vertical cut | Pro A delivery plan lists every placement and size and marks the ones with no file as Missing |
| Each file judged only where it runs | A 30 second spot is not a failed 6 second bumper; a file only needs to pass the placements it is booked for | Pro The plan scopes the checks |
| A publisher's or channel's own sheet | Local publishers, digital out-of-home networks and TV channels with limits of their own | Pro Add it once as a custom spec |
Gatecheck starts a plan from presets such as Meta full set, Google Display core sizes and TV and CTV, or from placements you pick. The result is the files-by-placements grid that ad ops teams otherwise build by hand.
4. Is the delivery named, packaged and documented?
The receiver decides what a good delivery looks like. Ask for their naming convention and folder structure before you export, not after.
| Check | What usually goes wrong | Who checks |
|---|---|---|
| File names | Spaces and special characters that some ad servers reject | Automatic |
| Naming convention | Finals named by the editor's habit instead of the agency's template | Pro Rename every file by a template |
| Package | A loose folder instead of files grouped by platform | Pro A zip grouped by platform |
| Delivery sheet | No list of which file is for which placement | Pro A CSV of files, placements and status |
| QA report | No record of what was checked, against which spec and when | Pro A self-contained HTML report with sources |
| HTML5 extras | For CM360, no backup image inside the zip (it is optional, and goes up separately if used); for DV360, a zip name shorter than 50 characters and file names up to 200 characters; for Google Ads, file names with only letters, numbers, periods, hyphens and underscores | Automatic |
| Click-through URLs, tracking and approvals | The right landing page, tracking parameters and the client sign-off on the final cut | Yours |
Checking one file at a time is free, with every check. Pro checks a whole campaign against a delivery plan and exports the report. Nothing is uploaded.
Gatecheck is not affiliated with Meta, TikTok, Google, LinkedIn, Snap, the EBU, ATSC or the IAB. Specs come from their public help pages and, where marked secondary, from industry guides. Every source is linked from the spec pages and was last checked on 17 October 2026.