A user told me the App Store preview video wasn't showing. Suspecting a broken upload, I checked the asset first.
The asset was flawless. State complete, zero errors, MD5 and byte size identical to my local master.
Does your asset monitoring count whether it exists, or how many locales have it?
Suspecting the asset was structurally a waste of time
The problem was coverage.
The app supports 16 locales and preview sets existed in exactly one: en-US.
Previews, like screenshots, are not inherited across locales. Anyone viewing that app on the Korean or Japanese store sees a product page with no video at all. And that page raises no error whatsoever.
The right first move was counting preview sets per locale. It is exactly the same gap as the locale with no screenshots.
I counted the whole fleet
Forty-six apps.
app A 2 of 16 locales (English, Korean)
app B 1 of 16 (English)
app C 1 of 16 (English)
app D 1 of 5 (English)
the other 42 — no preview at allThe preview slot sits ahead of the screenshots on the product page. That slot was empty in 42 apps, and in the four that had one it was mostly English-store only.
What would you do?
You need previews in 16 locales. How do you fill them?
- Download the store's video and re-upload it to other locales — the URL the store API returns is a transcoded streaming copy and can't be re-uploaded.
- Find the master file and re-upload — you need to still have it. For some of the four, I don't.
- Rebuild per locale — captions and voice should differ per locale anyway, so this is the correct answer regardless.
Which means losing the master means you cannot duplicate it. That's the lesson here, and I've switched to keeping render masters per locale.
Three checks
- Does your asset monitoring only check existence? Store assets are per-locale. Make the denominator your locale count.
- Are you assuming previews and screenshots inherit across locales? They don't — and an empty slot raises no error.
- Do you keep the master for every uploaded video? The URL you get back from the store cannot be re-uploaded.
The honest part
A user told me. I was monitoring asset state, but I never counted how many locales had it. I only checked that the asset existed.
And this gap never presents as an error. Those 42 product pages still respond normally, still pass review, still generate no notifications. Get the denominator wrong and 100% coverage can mean 6%.