Retail

Always-fresh ad creatives, without autopilot

Claude CodePythonMeta Marketing APIMCPHiggsfieldGitHub Actions
1 sessione
for a full round of creatives, down from days

The problem

Ad creatives wear out fast, and producing new ones took days.

The solution

Each week an AI measures, proposes and produces new creatives; nothing goes live without the client's OK.

Weekly loop diagram: analysis of the ad sets that cost more, new angle ideas chosen by AI, production with AI photos and code-assembled text, client approval and controlled go-live with every ad created paused
The weekly loop: measure, propose, produce, upload — with the client approving

The campaigns were run in-house, without an agency. The industry's real problem is creative fatigue: ads wear out and the cost per lead climbs silently, while producing replacements is slow. The client wanted to keep control — no autopilot — without becoming the technical operator.

There was also a concrete risk: generative AI, left free on ads, invented a competitor brand out of thin air inside a photo on the very first test. Hence the core rule: AI only generates the clean image, while text and prices are assembled by code from the client's official price list. No made-up numbers.

Every week an assistant in Claude Code runs the full loop, with a clear division of roles: code decides everything measurable against fixed thresholds (which ad sets cost more, when to replace a creative, which one wins and by what statistical margin); AI picks the creative angle and checks the layout; the client approves two moments — the plan and the creatives — and then going live, all in plain language.

Nothing goes online on its own: every creative is created paused and activation is a separate step that only happens on an explicit OK. Winners, measured with a statistical verdict, propagate to the other ad sets.