How it was built
Methods and prompts
Collected on 6 November 2026 with Apify scrapers; every ad and comment analysed with Google's Gemini models. Each analysis below, with the exact prompt it used.
Facebook Ad Library
US Ad Library search for testosterone, TRT, low-T and men's supplement terms, plus the pages of known advertisers: 1,899 ads, of which 1,193 are in the testosterone category from 256 advertisers. Every video and image was saved as it was scraped. Days running is the time from each ad's start date to 6 November 2026.
Video ad breakdowns
Every saved video went through three separate passes: the audio alone, transcribed word for word with speakers and word timestamps; the video with the sound stripped, for scenes, on-screen text, graphics and pacing; and the full video, analysed section by section. 481 unique Facebook videos, plus the TikTok, Instagram and Top Ads videos, were broken down this way; ads that reuse the same video share one breakdown.
Pass 1: transcription settings
Model: Gemini 3.5 Transcribe. Input: the audio track only. Mode: verbatim, with speaker diarization and word-level timestamps.
Pass 2: visual breakdown prompt (sound stripped)
You are a video editor breaking down the visuals of a video ad. The video has no sound; describe only what is seen. Watch it closely, including the opening frames. Return JSON with: - visual_style: the look of the footage and every change in it, in order (for example phone-shot UGC, studio, stock footage, photorealistic AI, cartoon or animation, screen recording, slides), each with start_seconds. - scenes: every change of place, person or shot type, in order: start_seconds; setting; who is on screen (apparent age, gender, role such as customer, doctor, founder, host); what they are doing; shot type (selfie, close-up, wide, b-roll, product shot); and the transition into it (hard cut, jump cut, zoom, swipe, split screen, or other). - on_screen_text: how text is used: captions or subtitles (style, and whether always on), headline or overlay text, lower thirds (name and title cards), slides or full-screen text cards, arrows, circles, emojis. Each kind with examples, read as exactly as you can, and timestamps. - graphics_and_effects: charts, diagrams, product renders, before/after split screens, filters, zooms, speed ramps, with timestamps. - pacing: approximate number of cuts, average shot length, and how the pace changes from beginning to end. - product_on_screen: when and how the product first appears and how it is shown. Report only what is visible. Timestamps are seconds from the start.
Pass 3: full-video analysis prompt
You are a direct-response creative strategist breaking down a video ad for a research file. Watch and listen to the whole video, including the opening frames. Return JSON with: - format: what kind of ad this is (for example UGC selfie, talking head, podcast clip, street interview, greenscreen reaction, TED-style talk, slideshow, animation, product demo, skit, or name another), in a few words. - core_promise: the core emotional promise in one sentence: what the viewer is told will happen to them or their life. - sections: the ad broken down by section, in order, from the hook to the CTA. Each section: - name: hook, problem, agitation, story, mechanism, proof, offer, CTA, or other (say what); - start_seconds and end_seconds; - said: what is said, paraphrased, not verbatim; - shown: what is on screen (people, setting, text, graphics) and how it changes; - job: what this section does to move the viewer toward buying. For the hook section, also give hook_device: how it grabs attention (question, shocking claim, pattern interrupt, call-out of the viewer, curiosity gap, fear, social proof, or name another). Describe it the way you'd tell another marketer, e.g. "Starts with a woman in her car saying you have to see this guy, cuts to a man on a TED-style stage explaining why your testosterone is crashing." - angles: the major angles it plays, numbered, most important first, one sentence each. - proof_elements: every proof element in order: start_seconds; kind (testimonial, before/after, expert or doctor, study or statistic, demonstration, social proof, media logos, guarantee, or other); and what is claimed. These are the ad's claims, not evidence that they are true. - offer: the offer as stated (price, discount, bundle, guarantee, free shipping, urgency), or "none stated". - cta: start_seconds, what the viewer is asked to do, and where it sends them if that is shown. - sound: music (style, and when it changes), tone of voice, and sound effects, and what each does for the ad. - length_seconds. Report only what is in the video. Paraphrase everything spoken; the exact words come from a separate transcript. If something is unclear, say so instead of guessing.
Static ad breakdowns
Every saved static image was read in one pass with the prompt below: 511 unique images, covering every static ad whose image could be saved.
Static image prompt
You are a direct-response creative strategist breaking down a static image ad for a research file. Look at the whole image closely. Return JSON with: - format: what kind of image ad this is (for example product shot with benefit stack, bold claim headline, meme, before/after, testimonial or review card, advertorial or article screenshot, offer banner, lifestyle photo, infographic, or name another), in a few words. - core_promise: the core emotional promise in one sentence: what the viewer is told will happen to them or their life. - text_on_image: every piece of text in the image, word for word, in reading order, each with its role (headline, subhead, benefit, claim, price or offer, badge, CTA, disclaimer, other). - hook: what stops the scroll first and why, and the hook device (question, shocking claim, pattern interrupt, call-out of the viewer, curiosity gap, fear, social proof, sex appeal, or name another). - visual: what is shown: people (apparent age, gender, role), setting, the product and how it is shown, composition, colors, and style (photo, 3D render, illustration, AI-generated, screenshot). - angles: the major angles it plays, numbered, most important first, one sentence each. - proof_elements: every proof element (testimonial, star rating, before/after, expert or doctor, study or statistic, lab test or certification, media logos, guarantee, or other) and what is claimed. These are the ad's claims, not evidence that they are true. - offer: the offer as stated (price, discount, bundle, guarantee, free shipping, urgency), or "none stated". - cta: what the viewer is asked to do, if shown. Report only what is in the image. Quote text exactly as it appears; if text is unreadable, say so instead of guessing.
1,154 threads from r/Testosterone, r/trt, r/Supplements, r/Biohackers, r/AskMenOver30, r/AskMen, r/naturalbodybuilding and r/Nootropics, plus site-wide searches, with every comment: 230,014 usable comments. All of them were read by Gemini 3.1 Pro at its highest thinking setting in 19 batches of about 725,000 tokens, whole threads kept together. Each batch was written up as an analyst report, and the 19 reports were merged. Quotes were checked word for word against the saved comments.
Batch report prompt
You are a direct-response marketing analyst. A brand is launching a new testosterone-support supplement for men and will advertise it on Facebook. Before anyone writes ads, we need to understand this market in the audience's own words: how men feel about testosterone supplements and the alternatives they compare them with (TRT, lifestyle changes, and ingredients such as shilajit, tongkat ali, ashwagandha and turkesterone), what worries them, what they complain about, why they would buy, and what they actually want. Your report goes to the strategy lead, who will decide the ad angles, hooks and objections to answer. Your job is to surface the evidence and present the sentiments accurately and well supported, not to recommend what to do with them: no ad ideas, angles or strategy. We need what is real and repeated in these comments, not general knowledge or your own opinions. Below are Reddit comments from threads about testosterone, TRT, supplements and men's health and lifestyle. They are grouped by thread: each thread starts with its subreddit, post title, post score and post text, then its comments, one per line, as comment id | score (net upvotes) | text. A thread too long for one batch is split; each part repeats the thread's top comments at the start, marked as context. Many comments are off-topic chatter; ignore those. Read all of them and write a detailed report with these sections: 1. Primary concerns: what worries men about testosterone supplements and about low testosterone. 2. Complaints: what they complain about: products, brands, ingredients, results, side effects, prices, marketing, TRT, doctors. 3. Reasons to buy: what would make them buy a testosterone supplement; what has worked for them or convinced them. 4. What they want: the outcomes, feelings and changes they are after, in their words. 5. Objections and distrust: why they don't buy, or tell others not to. 6. Anything else the strategy lead should see: the language they use, surprising patterns, who is talking (age, situation), and what they accept as proof. For every point, say how prominent it is (roughly how many comments make it, and how heavily those comments are upvoted) and give your proof: quote the comments that show it, word for word, each followed by its comment id in square brackets, like [abc1234]. A post's own text is cited by its post id the same way. Lead each section with the most prominent points by volume and upvotes. Include smaller points that recur. Do not invent quotes or ids; use only what is in the comments below. This report is the evidence base for the campaign, so a long, thorough report is expected: cover every point the comments support.
Merge prompt
Below are reports written by analysts with the same brief, each on a different batch of the same Reddit comments. Combine them into one detailed report for the strategy lead, with the same six sections. Merge points that say the same thing. Judge each point's prominence across all batches, by volume and upvotes, and lead each section with the most prominent. Keep the strongest quotes exactly as given, with their ids. Keep smaller points that recur. Present the evidence; do not recommend what to do with it.
TikTok Shop and creators
TikTok Shop's top-selling men's vitality products with third-party 30-day sales estimates (273 products), and the creator videos linked to them. TikTok and Instagram creator videos came from category searches and creator profiles: 3,211 TikTok videos and 1,011 Instagram posts. A creator video counts as promoting a product when it has a shop link, TikTok's Shop tag, or a caption that names the product: 869 TikTok videos. Their videos get the same three-pass breakdown as the Facebook videos.
Checked by hand
- Five Facebook ads against the live Ad Library: advertiser, start date, status and copy.
- Five Reddit posts and comments against live Reddit: scores and text.
- Five TikTok Shop listings against the live product pages: product, category, shop and units sold.
- The top five TikTok creators: the product each promotes, from captions or the label on screen.
- Five video breakdowns, frame by frame, against the transcript and on-screen captions.