Ro sells prescriptions. GLP-1s for weight loss, ED treatment, a few smaller lines. You cannot show the drug working. You cannot promise results. A big share of the account is age-gated before anyone sees it.
So Ro sells faces. Serena Williams. Charles Barkley. Trisha Paytas. And as of October 1, Megan Fox in a red bodysuit playing an ED pill.
767 live Meta ads on Ro's main page. 70 more on a separate Ro Sparks page. 221 video files. A vanity URL for every TV spot, podcast read, subway poster and mailer. Two halves again: the Creative Factory, and the Performance Machine.
Ro ads: key findings
- 767 live Meta ads on Ro's page, 70 more on Ro Sparks
- 59% sell GLP-1 weight loss, 20% sell ED, 20% are catalog ads
- 321 ads are age-gated and show no creative to a logged-out viewer
- 98 video concepts behind 253 video ads, almost every one cut twice: 4:5 and 9:16
- 10 new ads a day over 60 days, 189 on October 1 across both pages
- Captions on screen by 0.3 seconds in 77% of video files
- 276 ads share one headline: "See if you qualify"
- 38 vanity URLs mapped, every one redirecting into its own UTM
- Paid landers open on question one of three
Part 1: The Creative Factory
767 ads, two businesses
| Product line | Live ads | Share |
|---|---|---|
| GLP-1 weight loss | 452 | 59% |
| Catalog ads (product name filled in at delivery) | 155 | 20% |
| ED: Ro Sparks, Daily Rise gummies, generics | 151 | 20% |
| Other | 9 | 1% |
Weight loss is the volume. ED is the noise. The catalog ads are the quiet third: 155 ads whose only copy is a template variable, filled in from a product feed when they serve. Prescription drugs, sold like sneakers.
And 321 of the 767 show nothing to a logged-out viewer. ED ads especially. Meta age-gates them, so a competitor browsing the library sees a blank card and a body of text. The rest - 253 video ads and 193 image ads - is what the factory looks like.
10 new ads a day, then 189 in one
609 of the 767 launched in the last 60 days. Ten a day. The median live ad is 25 days old. The oldest has run since May 22.
Then October 1. 128 new ads on Ro's page and 61 on the Ro Sparks page, the day the Megan Fox campaign broke. 50 of them have her in them. That launch has its own breakdown.
A celebrity launch is a creative event. Ro did not drip the Megan Fox ads in. It shipped the whole set on the day the film went out.
Every concept, cut twice
253 video ads. 221 files. 98 concepts. 113 files are 4:5, 108 are 9:16. Almost every concept ships as a pair, one for the feed and one for Stories and Reels.
Cloning is light. The most-scaled concept sits under 9 ad objects. Viktor runs a winner under 12, Lovable under 21. Ro makes more things and scales each one less.
| Video length | Files |
|---|---|
| Under 15 seconds | 37 |
| 15 to 30 seconds | 75 |
| 30 to 60 seconds | 102 |
| Over 60 seconds | 7 |
Median file is 30 seconds. The longest runs 71.
Two caption layers and a disclaimer
- 77% of files have readable text on screen by 0.3 seconds. 86% by one second. 94% by two.
- Two layers. A headline chip pinned high in the frame for the whole ad - "You can get Zepbound for 50% off on Ro" - and the spoken caption low, changing every few words.
- Text centre sits at 38% of frame height across the account, because the chip pulls it up.
- Median one cut in the first six seconds. 18% have none.
Then a third layer you rarely see. Every person on screen is labelled. "Paid partner and Ro member." "Actor portrayal. Not a Ro member." "Real Ro member." "Megan Fox, Ro Partner." "Serena has used both branded vials and pens. Pen is shown for visual reference."
That's compliance, and Ro treats it like typography. The label sits in the same place, in the same face, on every cut. You stop reading it as legal and start reading it as a byline.
In a regulated category the disclaimer is part of the design system. Ro designed it.
Here is the most-scaled concept. Nine ad objects, an actor in a parked car, a pen held up to the sky. Four cuts in six seconds, and the price is on screen before she finishes the first word.
12 formats, 98 concepts
Ordered by how far each was scaled. Tap any cell to watch the ad.
Four families underneath:
- Celebrities. Serena is named in 78 ads, Barkley in 31, Paytas fronts a 21-ad set, Megan Fox 50 across two pages. Studio-lit, scripted, each one on their own set: Serena's living room, Barkley's warehouse, Paytas's pink vanity, Fox's white cyc.
- Creators and members. Car selfies, kitchen counters, podcast mics. "Down 100 lbs in 12 months." Some run as partnership ads under the creator's own name: Chris Bell-Davis, CeCe Olisa, Haley Rackliffe, the Bussin' With The Boys podcast.
- Actors. Scripted UGC, labelled as such. Insurance PSAs, a burning sheet of paper that says "INSURANCE DOESN'T COVER YOUR GLP-1s?", a Medical News Today headline used as a greenscreen.
- Product and price. A pill on a fingertip. A pen against the sky. "$39 to get started." "As little as $33/day" ticking down to $7.
The whole account is arguing with one objection. Cost. "Think you can't afford GLP-1s?" "Want to pay $50 a month for GLP-1s?" "You can get Zepbound for 50% off." The celebrity gets you to stop. The price gets you to tap.
The statics are a menu
The video account is people. The static account is product on pastel. Pens and pills on blue and lilac gradients. A giant "$39". Stacked pill-shaped labels - "Cash-pay", "Wegovy pill", "Foundayo pill", "Zepbound KwikPen", "on Ro" - like a menu board.
ED statics switch palette entirely. A red tablet with a flame embossed on it, "Harder, Bigger erections, More sex", and since October 1, Megan Fox crouched next to a red handbag.
One headline. Many faces.
"See if you qualify" runs on 276 ads. "Join Serena on Ro" on 36. "Serena Williams and Ro Join Forces | Ro" on 24. "Check now for free" on 21. No ad carries a labelled button.
The body copy is near-identical across weight loss: "Get access to GLP-1 medication - prescribed online through Ro." Plus the boxed-warning line, every time.
So the copy is fixed and the creative moves. In a category where every claim needs review, that's the cheap way to test. Write the safe sentence once. Change the face, the setting and the first second. For the general version, read our guide to creative analytics or turning competitor hooks into your own.
Part 2: The Performance Machine
Now the half you cannot see in the feed.
A vanity URL for every channel
Watch a Ro TV spot and the URL on screen is a word. ro.co/serena. ro.co/meganfox. Type it and you get redirected, with tags. Every one of these words is a channel.
| You type | Source | Medium | Campaign / content |
|---|---|---|---|
ro.co/meganfox | tatari | tv | sparks_MeganFox_TVC |
ro.co/megan | youtube | dg_youtube_tv | |
ro.co/serena | tatari | tv | linear_tv / serena_sb |
ro.co/tv | tatari | tv | streaming_icon_tv / icon_launch |
ro.co/hulu | tatari | tv | streaming_tv / ambassadors_hulu |
ro.co/prime | tatari | tv | amazon_tv / serena_prime |
ro.co/barkley | lamar | ooh | charlesbarkley_billboard |
ro.co/glp1 | bigoutdoor | ooh | tsq_digitalspectacular_q326 |
ro.co/nyc | outfront | ooh | nycsubway_q326 |
ro.co/gym | terraboost | ooh | terraboost_healthclubs_q226 |
ro.co/chicago | macerich | ooh | fashionoutletschicago_q42025 |
ro.co/radio | terrestrial | audio | produced_radio_dallas |
ro.co/spotify | streamingaudio | audio | produced_spotify |
ro.co/barstool | podcast | audio | direct_barstool_all / sparks_hostread_q12025 |
ro.co/miami | slm | directmail | slm_sharedmail_111725 / mia_icon_v1 |
ro.co/ozempic | fb | paid_social | textingad |
38 of these resolve. The grammar is consistent enough to read:
- Source is the vendor. Tatari for TV. Lamar, Outfront, Big Outdoor, Terraboost and Macerich for outdoor. SLM for shared mail.
- Medium is the channel family: tv, ooh, audio, directmail, youtube, paid_social.
- Campaign is placement plus quarter.
nycsubway_q326.moynihantrainhall_q226. - Content is the creative.
serena_sbis Serena's Super Bowl spot.mia_icon_v1is version one of the Miami mailer. - Term is the product line. Weight-loss doors end
utm_term=55. ED doors endutm_term=1.
Offline media has no click. Ro manufactures one. A word short enough to remember off a subway poster turns a typed URL into an attributed visit, down to the station.
Where the click actually goes
| Destination | Ads | What it is |
|---|---|---|
/lp/weight-loss/quiz/ | 318 | The default GLP-1 lander |
/ed-rsl-quiz/4/ | 33 | ED lander, paid social |
/ed-rsl-quiz/megan-fox/ | 31 | Megan Fox ads only |
/lp/weight-loss/quiz/chuck/paid-social/ | 30 | Barkley ads only |
/lp/weight-loss/quiz/trish/ | 21 | Trisha Paytas ads only |
/ed-rsl-quiz/9/ | 7 | ED lander, another variant |
/lp/weight-loss/a/checker-path/social/ | 4 | Insurance checker |
The celebrity follows the click. Barkley ads go to a page that says "Charles Barkley chose Ro to lose 45 lbs." Megan Fox ads go to a page with Megan Fox on it. The TV version of each is a sibling path: /quiz/chuck/ for TV, /quiz/chuck/paid-social/ for Meta.
Every one of these pages is set to noindex. They exist for paid traffic and nothing on the site links to them.


