NEWVectors or files. Pick a path.Start →
    Search & Discovery
    9 min read
    Updated 2026-09-27

    How Do I Find Every Ad We've Run That Shows a Specific Product?

    Your ad archive has thousands of videos and you need every one where a particular product appears on screen, with the second it appears. File names and DAM tags rarely say that. This covers the methods that work, what each one misses, how to tell your product from a lookalike, and what it costs to index a whole archive.

    Advertising
    Video Search
    Creative Analysis
    Product Detection
    Image Search

    How do I find every ad that shows a specific product?



    Search the video frames, since the product usually appears only in the picture. Cut each ad into scenes, turn every scene into an embedding, and compare those embeddings against a few reference photos of the product. Then read the packaging text and the voiceover as a second check, so a lookalike does not slip in. The result is a list of ads with the scene and timestamp where the product appears, which you can open at the right second instead of watching every ad.

    File names, campaign names and DAM tags find the ads someone remembered to label. They miss the product that shows up in the background of a lifestyle spot, the ad that was renamed for a new market, and everything made before anyone agreed on a tagging scheme.

    Why can't I just search our DAM or ad account for it?



    Because nothing there describes what is on screen at the level you need. Ad platforms know the campaign, the spend and the copy. A DAM knows the file name, the folder and whatever tags were added. Automatic tagging in most DAMs assigns general labels such as "bottle" or "skincare", and while some let you train custom tags, a tag still describes the whole file rather than the second the product appears.

    So a search for the product finds the ads that were written or tagged about it. An ad where the product is on screen for three seconds, never named, is invisible to all of those systems.

    What methods work, and what does each one miss?



    MethodWhat it catchesWhere it failsEffort
    Search names, campaigns and tagsAds someone labelled with the productAnything unlabelled, renamed, or where the product is incidentalMinutes, if the metadata exists
    Search the ad copy and transcriptAds that name the product in text or voiceoverAds that show the product without saying itLow, once audio is transcribed
    Read on-screen text (OCR)Packaging, price cards and supers that print the product nameSmall, blurred or angled packaging; products without readable textModerate
    Visual search with reference photosAds where the product is visible, named or notVery small or heavily occluded products; lookalikes without a second checkModerate, then fast per query
    Detect the product as an object, then compare the cropSmall products in busy frames that a whole-frame comparison missesNeeds a detector that finds the product's general categoryHigher
    Watch every adEverythingDoes not scale past a few hundred adsVery high
    In practice you combine the visual search with one of the text methods: the picture finds the candidates, and the text or the packaging confirms which product each one shows.

    How does visual search for a product in video work?



    The pipeline has four steps, whichever tools you use.

    1. Cut each ad into scenes. A scene-cut detector splits the video where the shot changes, and long shots get split on a fixed interval as well. A scene is the unit you want back: it has a start and end time, and one thumbnail represents it. 2. Embed every scene. An image or multimodal embedding model turns each scene's frames into a vector, a list of numbers where visually similar content ends up close together. 3. Embed your reference photos. Use several: the front of the pack, an angle, the product in a hand, and each packaging version that ran. One studio shot on white rarely matches how the product looks in a real ad. 4. Rank scenes by similarity to the reference photos, and return the ad, the scene and its timestamps.

    When the product is small in the frame, a whole-scene embedding is dominated by everything else in the shot. The fix is to find objects first, using an open-vocabulary detector that can locate "a bottle" or "a sneaker" from a text prompt, and compare each cropped object against the reference photos instead of the whole frame.

    How do I tell our product from a lookalike or a competitor's?



    Visual similarity alone confuses products that share a shape and a colour, and that is common within a category. Three habits keep the results honest:

  1. Use a second signal for confirmation. Packaging text read by OCR, a logo match, or the
  2. product name in the voiceover. Treat a scene that looks right and carries the name as a match, and send scenes that only look right to a person to check.
  3. Set the cut-off from your own labelled sample, not from a default. Label fifty scenes by hand
  4. as "our product" or "not", look at where the similarity scores separate, and set the threshold there. Scores from text-to-video search in particular sit in a narrow band, so a fixed number copied from somewhere else will be wrong for your archive.
  5. Keep reference photos per packaging version. A redesign changes colour and layout, and the
  6. old ads still show the old pack.

    What does it cost to search a whole ad archive this way?



    Indexing is a one-time cost per ad, and searching afterwards is cheap. The cost is driven by how many minutes of video you process, which for ads is small because each creative is short. At Mixpeek's published rate of $0.05 per minute of video processed, 10,000 ads averaging 30 seconds is 5,000 minutes, or $250 to index, before storage and queries. For how the other line items add up, see what it costs to make a video library searchable.

    How do I do this with Mixpeek?



    Mixpeek's Creative DNA template deploys this pipeline over an ad archive in one click. Each creative sits in a bucket with its ad id, brand and optional copy. The multimodal extractor cuts every ad into scenes and embeds them, and a separate collection holds the ad copy. The scene retriever takes a plain-language description such as "someone holding the product up to the camera" and returns ranked scenes with the ad, brand, start time and end time. Because the scene embedding is multimodal, a retriever can also take a product photo as the query. The Creative DNA solution page shows how a performance-video agency uses it across its library.

    Your videos stay in your own object storage, and the index points back to them, so nothing is copied into a separate video platform.

    Related: why video search returns the wrong scene, why image search returns lookalikes instead of the exact item, why video search misses words that appear on screen, the best AI video tagging tools and AI platforms for advertising technology.

    Frequently Asked Questions



    How do I find which of our ads show a particular product?



    Cut the ads into scenes, embed each scene, and compare them with several reference photos of the product. Confirm matches with the packaging text or the voiceover. You get the ads and the timestamps where the product appears, including ads where it was never named or tagged.

    Can I search our ad library with a photo of the product?



    Yes, if the scenes are indexed with an image or multimodal embedding model. The photo is embedded the same way and compared with every scene. Use several photos from different angles, and one per packaging version, because a single studio shot on white rarely matches how the product looks in an ad.

    Why do DAM tags miss ads that show our product?



    Tags describe the whole file and depend on someone adding them. A product that appears briefly, or in the background, or in an ad made before the tagging scheme existed, is not in the tags, so a tag search never returns it.

    How do I stop similar products from showing up in the results?



    Require a second signal before you trust a match: the product name read from the packaging, a logo match, or the name spoken in the voiceover. Set the similarity cut-off from a hand-labelled sample of your own scenes rather than a default, and send matches with only a visual signal to review.
    Managed Mixpeek

    Put multimodal search to work

    Connect a bucket and Mixpeek runs the whole multimodal search pipeline for you: extraction, indexing, and search over your own objects. No models to wire up, nothing to host.

    Start with Managed
    MVS · bring your own

    Already have vectors?

    Keep your embeddings on your own cloud and run dense, sparse, and BM25 search directly on object storage. From $25/mo.

    Start with MVS

    Run this on your own data

    Point Mixpeek at the storage you already have and search your video, images, audio, and documents the way this guide describes. Build starts at $25/mo for up to 1M vectors.

    Search your own archiveRead Docs