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.

PlacementLength the platform acceptsWhat actually playsSource
TikTok in-feed (non-Spark)Up to 10 minutesThe whole video, full screenTikTok in-feed ad specs
TikTok Spark AdsNo duration restriction listedThe whole postTikTok in-feed ad specs
Instagram Reels0 seconds to 15 minutesThe whole video, 9:16Meta ads guide, Instagram Reels
Instagram Stories1 second to 60 minutesVideos under 16 seconds play in full; longer ones are split into cardsMeta ads guide, Instagram Stories
Facebook Stories1 second to 3 minutesVideos of 15 seconds or less play in full; longer ones are split into cardsMeta ads guide, Facebook Stories
Facebook Feed1 second to 241 minutesThe whole video, 4:5 recommendedMeta 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:

ProductThe doubtProof on screenRuntime from the formula
Stain remover penDoes it really lift the stain?Pen on a coffee stain, wipe, clean fabric: about 6 seconds3 + 6 + 4 = 13 seconds
Wide-leg linen trousersHow do they look and move on a real body?Walk toward camera, turn, sit, stand: about 14 seconds3 + 14 + 4 = 21 seconds
Greens powderDoes it taste fine, and is the routine easy?Scoop, shake, drink, honest reaction, label close-up: about 22 seconds3 + 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.

SituationStart withReasoning
Cold audience, product with a visual payoff (gadget, cleaning, beauty texture)9 to 15 secondsOne proof beat is enough, and the payoff lands before people scroll
Cold audience, product that needs a demo or a fit check20 to 35 secondsThe proof takes time to show honestly; cutting it removes the reason to buy
Warm audience or retargeting15 to 30 secondsThey know the product, so spend the time on the objection that stopped them
Facebook or Instagram Stories15 seconds or less, or a first card that works aloneLonger videos are split into cards and later cards need a tap
Higher price, considered purchase30 to 60 seconds, tested against a 20-second cutMore doubts to settle, but only if each extra second shows something new
TikTok in-feedSame as the cold or warm rows aboveThe 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.

  1. 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.
  2. 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.
  3. 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.
  4. Run both in the same ad set, same audience, same placements. The weekly creative testing system covers how to structure this on Meta.
  5. Wait for enough data. Give each cut enough impressions and purchases that the gap between them is larger than the noise.
  6. Decide on cost per purchase. Use the video metrics only to explain the result, as the next section shows.
  7. 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.