Growth Newsletter #254
Today, weâre digging into why most GPT-generated ads fall flat and how to tweak your workflow to make the output better.
Let's dive in.
â Joey
Brought to you by Attio â the AI-native CRM.
Attio is built to scale with your business from day one. Connect your email and calendar, and Attio instantly builds a CRM that matches your business model â with all your companies, contacts, and interactions enriched with actionable insights.
With Attio, AI isnât just a feature - itâs the foundation. You can do things like:
- instantly prospect and route leads with research agents
- act on AI insights with Attioâs native call intelligence
- and build Zapier-style AI automations
Industry leaders like Flatfile, Replicate, and Modal are already experiencing whatâs next for CRM.
Want to get in front of 90,000 founders and marketers? Here's everything you need to know.
This week's tactics
Why most GPT ads look like garbage and how to fix it
Insight from Joey Noble, Creative Strategist at Demand Curve.
Most GPT-generated image ads are mediocre at best.
Yet on social media, everyone says, âI whipped up these high-converting ads with ChatGPT in half a minute.â
What theyâre hiding is all the 12+ iterations they had to make, the edits they did in Photoshop, and that they very thoroughly prompted GPT to get a decent output.
Meanwhile, on LinkedIn:
âJust tell GPT to clone this ad with your brandingâand boomâa high-quality ad.â
So I tried that. I said, âRecreate this ad but with my product and branding.â
The results were disappointing to say the least:
- Layouts that didnât make sense
- Copy that reads like it was written by my grandpa on hallucinogens
- Warped product renders
- Fonts and colors that didnât match my brand
- And zero grasp of why the ad worked in the first place
Hereâs the ad I asked it to clone:

