Skip to content
FixAEO
All posts
AI MarketerAI Marketing AgentAEOWorkflowHuman-in-the-loop

We Shipped an AI Marketer. Two of Four Prod Runs Failed.

I shipped an AI Marketer at FixAEO. Four prod runs, two failed. What an AI marketer is, what we built, what broke, where not to use it.

Nitish Kumar YadavBy Nitish Kumar YadavยทยทUpdated ยท13 min read
On this page

[GIF: hero โ€” a run tile flipping from "planning" to "awaiting review" to "approved โ†’ published" โ€” alt="AI Marketer run moving from planning to review to published"]

Four runs. Two failed. One writer swore its JSON was valid โ€” it wasn't.

Our fact-check caught that one. The other failed on 2026-09-10, when Google denied the Gemini project we route free-tier traffic through. Both failures were the system doing its job โ€” not a bug, not a bad day, just the guardrails firing. That's the point of this post. Every "autonomous agent" pitch you have read this year skips the part where the run breaks. I want to show you the seams.

Contents

Curious how your site does?

See how AI engines describe your site โ€” free, about 60 seconds, no signup.

What an AI marketer actually is in 2026

Here's my definition after actually building one:

An AI marketer is a durable software workflow that plans, drafts, fact-checks, and publishes marketing work with human approval, across the answer surfaces that cite brands. Not a chatbot. Not a prompt library. A workflow that resumes after a restart.

It's a workflow, not a chatbot.

A chatbot answers a message. An AI marketer runs for days, remembers what it did on Monday when it wakes up on Wednesday, and pauses at a human review step in the middle. State survives a restart. Ours runs on Postgres and Temporal โ€” durable across restarts, no clever tricks.

The nine answer surfaces I optimize for.

AEO is answer engine optimization: getting your brand named when someone asks an AI for a recommendation. GEO is the same idea applied to generative results. LLMO targets the model layer directly. Three acronyms, one job. Here's what AEO actually means in more depth.

As of September 2026, I track nine answer surfaces across seven providers: Gemini, ChatGPT, Claude, Perplexity, Grok, DeepSeek, Copilot, Google AI Overviews, and Google AI Mode. AI Overviews and AI Mode are Google surfaces powered by Gemini, not standalone models โ€” but users see them as separate places their questions get answered, so I track them as separate surfaces. Meta AI, Le Chat, Kimi and Qwen exist too. That's the Western commercial set FixAEO covers today.

My take: I'd drop Copilot if I could. It cites the least of the nine. Customers ask for it, so it stays.

What I shipped in the AI Marketer

I built five templates, one review boundary, one set of quotas. In that order, because each piece was what the next one needed.

Five fixed templates.

I built weekly-health first โ€” it was the only template I could ship without a review UI. Then I added the four that needed one:

  • weekly-health โ€” a deterministic snapshot of your AEO position.
  • content-refresh โ€” audit an existing page and rewrite it.
  • brief+draft โ€” research a topic, then draft an article.
  • optimization โ€” score a page across four dimensions with source-linked recommendations.
  • lowest-page โ€” find the weakest-cited owned page you have.

There is also a custom multi-node builder for teams that want to compose their own agents. Comments and shared context on saved runs so a team can review together.

[GIF: the five-template picker on the AI Marketer setup screen โ€” alt="AI Marketer five-template picker showing weekly-health, content-refresh, brief+draft, optimization, and lowest-page"]

The review boundary.

I built three buttons: Approve, Reject, Cancel. Approve requires paid access. Read, reject, and cancel don't. If you want to look at what the agent is proposing before you pay, you can.

The quotas.

Three active runs at once. Twenty new runs per rolling day. Twenty saved schedules per account. Flat limits, no per-token surprises. The pricing page shows how those fit against a plan.

Why the cap on concurrent runs? Because a bad prompt inside a custom agent could otherwise sit in a loop and burn model calls before anyone noticed. A hard concurrency ceiling means the worst case is bounded. You lose a run. You don't lose a month of credits.

What broke: two AI Marketer runs that failed

Both failures were the system doing its job. That's not consolation โ€” it's the design working.

Failure one โ€” the writer swore the JSON was valid.

The brief+draft template does research, then asks a writer model to output structured JSON. On run three, the writer returned something that parsed as English but not as JSON. The fact-check stage caught it. The run failed instead of publishing a broken draft to a customer's WordPress.

Failure two โ€” Google denied the Gemini project on 2026-09-10.

Our free-tier Gemini project got denied by Google. Free-tier writes route through that project. The workflow saw the API error, marked the run failed, didn't silently retry into a bill. Google denied our project. Fine. That's their call to make.

Why "failed" is a status, not a bug.

Every stage gets one bounded correction attempt. If the writer's JSON is still malformed after the correction, the stage fails. If the brief is invalid, the stage fails. If the draft cannot be verified against the sources we captured, the stage fails. A failed stage stays failed. We don't dress it up as valid, and the run does not proceed on partial output.

Two prod failures out of four is a 50% failure rate on paper. Both were caught before shipping bad work. If the choice is "malformed draft in your CMS" or "run marked failed on your dashboard," I know which one I want.

Why the review step is the AI Marketer product

My take: the review step isn't a limitation. It's the whole thing.

Most tools sold as "AI marketing agents" today are a chat box wrapped around a system prompt. Jasper's agent mode. Copy.ai's workflows. You paste a brief, the model writes back, you copy the result. That's a nicer prompt, not a workflow. Nothing resumes. Nothing pauses. Nothing survives a restart.