The funnel: three questions, then the email
There is no hero. The lander is the first screen of the intake.
- GLP-1. What you want to accomplish. Height and weight. Goal weight. Then "Calculating your potential weight loss" - and the result, blurred, behind an email field: "See how much weight you could lose." An "Intro offer available" tag sits on top.
- ED. Your goals. Whether you've tried medication. Why not. A reassurance screen - "We've got you covered" - then the email and two consent boxes, with Google sign-in as the alternative.


Three answers is enough to make the email feel like collecting something you're owed. The number is on the page. It's just blurred.
Steal the blur. Do the work before the gate, show that it's done, and make the email the thing that reveals it.
$39 to start, $149 after
| Product | Price |
|---|---|
| Body Program membership, first month | $39 |
| Body Program membership, monthly | $149/month |
| Body Program membership, prepaid annual | as low as $74/month |
| GLP-1 medication | Not included; insurance or cash-pay |
| Ro Sparks | $12 a dose on a monthly plan, $48 for 4 to $168 for 14 |
| Ro Sparks, Megan Fox offer | $15 off the first order |
The ads lead with the smallest number available. "$39 to get started." "$50 a month for GLP-1s" - with "Plus $149/mo Ro membership fee" in the line under it. The membership is the product. The drug is priced separately.
And the price objection gets its own tool. Ro's free insurance checker has its own ads, its own PSA creators and its own vanity words: ro.co/insurance on TV, ro.co/coverage on mall posters.
What watches you land
| System | Doing what |
|---|---|
| Datadog | Real user monitoring on the landers and the intake. |
| Mixpanel | Product analytics on the intake. |
| Cloudflare | Web analytics beacon. |
| First-party endpoints | IP and event collection on ro.co subdomains. |
| Vanity redirects | Offline attribution, before the page even loads. |
No Meta pixel, Google tag or TikTok pixel fires in the browser on the landers or the first screens of the intake. For a health company that's deliberate. Whatever goes back to the ad platforms goes server side.
The other channels
| Channel | Ads | What it is |
|---|---|---|
| Meta | 767 + 70 | The creative factory above, on two pages. |
| 43 | 28 image, 14 video, 1 text. Mostly Shopping listings for prescription ED drugs: "Sildenafil 55 mg + Tadalafil 22 mg | 2-in-1 ED Medication | Ro Sparks (4 doses)". One search ad pointing at ro.co/serena/superbowl. | |
| 0 | Nothing attributable to Ro. | |
| TV, outdoor, audio, mail | - | Everything in the vanity table. |
Google is a product feed. Meta is the factory. The rest is offline, and the vanity URLs are how it gets counted.
The celebrities are a roster
| Face | Product | Where |
|---|---|---|
| Serena Williams | GLP-1 | 78 Meta ads, Super Bowl LX spot, Prime, Tubi, the subway |
| Charles Barkley | GLP-1 | 31 Meta ads, linear TV, Lamar billboards, his own landers |
| Trisha Paytas | GLP-1 | 21 Meta ads, her own lander |
| Megan Fox | ED | 50 Meta ads across two pages, TV, YouTube, Times Square |
Plus a bench of named creators running partnership ads, and podcast hosts reading Sparks spots on Barstool and Nightcap.
Each face gets the full stack: ads, a vanity word on TV, a lander with their name on it. The roster is the media plan. When Ro launches a product line, it signs a face for it.
Most brands treat a celebrity as a campaign. Ro treats one as a channel, with its own URL.
What actually makes this work
The Creative Factory is celebrities on top of creators on top of product. A price in the first second, two caption layers, a disclosure label designed like a byline. Every concept cut twice. Ten ads a day and 189 on launch day.
The Performance Machine is the part nobody sees. A short word for every TV spot, poster and podcast read, redirecting into a UTM with the vendor, the placement and the product line in it. Landers that open on question one. A blurred result behind the email.
Viktor built a factory. Wispr built a marketplace. Lovable built a scene.
Ro built a roster. And gave every one of them a URL.
Break down your own market
Every live Ro ad is in the Ro page of the Sprites ads library, Megan Fox first. Creative analytics does the same for your own account and your competitors: every live ad, the hooks, the landing pages and what changed this month.
More: the Megan Fox Ro Sparks campaign, Sydney Sweeney's Novig campaign, the Lovable ads teardown, the Viktor AI ads teardown and the Wispr Flow ads teardown.