A paid social video ad should be as long as your product needs to prove one claim on screen. Time that proof, add a hook and a call to action, and you have your runtime; the platform limits are far longer and rarely decide anything.
This guide is for ecommerce teams and media buyers who make video ads for TikTok, Instagram Reels and Stories, and keep debating 15 against 30 seconds. You will leave with the official limits per placement, a formula that sets a runtime from the product itself, a decision table, and a test that settles the question with your own numbers.
What are the official video ad length limits?
The limits are generous everywhere, and they change, so check the current spec page before you export. Here is what each platform's own documentation says today.
| Placement | Length the platform accepts | What actually plays | Source |
|---|---|---|---|
| TikTok in-feed (non-Spark) | Up to 10 minutes | The whole video, full screen | TikTok in-feed ad specs |
| TikTok Spark Ads | No duration restriction listed | The whole post | TikTok in-feed ad specs |
| Instagram Reels | 0 seconds to 15 minutes | The whole video, 9:16 | Meta ads guide, Instagram Reels |
| Instagram Stories | 1 second to 60 minutes | Videos under 16 seconds play in full; longer ones are split into cards | Meta ads guide, Instagram Stories |
| Facebook Stories | 1 second to 3 minutes | Videos of 15 seconds or less play in full; longer ones are split into cards | Meta ads guide, Facebook Stories |
| Facebook Feed | 1 second to 241 minutes | The whole video, 4:5 recommended | Meta ads guide, Facebook Feed |
Two things in that table matter for an ecommerce ad. The first is the Stories split. Meta says it shows one, two or three cards automatically depending on the viewer, and anything past that waits for a tap. If your product appears at second 22, a share of Stories viewers will never reach it.
The second is how far the limits sit from any sensible ad. A 15-minute Reels ad is allowed. Nobody selling a phone case should make one. The question you are really answering is how long your ad can stay interesting, and the spec sheet cannot tell you that.
Why do the length recommendations disagree?
Search for this question and you will find "9 to 15 seconds", "15 to 30 seconds" and "21 to 34 seconds", often in the same article. Part of the confusion comes from TikTok itself.
TikTok's 7 Top Tips for Making TikTok Videos says in-feed ads can run 5 to 60 seconds and recommends 21 to 34 seconds, citing TikTok research from May to July 2021. The checklist on the next page of the same document says to be mindful of a recommended length of 9 to 15 seconds. Both numbers come from TikTok, and the in-feed limit they quote has since grown to 10 minutes.
Third-party guides then average those figures with older Meta advice and their own client data, and the ranges drift further apart. None of them knows what your product needs to show. That is the variable the rest of this guide uses.
How do you work out the right length for your product?
Start from the proof. Every ecommerce ad exists to settle one doubt: will it fit, does it work, is it worth the price, does it taste good. The ad has to show the thing that settles that doubt, and the product sets how long that takes.
Runtime = hook (2 to 3 seconds) + proof on screen + call to action (3 to 5 seconds)
The hook and the call to action are fixed costs. The proof is the variable. Time it by doing it: pour the drink, zip the jacket, apply the serum, open the box. Use a phone stopwatch while you or a creator perform the action at a natural pace, and note the seconds from the first frame of the product to the moment the result is visible.
Three worked examples:
| Product | The doubt | Proof on screen | Runtime from the formula |
|---|---|---|---|
| Stain remover pen | Does it really lift the stain? | Pen on a coffee stain, wipe, clean fabric: about 6 seconds | 3 + 6 + 4 = 13 seconds |
| Wide-leg linen trousers | How do they look and move on a real body? | Walk toward camera, turn, sit, stand: about 14 seconds | 3 + 14 + 4 = 21 seconds |
| Greens powder | Does it taste fine, and is the routine easy? | Scoop, shake, drink, honest reaction, label close-up: about 22 seconds | 3 + 22 + 5 = 30 seconds |
If the creator is also talking, check that the words fit the same runtime. The UGC script template gives a word budget of about 2.5 words a second, minus 10% for pauses. A 13-second ad holds around 29 words. If your script needs 60, the script is too long for the proof, and you should cut lines before you add seconds.
What the formula leaves out on purpose: a second proof beat, a brand story, a list of every feature. Each of those adds seconds without settling the doubt the hook raised. Add them only in a long cut you test against the short one.
Which length fits which placement and audience?
The formula gives you a runtime for the product. The placement and how warm the audience is then shift it. The table below is a starting point built from the mechanics above and the platform behaviour in the first table. It is reasoning, with no benchmark behind it, and your own test overrides it.
| Situation | Start with | Reasoning |
|---|---|---|
| Cold audience, product with a visual payoff (gadget, cleaning, beauty texture) | 9 to 15 seconds | One proof beat is enough, and the payoff lands before people scroll |
| Cold audience, product that needs a demo or a fit check | 20 to 35 seconds | The proof takes time to show honestly; cutting it removes the reason to buy |
| Warm audience or retargeting | 15 to 30 seconds | They know the product, so spend the time on the objection that stopped them |
| Facebook or Instagram Stories | 15 seconds or less, or a first card that works alone | Longer videos are split into cards and later cards need a tap |
| Higher price, considered purchase | 30 to 60 seconds, tested against a 20-second cut | More doubts to settle, but only if each extra second shows something new |
| TikTok in-feed | Same as the cold or warm rows above | The platform allows minutes, so the product sets the length here too |
If one master ad has to serve every placement, build it so the first 15 seconds work on their own: hook, proof, and an early version of the call to action. Then the Stories card, the short Reels cut and the full TikTok version all come from the same edit.
How do you test which length works for your account?
Make one master and cut it down. Shooting a separate ad for every length changes the creator, the light and the takes, and then you cannot tell what caused the result.
- Script and shoot the longest version you can justify. Use the formula, then add the one extra proof beat or objection you would include in a long cut.
- Cut a short version from the same footage. Keep the hook and the first proof beat, and move the call to action up. Aim for the runtime the formula gave you.
- Keep the opening identical. The first three seconds must match frame for frame, or you are testing a hook instead of a length. If hooks are what you want to test, start with 21 hook formulas for UGC video ads.
- Run both in the same ad set, same audience, same placements. The weekly creative testing system covers how to structure this on Meta.
- Wait for enough data. Give each cut enough impressions and purchases that the gap between them is larger than the noise.
- Decide on cost per purchase. Use the video metrics only to explain the result, as the next section shows.
- Log the winner with its proof time. After four or five tests you will see whether your catalogue prefers short or long, and you can skip the test for products that look like past winners.
How should you read video metrics when the lengths differ?
Carefully, because the standard metrics are not neutral to length.
On Meta, a ThruPlay counts a play of at least 15 seconds, or a play to the end for videos shorter than that. Check Meta's current definition in Ads Manager before you rely on it. That rule means a 12-second ad earns a ThruPlay from everyone who finishes it, while a 30-second ad needs 15 seconds of attention for the same credit. Hold rate, ThruPlays divided by 3-second views, will usually look better on the short cut for that reason alone.
The same bias affects completion rate. Finishing 12 seconds is easier than finishing 30, so a higher completion rate on the short ad tells you little about which one sells.
Use the metrics this way:
- Hook rate (3-second views divided by impressions) is fair across lengths if the openings are identical. If it differs a lot, something other than length changed. The hook rate and hold rate guide explains the formulas.
- Hold rate is only comparable between ads of the same length.
- Click-through rate tells you whether the long cut's extra seconds pushed people to act or bored them out.
- Cost per purchase decides. If the long cut costs less per purchase, the extra proof was worth the seconds, whatever its hold rate says.
Where Klaspr fits
Testing length means producing two or three cuts of the same ad without reshooting. In Klaspr, you load your product, choose a creator who stays the same across ads, and get back finished UGC-style videos in the ratios paid social runs on, with the script and cuts already decided. A short and a long version of one direction come from a second generation, without booking a second shoot. See Klaspr pricing for how plans work.
Klaspr does not read your ad account or tell you which length won. Your Ads Manager data decides that, and the creative only gives you something to test.