Human approval always suspends โ€” even in test runs.

I made a design call on 2026-09-03: human-in-the-loop nodes always suspend. There is no opt-out, even in test runs. If a green test could skip the person, the test proves nothing about the one step whose whole purpose is that a person looks at it.

[GIF: a review boundary โ€” a draft paused at review, Approve button visible โ€” alt="AI Marketer review boundary with a paused draft and Approve, Reject, Cancel buttons"]

Approval survives a crash.

When you click Approve, the decision persists first, then the workflow resumes. If the worker dies between those two writes, the run does not get stuck. A reconciler picks it up on the next tick. You don't have to click twice.

Full autonomy is the wrong goal in 2026.

The first version I built ran fully autonomous. It shipped a draft claiming FixAEO had 47 customers. We had 12. I killed that version the next morning.

Profound and Peec AI are the serious teams building in this space. Profound is a well-funded US company. Peec runs out of Berlin. I've looked at every AI SEO agent I could find โ€” here's my running list. None of the serious ones ship without an approval gate somewhere, even if the marketing doesn't advertise it.

Model-agnostic writing: I don't bet on one AI

Gemini got denied last week. Anthropic rate-limited us in July. OpenAI changed its response format in March. Betting on one provider is dumb.

The provider is a config flag.

WORKFLOW_LLM_PROVIDER=gemini|claude|chatgpt|off. If unset, we fall through: Gemini first, then Anthropic, then OpenAI, on whichever key is configured. Claude was in from day one. Gemini Flash routing landed on 2026-09-15. You can see how current each AI model is when you pick.

[GIF: the model provider toggle in settings โ€” alt="AI Marketer model provider settings toggle showing Gemini, Claude, ChatGPT options"]

The tier split is public and factual.

Free = Gemini only. Lite and Growth = six answer surfaces. Enterprise = nine. That's the split. Here's how we compare to Profound on price โ€” I only make price comparisons. Capability tables age badly.

The writer model isn't the tracking layer.

I keep confusing these two myself in conversations, so I'll spell it out. The model that writes your draft is one of three (Gemini, Claude, ChatGPT). The tracker that watches your citations watches all nine answer surfaces. Different jobs, different budgets, different failure modes.

AEO workflows: what the AI Marketer does differently

Most AEO tools give you a dashboard. The AI Marketer gives you a workflow โ€” a job that runs on a schedule and outputs a result you can approve.

Weekly Health, deterministic.

weekly-health is a snapshot. Same inputs, same output. Every claim in the report is generated from the evidence captured with the report, so the number and the source live in the same record.

Content refresh with a real baseline.

content-refresh takes a page and rewrites it. We capture the current metrics before publishing so "after" has something to compare against. That's how AI search engines work in practice โ€” you have to join citation data against your own analytics or you're guessing.

Schedules that don't spam you after downtime.

If FixAEO was down for two days and you had a weekly schedule due, only the latest due week fires. No backlog dump into your inbox. Occurrences that are stale by the time we get to them retire instead of firing.

Where I'd tell you not to use the AI Marketer yet

Two honest limits.

Publishing is WordPress-only right now.

Publishing goes through WPConnect (our WordPress integration module) using WordPress Application Passwords. If you don't run WordPress, publishing isn't for you yet. The rest of the workflow still works โ€” you just export the draft.

It's a citation-integrity system, not a truth system.

The framework enforces that a quote in a draft matches a source we captured. It does not independently establish that the source is correct. If your sources are wrong, your citations will be wrong. Say this plainly to your team before you approve a run.

An unpopular opinion, since we're here.

I think weekly digests are worse than a real-time Slack ping and we're going to kill them next quarter. Batched summaries move slower than the answer surfaces do. If someone starts citing a competitor over you on Wednesday morning, I don't want you finding out on Friday afternoon.

Two of four died on the way to prod. That's where we are.

Not shipped-and-forgotten. Real, running, early. Numbers come from our own internal telemetry โ€” not a public dashboard yet.

If you want to see where your brand shows up across the nine AI surfaces today, run a free scan. The free scan is Gemini-only. Same rules everyone gets.

FAQ

What is an AI marketer?

An AI marketer is a durable software workflow that plans, researches, drafts, fact-checks, and publishes marketing content with human approval. It has memory across days, a review boundary a person signs off on, and hard limits on how many runs go at once.

How is an AI marketing agent different from ChatGPT?

An AI marketing agent is a workflow. ChatGPT is a chatbot. The chatbot answers one message at a time. The workflow runs for days, resumes after a restart, calls tools, pauses at a human review step, and publishes on approval. Different unit of work.

What can an AI marketer actually do in 2026?

An AI marketer in 2026 can run a weekly health snapshot, refresh an existing page, draft a briefed article, score a page across four dimensions, and publish to WordPress after a human approves. It cannot verify factual truth.

Is an AI marketer safe to run unattended?

An AI marketer is not safe to run fully unattended. The safe pattern is a scheduled run that stops at a review boundary, where a person approves the draft before publish. That's what I built: the review step is durable, survives restarts, and cannot be skipped, even in test mode.

โ€” Nitish Kumar Yadav

Found this useful? Share it

Summarize with AI

Open this post in an AI engine.

Related reading

Free AEO tools

Put this into practice with free FixAEO tools โ€” no signup required.

Find the gap. Then fix it.

Check how AI engines find, describe, and cite your site. Free, no signup. On a paid plan, AI Marketer can turn the evidence into briefs, drafts, optimizations, and reports.