+21%
vs pre-system baseline
4
FB · IG · TikTok · Pinterest
100%
human-gated decisions
Automated Ad Operations - closed-loop creative + post-click insight
Most paid-acquisition stacks stop at the click. This one does not. We built a system for a retail fashion brand that generates creative across Facebook, Instagram, TikTok, and Pinterest; A/B tests in production through a custom harness with a chat-agent the marketing team queries directly; pulls user behaviour from Google Analytics, the Meta Pixel, and Hotjar; and feeds the post-click signal back into the next round of creative. 21% lift in conversion rate is the headline; the recommendation digest the marketing lead reads on Monday is the operational artefact.
+21%
vs pre-system baseline
4
FB · IG · TikTok · Pinterest
100%
human-gated decisions
Last updated:
Three cycles of compounding pain
A direct-to-consumer retail fashion brand running paid acquisition across multiple channels had three cycles of compounding pain:
- Creative-iteration cycles were slow. Each new ad concept took the agency a week, the team a week of feedback, and only then went into rotation. Channel performance was lagged.
- A/B testing told them which ad won, not why. Two creatives go up, one converts better, the team learns nothing about what to try next. The cycle just repeats.
- The data stopped at the click. Click-through and conversion rates are necessary but not sufficient. They didn't tell the team where users exited the site, which sections held attention, which page elements were scrolled past - the post-click behaviour that distinguishes a click that converts from a click that bounces.
The Brief
Close the loop. Generate creative automatically, test it in production, instrument the post-click behaviour, and feed the patterns back to the next round of creative.
Closed-loop creative - generate, test, instrument, learn
Creative generation pipeline
Brand-voice constraint as a versioned artefact
The brand's voice file lives in the brand's repo, versioned and reviewed; the creative agents read it on every generation. New voice rules ship through the same review path as code.
Channel-aware creative agents
Per-channel ad variants generated from a brand-voice brief, channel format constraints (image dimensions, copy length, CTA conventions), and the campaign goal. Image generation through a fine-tuned Stable-Diffusion-XL pipeline trained on the brand's product catalogue + style library. Copy generation through Claude with the voice file in the prompt.
Multiple variants per concept
A single brief produces a variant set across Facebook · Instagram · TikTok · Pinterest simultaneously - formats, copy lengths, and CTAs adjusted per channel.
Human editor signs off
Nothing goes live without a marketing-team approval; every variant has a one-click approve/reject in the dashboard.
Multi-channel publishing
Direct API integrations to the channels in rotation:
One brief produces variant sets across every channel; the team approves; the publisher pushes them live in a controlled budget split.
A/B harness - purpose-built for this team
A custom A/B testing harness with the dashboard purpose-built for this team:
Controlled spend per variant
Each variant gets controlled spend allocation; performance metrics flow back in near-real-time.
Per-variant metrics surfaced
The dashboard surfaces per-variant CTR, CPC, conversion rate, and post-click engagement - not just headline numbers.
Chat agent inside the dashboard
A chat agent inside the dashboard the marketing team can ask directly. Questions like "why is the green-jacket variant outperforming the navy on TikTok but losing on Pinterest?" land against the actual data; the agent pulls the relevant slices and explains the pattern. The marketing lead uses it the way a junior analyst would have been used a year ago.
Behavioural instrumentation
Post-click signal pulled from three sources:
Google Analytics
Funnel completion, session-level metrics, attribution.
Meta Pixel
Channel-attributed conversions, custom-event firing on cart and checkout milestones.
Hotjar
Section-level scroll depth, exit points, heatmap signal on the landing pages.
Closed-loop creative iteration
The next round of creative reads the previous round's performance data - which copy lines, which images, which CTAs correlated with deeper site engagement, not just clicks. The next round's variants reflect that signal. The loop closes.
Every spend decision is human-gated. The system never auto-launches a campaign; it never reallocates budget without approval. Live spend is always one approve-click away from a human.
Four phases - pipeline, harness, instrumentation, feedback
- Shipped01Phase 1 · Creative pipeline + multi-channel publishing
Stood up the creative agents and the four channel adapters (Facebook, Instagram, TikTok, Pinterest). The first iteration produced variants the marketing lead would actually edit and ship; that was the bar. Brand-voice constraints lived in the brand's repo from day one, versioned alongside code.
- Shipped02Phase 2 · A/B harness and the in-dashboard chat agent
Built the testing harness and the dashboard. The chat agent was the highest-leverage feature in this phase - once the marketing lead could ask the data questions in natural language and get answers grounded in the actual variant performance, the iteration cadence shifted from weekly to daily.
- Shipped03Phase 3 · Behavioural instrumentation
Pulled in Google Analytics, the Meta Pixel, and Hotjar. The tracking design respected privacy posture from day one - aggregate-only patterns, no per-user retargeting, no PII flowing into the agent's context.
- Shipped04Phase 4 · Recommendation digest and feedback loop
The reasoning agent that reads aggregate behaviour data and recommends landing-page improvements. Output landed as a weekly Monday-morning digest, not as autonomous changes. The next round of creative reads the previous round's performance.
Friction we hit
- Channel-format drift. Facebook, Instagram, TikTok, and Pinterest each have their own evolving format constraints. The first iteration's variants occasionally violated one channel's character cap or image-ratio. We added a per-channel pre-flight validator that rejects non-conformant variants before they reach the team.
- Hotjar event volume. Hotjar's signal at the brand's traffic level produced more raw behavioural events than the recommendation digest could digest weekly. We aggregated to per-page, per-section, per-day buckets before the reasoning agent saw the data.
- The recommendation digest needed the marketing lead's voice. Early versions read like a generic SEO report - patterns the brand's team already knew about. Once the digest absorbed the lead's actual editorial style and the brand's specific KPIs, it landed as actionable.
- Brand-voice drift in the creative agent. Voice file updates needed to flow through the same review path as code; otherwise creative drifted toward a generic-fashion-brand tone. Versioning the voice file was the fix.
+21% conversion-rate lift, 100% human-gated
The 21% conversion-rate lift is the headline. The compound effect - fewer rounds with the agency, sharper creative, a marketing lead with an analyst-on-tap - is the operational outcome that earned the renewal.
Closed-loop ad ops for your brand?
The closed-loop pattern - automated creative, A/B at scale, post-click behaviour, aggregate-only privacy posture, marketing-team chat agent - is not specific to fashion or retail. A 30-minute diagnostic walks through your channels, your privacy posture, and where the loop is currently broken.