---
title: Ugly ads — why unpolished, shocking creatives win (and when brand matters)
slug: ugly-ads-and-brand-caution
summary: Yuliya Lennox's "make ugly ads" case — pattern-break the pretty feed, say what the product does in the first second, lead with the pain — plus the rare cases (trust-sensitive brands like Solid Starts) where an off-brand ad backfires.
domain: mobile-apps
tags: [user-acquisition, ad-creative, paid-social, meta-ads, brand]
related: [ad-creative-volume-and-hit-rate, app-ad-creative-concepts, ugc-app-ad-format-captions-green-screen, paid-social-creative-testing-framework, ai-generated-ad-creative]
sources: [yt:jzlPf100vy4, yt:7JtttjbTRAQ, yt:EyoYQU6JyV8]
updated: 2026-10-24
---

# Ugly ads — and when brand caution is justified

## TL;DR
- Feeds are full of polished content; an unpolished or even shocking ad breaks the scroll. "Nothing is too ugly" (Yuliya Lennox).[^1]
- In the **first second** the viewer must understand what you sell and which pain it solves — don't open with lifestyle/brand shots.[^2][^3]
- Push hooks to the **extremes of the emotional spectrum** (awe, weird, scary) — Alex's advice for AI-made hooks.[^4]
- Don't let AI assistants talk you into pretty, on-brand 15-second spots; Yuliya explicitly warns against "listening to Claude" here.[^1]
- Brand caution is justified only when the product sells **trust** (babies, health, doctors) — test, but watch comments.[^5]
- Clickbait that over-promises lowers trial-to-paid; "ugly" ≠ misleading.[^6]

## Details
**Why ugly works.** Yuliya's reference is BetterMe's illustrated "belly fat" ad from her time there (David Barnard still remembers it a decade later) — memorable and long-running precisely because it shocked people out of a feed of fit models. Performance ads are always at the "launch" stage of traditional marketing: nobody knows you, so talk about the product and the pain first, not feelings.[^7][^2][^3]

**Brand vs performance.** Unless you're Coca-Cola, "brand exists only in the heads of you, your family and some employees." Run awareness ads if you can afford them, but they bring nothing short-term; if you need results, run performance ads that name the category ("fitness app") rather than your brand. Earn the right to brand marketing with performance revenue.[^8][^9]

**When it backfired.** At Solid Starts (baby-led weaning), Yuliya ran an AI "fruit babies" ad — a format popular on Instagram — and got comments asking whether a company that made this could be trusted to feed babies. Lesson: check whether "ugly" fits *what you sell* (trucks, baby food, medical) — but don't assume it doesn't just because you love your brand.[^5][^10]

**Ugly ≠ dishonest.** Ethan Ethier (Built With Science) saw click-baity ads get cheap trials but a "huge drop" in trial-to-paid; ads grounded in a specific avatar's pain and what the app really does brought better users. That is also why they run Meta in-house rather than through an agency.[^6][^12]

## Disagreements / caveats
- Yuliya's claims are experience-based, not test data. David Barnard pushed back that brands at scale (Ladder with Hilary Duff) saw an immediate lift from a brand-style influencer bet.[^11]
- Shocking body-image creatives can breach Meta ad policies (and get accounts restricted — see Alex's 6–8 bans); check current policies.

## See also
- [[ad-creative-volume-and-hit-rate]] — you need volume to find the ugly winner
- [[ugc-app-ad-format-captions-green-screen]] — a concrete UGC format
- [[app-ad-creative-concepts]]
- [[people/yuliya-lennox]]

[^1]: yt:jzlPf100vy4 @ 06:39 — Yuliya Lennox
[^2]: yt:jzlPf100vy4 @ 07:30 — Yuliya Lennox
[^3]: yt:jzlPf100vy4 @ 08:17 — Yuliya Lennox
[^4]: yt:7JtttjbTRAQ @ 29:47 — Alex (Boost App Social)
[^5]: yt:jzlPf100vy4 @ 24:25 — Yuliya Lennox
[^6]: yt:EyoYQU6JyV8 @ 21:54 — Ethan Ethier
[^7]: yt:jzlPf100vy4 @ 18:54 — Yuliya Lennox
[^8]: yt:jzlPf100vy4 @ 20:06 — Yuliya Lennox
[^9]: yt:jzlPf100vy4 @ 21:46 — Yuliya Lennox
[^10]: yt:jzlPf100vy4 @ 25:10 — Yuliya Lennox
[^11]: yt:jzlPf100vy4 @ 23:37 — David Barnard
[^12]: yt:EyoYQU6JyV8 @ 20:23 — Ethan Ethier