I like this feature point-out ad from Oats Overnight. It tells me the cost, calories, protein amount, and that others love it. Perfect.
Since itâs an Ecomm ad, I selected one of my recent favorite Ecomm brands, IM8, to make an ad for (I'm not affiliated; I just like their packaging).
I asked GPT to clone the ad but with my branding and product. I gave it a list of some value props and let it rip.
Recreate this ad but with im8health.comâs branding. Attached is the image of my product, and here are some value props to use:â
- 95% felt a noticeable boost in daily energy levels.- 85% experienced less bloating and improved digestion.- Only $2 per serving- One scoop. Once a day.- All-in-one wellness.- Superfoods, Greens, Fruits, Herbs.- Heart Health Support.- Joint and Muscle Health Support.- Hydra Electrolytes.
Hereâs what I got:

Thatâs not what I was expecting.
â
The visual hierarchy isnât great. The padding is atrocious.
â
It changed the product image and decided that âtechnologyâ is actually spelled âtechnotogy.â
â
It also got rid of the elements that I felt made the reference a great ad.
Hereâs what Iâve observed: GPT isn't your creative director (yet). It's your caffeinated but clueless intern.
It needs constraints, structure, and direction. Without them, you get, well.. this.
I spent the last few weeks building a repeatable system that turns GPT into a rough-draft engine, one that gets you 95% of the way to a usable ad in a fraction of the time and cost of starting from scratch.
Hereâs how it works:
Step 1: Create a JSON file of your brand
Most people give vague instructions in GPT, such as âUse our brand colors and fonts.â But GPT works exponentially better with structured data.
Instead, feed it a JSON file like this:
json
{
"brandName": "IM-8",
"colors": ["#A40000", "#E3D8CD", "#FFFFFF"],
"fonts": ["Playfair Display", "Inter"],
"valueProps": [
"Supports gut health",
"All-in-one daily greens",
"Backed by nutrition science"
],
"tone": "Scientific but approachable",
"targetAudience": "Health-conscious professionals, 30-45",
"callToAction": "Try risk-free for 30 days"
}
This gives GPT constraints and direction, which leads to better creative output.
But the neat part is you donât need to be technical or know how to create a JSON file. Just tell ChatGPT everything you want included in the file and itâll create for you.
What I do is feed it everything I want it to know, like brand guidelines, tone of voice, font style, look and feel, etc. I also take a full-page screenshot of my landing page for ChatGPT to extract things I didnât think of. (Link to the screenshot tool: gofullpage.com)
Hereâs the exact prompt I used:
Youâre going to create a master JSON file of my brand. You will structure the file in such a way that I can easily feed it to you to reference when making image ads â so that you can apply my branding to the ad references I give you. I want you to take my fonts, branding, colors, value props etc and turn it into the ultimate JSON file.
Hereâs what the JSON must include:
- brand_name: e.g., âIM-8 Daily Essentialsâ
- tagline: One-line brand positioning or hero line
- fonts:
- headline_font: name or description
- body_font: name or fallback option
- colors:
- primary: hex code
- secondary: hex code
- background: hex code
- accent: hex code
- value_props: High-impact claims or stats (e.g., â95% felt more energyâ)
- functional_benefits: Tangible outcomes of using the product
- trust_signals: Endorsements, social proof, certifications
- key_ingredients or core_features: If the product is ingredient- or feature-driven
- tone_voice: A few adjectives that describe how the brand speaks (e.g., âconfident, clinical, warmâ)
- visual_branding_notes: Description of packaging aesthetics, logo placement, typical imagery (but not ad layouts)
[Insert any other specific brand guidelines that ChatGPT might not be able to extract from the landing page screenshot alone]
Attached is a full-page screenshot of my product landing page. Analyze it thoroughly and extract all relevant branding cues, layout patterns, and copywriting angles â including testimonials, claims, imagery style, and benefits.
Now that I have a structured JSON file, I can go to the next step.
Step 2: Ask GPT how it would prompt itself
I donât see enough people doing this.
Instead of trying to write the perfect prompt yourself, give GPT your brand JSON + a reference ad and ask:
âWith this JSON and ad reference, how would you prompt yourself to recreate this ad, step-by-step, using your own best practices?â
GPT will return a specific, structured prompt. And itâs usually better than what Iâd come up with anyways. Once I get the prompt Iâll read through it and modify it a bit to get exactly what I want.
Youâll get something like this:

Step 3: Feed it the right imagery
GPT image generation works best when youâre clear about what kind of image you want.
Use a reference ad and match its structure. For example:
- If the ad uses a product photo on a clean background, upload your product photo.
- If it uses lifestyle imagery, pull something from Unsplash or your own shoots.
The more visually aligned your input is, the better the output.
I used these images for my ad:

â

Step 4: Feed everything into ChatGPT to get a solid rough draft creative
Now Iâll give ChatGPT the prompt that it generated itself, my brand JSON file again, and the product images.
With a much better prompt and structured data for ChatGPT to use, I get a much better result:

Much better, but not perfect yet.
- There are still some misspellings.
- The fonts arenât accurate.
- And some of the spacing could be improved.
- It also randomly decided to add âTotal wellness. Simplifiedâ to the bottle.
At this point you can continue to tweak it within GPT, but I wouldnât recommend this. You tell it, âChange the headline to âElite Daily Nutritionââ and it changes that but then also morphs your product or changes other copy.
Hereâs what I would do instead:
Step 5: Polish the result with a junior designer
GPT gets you most of the way there. But the fine details still break as I pointed out above.
So I take the GPT draft and hand it off to a junior designer (Fiverr, GetAds, etc.) with a simple brief:
âUse this layout. Replace the fonts and imagery with the real assets. Keep everything else the same.â
By limiting the designerâs scope to just âmake this look exactly like this, but with our real assets,â you avoid lengthy creative discussions, long briefs and feedback loops.
Hereâs what the final output looks like:

Bonus step: Turn this into a project within ChatGPT
Create a ChatGPT project and give it the JSON file, your brand guidelines, and anything else youâd want it to know so you donât have to do this every time. Then any time you want to create a new ad you can just do so within the project and it will already have all your brand details saved.
Final thoughts
AI isnât replacing designers anytime soon. But it is changing the creative workflow from expensive exploration with long feedback loops to rapid iteration with focused human polish.
The teams winning with AI arenât replacing their designers. Theyâre creating human-AI workflows that leverage the strengths of both.
Community Spotlight
News and Links
Something fun
If you enjoyed this, please consider sharing with a friend. If a friend sent you this, get the next newsletter by signing up here.
Who's Demand Curve?
Weâre on a mission to make starting, building, and growing startups easier.
We share high-quality, vetted, and actionable growth content as we learn it from the top 1% of marketers. We democratize senior growth knowledge.
How we can help you grow:
- Read our free playbooks, blog articles, and teardownsâwe break down the strategies and tactics that fast-growing startups use to grow.
- Enroll in the Growth Program, our marketing course that has helped 1,000+ founders get traction and scale revenue.
- Need to run ads? Weâve built the ads agency for startups.
- Looking for a growth freelancer or agency? Weâll match you with a vetted partner for free.
- Get your product in front of startup founders by sponsoring this newsletter.
â Neal &Â Justin, and the DC team.