Most product reels are 10 seconds with 20 hashtags. Both hurt.
Ecommerce product reels: the length, caption and hashtag numbers from 4.5 billion TikTok posts, and why the standard product clip is built backwards.
The standard ecommerce product reel is built from a template that was handed down from Instagram circa 2019: a 10 second clip of the product rotating or being unboxed, a trending sound, a caption that is one line of copy followed by twenty hashtags. Based on our analysis of 4.5 billion TikTok posts (2014 to 2026), that template gets three of its four decisions wrong, and the hashtag part is wrong in a way that depends on which country you sell in.
So what should the length, caption and hashtag choices actually be for a product reel, and why does the template persist if it performs this badly?
Length: the product clip is in the weakest band
Videos of 61 to 120 seconds appear 3.08 times more often among the top 1% of posts by views (in their country and week) than the average post. Videos of 8 to 15 seconds appear at 0.63. Photo posts appear at 0.24.
The 10 second product clip sits squarely in the 0.63 band. That is not a small penalty: the longer format is nearly five times more overrepresented among hits than the short one. The reason is structural. A minute has room for a person, a problem the product solves, the moment it either works or does not, and a result. Ten seconds has room for the product and a logo.
What the extra 60 seconds are for
In our own 100-reel experiment (one new account, 100 reels in 30 days, all produced by the pipeline that became Ultim), reels built around a named person and what happened to them held attention about twice as long as "mechanics" reels that explained how something works. A product demo is mechanics. A reel about the person who bought the product, what they were trying to fix, and what happened is a story.
For an online store this is the script shift: not "here is the bag", but "a nurse who was carrying three bags to every shift, and what changed". The product footage is the same. The 60 seconds around it are what make the format the platform rewards.
One caution from the same experiment: average watch time had a correlation of -0.11 with views. The story holds the viewer, which matters for the share that follows, but retention on its own was not the signal that opened distribution. Script the story because it is the thing a viewer forwards, not because it inflates a metric.
Caption: one sentence, not a paragraph, not empty
The caption field under the video (not the text burned into it) carries a lift of 1.7 to 1.8 when it is 21 to 100 characters long with no hashtags. An empty caption carries 0.27. One or two emoji add a lift of 1.53; more does not help.
The ecommerce template usually fails here in one of two ways: a block of marketing copy with a link, or nothing at all because the product is "self-explanatory". Both land outside the window. The caption that works is a single plain sentence: what the reel is about, in the words a customer would use, with at most one emoji.
Word-by-word captions inside the video are a different thing, and they are not optional for a product reel. A large share of viewers watch with sound off, and a product reel whose voiceover carries the pitch is silent to them. Ultim renders captions synced to each word so the story reads on mute.
Hashtags: a niche label, and the number depends on the country
This is the decision where the template is not just wrong but wrong in different directions depending on where the store sells.
Globally, 6 to 10 hashtags carry a lift of 1.65 and zero hashtags carry 0.55. So far the template's instinct to use hashtags is right, though twenty is beyond the band.
In Poland, zero hashtags has the highest lift and 11 or more hurts. The same twenty-hashtag caption that is merely excessive in one market is actively costing reach in another.
Our reading of the two findings together: hashtags work as a niche label that helps the platform route a post to the right interest cluster, not as an algorithm lever that adds reach by itself. In a market where the interest clusters are already well separated, the label adds nothing and the noise subtracts. For a store, that means a handful of tags that describe the category (not the brand, not "viral", not "fyp"), adjusted by market. Ultim sets hashtag count per country for this reason.
Sound: the unboxing with a trending track is the weaker choice
A post using the creator's own voice or own recording as the sound carries a lift of 1.09. A post using someone else's music carries 0.79. The ecommerce template, product plus trending audio, is the 0.79 case.
An AI voiceover generated for the reel counts as own sound because it exists only on that account. It also does something a song cannot: it tells the story. A store that records a consistent voice across fifty reels gets a recognisable identity without a founder on camera.
Hook: the first line, and the one format still growing
We tagged the opening hook of each post and measured its lift among top 1% posts:
- GRWM, vlog and ASMR style: 3.32
- "Part N" series: 2.90
- How-to: 2.65
- Tips: 2.49
- Question: 2.08
- Storytime: 1.81
- POV: 1.39
For a product, ASMR style footage (packaging, texture, the sound of the thing) is available and carries the highest lift. The series is the one to plan around: most hook types lose 10 to 15% of their lift each year, and the "part N" series is the only one gaining, from 2.81 in 2024 to 3.01 in 2026. "Things customers use this for that we never intended, part 4." "One product, one real problem, part 7." The counter gives a viewer a reason to come back, and a store has a catalogue's worth of parts.
Paste the store's URL into /tools/reel-hooks and it will return five opening lines in these formats built from the product pages.
Posting hour and day
Posting between 10:00 and 18:00 local time carries 1.04 to 1.12, with the peak at 15:00 to 16:00. Posting between 21:00 and 02:00 carries 0.78 to 0.84. Local time is the customer's, not the warehouse's. Day of week barely matters (0.90 to 1.05), with Sunday the weakest.
How many product reels before it works
Based on our analysis of 4.5 billion TikTok posts (2014 to 2026), among 2.87 million creators with at least 3 posts, the median number of posts before the first top 1% hit is 5, the third quartile is 16 and the 90th percentile is 38. The chance an account has at least one hit is 1.6% at 3 to 4 posts, 4.9% at 10 to 19, 10.9% at 20 to 49 and 39% at 100 or more. Posting 1 to 3 and 3 to 7 times a week give the same share with a hit; above 7 the chance per post drops.
In our own 100-reel experiment, the median reel got 303 views, the best 1,728, and the total was 48,254. Going from one reel a day to four reels a day in four different formats raised the daily total from about 800 to about 1,700 views, with views per reel falling less than proportionally. Each format got its own pool. For a store with many products, this is the natural shape: a series episode, a how-to, a tips reel and a customer story each day, each a different test.
The early signal to watch is shares, not likes: shares per view at 0.5% to 1% gives a 2.5% chance of top 1%, 2% or more gives 5.6%, zero shares gives 0.01%. Comments do not differentiate. A product reel that gets forwarded is in contention. One that gets "cute" in the comments is not.
Rebuilding the template
The product reel the data favours is 60 to 90 seconds, built around a person and a problem, with the store's own voice, one plain sentence as the caption, a few category tags adjusted by country, posted at 15:00 local time, as one part of a numbered series, four formats rotating, fifty times.
That is a lot of production for a store with a catalogue and no video team, which is the reason the 10 second template survives. Ultim reads the product pages, writes the scripts, records the voice, edits with captions and publishes on schedule to TikTok, Instagram Reels and YouTube Shorts, then measures at 24 and 48 hours and retires formats that do not work. The plans are sized by reels per month at /pricing. The first step is to paste the store's URL into /tools/reel-hooks and see whether the five hooks it returns are about customers or about the product.