Aspect ratios per platform — and why 9:16 is non-negotiable
In 2026, 9:16 vertical (1080 × 1920) is the universal format for short-form video ads. Every platform — Meta Reels, TikTok, YouTube Shorts, Instagram Stories — defaults to vertical full-screen, and any ad creative that isn't native 9:16 gets letterboxed, cropped, or downranked.
Cheat sheet by surface:
| Platform / Placement | Aspect ratio | Resolution |
|---|---|---|
| Meta Reels, Stories (Instagram & Facebook) | 9:16 | 1080 × 1920 |
| Meta Feed (Reels in feed) | 9:16 displayed, source must be 9:16 | 1080 × 1920 |
| TikTok In-Feed Ads | 9:16 | 1080 × 1920 |
| TikTok Spark Ads (boosted organic) | 9:16 | 1080 × 1920 |
| YouTube Shorts | 9:16 | 1080 × 1920 |
| YouTube In-Stream (skippable) | 16:9 horizontal still preferred | 1920 × 1080 |
| Snapchat Ads | 9:16 | 1080 × 1920 |
Square (1:1) and 4:5 vertical still exist in Meta feed placements, but the conversion rate on them is below 9:16 in 2026 across every audit we've seen. If you produce only one format, make it 9:16. If you produce two, add 1:1 for in-feed Meta and absolutely nothing else.
Duration sweet spots for each platform
Just because a platform allows 60s ads doesn't mean you should use it. The drop-off cliff is real and platform-specific.
| Platform | Sweet spot | Max | Drop-off cliff |
|---|---|---|---|
| TikTok | 15-21s | 60s | ~28s |
| Meta Reels | 9-15s | 60s | ~18s |
| Instagram Stories | 6-9s | 60s | ~10s |
| YouTube Shorts | 15-25s | 60s | ~30s |
The "drop-off cliff" is where view-through-rate falls off a cliff in our internal data. Past that point you're paying for impressions nobody watches.
For Shopify ad creative that points to a product page, the sweet spot is universal: 9–18 seconds, with the hook in the first 1.5 seconds and the product visible within 3 seconds.
Technical specs: codecs, bitrate, file size
Platforms have similar requirements with subtle differences. The safe universal export settings that work everywhere:
- Container: MP4
- Codec: H.264 (Baseline or Main profile)
- Audio: AAC, 128 kbps, stereo
- Frame rate: 30 fps (24 and 60 also fine; avoid odd rates)
- Bitrate: 8–12 Mbps for 1080p
- File size: Keep under 250MB for safety across all uploaders
- Audio loudness: -14 LUFS integrated (broadcasting standard; auto-normalized by platforms but avoid clipping)
One under-discussed thing: encode captions into the video, don't rely on platform auto-captions. Auto-captions break, are styled poorly, and frequently mis-transcribe brand names. (Shotless became "Shoplis" in our own first auto-caption tests — that's not an isolated case.)
Safe zones — where platform UI eats your creative
This is the silent killer of short-form ad creative. Every platform overlays UI elements over your video, and if your text or CTA lives in those zones, it gets covered or pushed off-screen.
In 9:16 (1080 × 1920), the platform UI safe zones are roughly:
- Top 250px — username, profile icon, sometimes ad disclaimer
- Bottom 450px — caption, CTA button, like/comment/share icons (TikTok is especially hostile here)
- Right edge 200px — engagement buttons (Meta and TikTok)
Put differently: only the central ~680 × 1220px zone is consistently safe across all platforms. All your captions, text overlays, brand watermark, and CTA copy needs to sit in there. Everything outside that box should be considered visual content only — no critical info.
The 3-act structure that converts for Shopify
For a Shopify ad that takes the viewer from "swiping the feed" to "tapping the product link," the structure that consistently outperforms across our retainer accounts:
Act 1 (0–2s): The Hook
Pattern-interrupt visual + tension. The viewer should be looking at something they don't expect by 0.8s. Common hooks that work: a problem stated visually ("this is what happens when..."), a contrast cut (before/after, broken/working), or a confidence claim with caption ("this is the only X that does Y").
Act 2 (2–10s): The Product
The product appears, in use, in the relevant context. This isn't a packshot — it's the product solving the problem from Act 1 or delivering the result from the hook. Captions reinforce the value prop, not narrate the action.
Act 3 (10–15s): The CTA
One single, specific call to action. Not "learn more" — that's a dead phrase. The CTAs that actually drive clicks in 2026: "shop the link", "tap to get yours", "before they're gone again", "free shipping in Canada — link below". Specificity beats politeness.
The ad gets 80% of its conversion from the first 3 seconds. The rest is for the people the first 3 seconds already convinced.
CTA placement: where it lands, where it dies
On Meta and TikTok, the platform-native CTA button (Shop Now, Learn More) sits below your video. That button is what gets clicked. Your in-video CTA is reinforcement, not the actual click target.
Best in-video CTA placement:
- Center-screen overlay in the final 2–3 seconds, large text, with the platform CTA button visible underneath at the same moment
- Verbal CTA in voiceover at the same moment as the text overlay — two channels saying the same thing doubles recall
- Don't put CTA in the bottom 450px — it'll be covered by the actual platform CTA button
Testing protocol that doesn't waste budget
How most brands burn ad budget on creative testing: throw 8 versions into one ad set and let Meta optimize. That's slow, expensive, and the winners aren't statistically distinguishable from the losers for the first $2,000-$5,000 in spend.
What works better:
- Test hooks first, in isolation. Same body, 5 different opening 2 seconds. Run for 2-3 days at $20/day per variant. Pick winner.
- Test bodies with winning hook. Winning hook + 3 body variants. Run for 4-5 days. Pick winner.
- Test CTAs with winning hook + body. 3 CTA variants. Run for 3 days. Pick winner.
- Now scale the assembled winner.
Total testing budget to find a real winner across all three layers: typically $400–$900. The same brand testing 8 random variants at once would spend $3,000+ to reach the same conclusion, or never reach it.