2
2 Comments

I let an AI agent run my amazon ads for 2 months, sharing the real numbers (they're not great)

so quick context, I have a small self publishing side business, 10 books on amazon. Managing the ads was eating like 6h a week of my life and I was losing money anyway, so back in may I built an agent on top of claude and basically gave it the keys. It runs by itself every 3 days, pulls the reports from the amazon ads api, changes bids, kills keywords, creates campaigns, whatever it decides. I just get a report.

june numbers: ~$680 royalties, ~$757 ad spend. so net -$75. yeah I know. But before the agent I was losing more AND doing all the work myself, so I count it as progress lol

some stuff I learned the hard way:

the first version almost killed my best campaign. The agent found my winning keywords and "helpfully" duplicated them into a new campaign with higher bids... so it started outbidding itself in the auctions. My main campaign went completly silent for 2 days before I understood what happened. Now theres a hard rule, it has to check every live keyword before creating anything, and duplicates can only bid 80% of the original. Never happened again.

another thing, amazon attribution takes ~3 days to consolidate. If you let the agent judge the last 48h of data it will kill keywords that were actually converting, the sales just hadn't shown up yet. We exclude the last 2 days from every cut decision now.

also I stopped putting rules in the prompt. Everything lives in a yaml file (monthly cap, max bid change per cycle, max new campaigns per 72h...) and the agent reads it before every single action. When I want to change something I edit the yaml, not the prompt. And every action it takes goes to an append-only log, so when a run crashes mid cycle (it happens more than you'd think) the next one picks up where it left instead of doing everything twice.

the biggest lesson though... the ads were never the real problem. The agent optimized its way to breakeven and then just plateaued. Because no amount of bid optimization fixes a product page that doesn't convert, someone on reddit told me exactly this and it hurt because its true. So now I'm shifting it towards the actual product side, price experiments with auto revert rules, listing improvements (it drafts, I approve), that kind of thing.

stack if anyone cares: claude with scheduled runs + python client for the amazon ads api + an open source keyword tool called kdp-scout + yaml guardrails + jsonl changelog.

happy to share more details on any of it, the guardrails file, the dedupe logic, whatever. curious what others would do here, keep pushing the automation or admit that at this scale manual would be fine too?

on July 6, 2026
  1. 1

    The attribution lag lesson is huge. We had the exact same problem with Apple Search Ads — our automation was killing keywords that were actually converting because it was looking at the last 48 hours instead of waiting for the full attribution window. We ended up excluding the last 3 days from any negative decision. Small change, massive difference.

    The plateau you describe is the most important takeaway here. Once your ads are reasonably optimized, every incremental dollar in optimization is worth less than a dollar spent improving the thing being sold. We only broke through our own plateau when we shifted focus from bid optimization to landing page conversion and pricing experiments.

    The yaml guardrails approach is smart too. We went through the same evolution — prompts are too fragile for operational rules. Having a structured config file that the agent reads before every action makes it auditable and the rules don't drift when you update the prompt for something else.

    One thing that helped us with the 'outbidding yourself' problem: we added a global view of all active bids per keyword across all campaigns as a pre-flight check. If the agent can see the full picture, it stops making locally optimal but globally stupid decisions.

  2. 1

    The part that stood out to me wasn't the automation—it was the point where the agent stopped improving results.

    That's an interesting boundary. It suggests the bottleneck moved from campaign optimization to offer optimization. Once acquisition becomes efficient enough, the highest-leverage decisions often shift to the product page, pricing, and positioning rather than the ads themselves.

Trending on Indie Hackers
The hardest part isn't building anymore User Avatar 103 comments I sold $6,773 in 2 weeks, with almost no existing community. User Avatar 60 comments Before you build another feature, use this workflow User Avatar 43 comments The feature you're most sure about is the one you should question first User Avatar 42 comments I let 3 LLMs argue on the famous AI "Car wash: Walk or Drive" problem to prove a point. User Avatar 39 comments I spent months chasing clients who already had a webmaster. So I built something that only finds the ones who don't. User Avatar 33 comments