Campaign bulk-sheet CLI + automation standards
A command-line toolkit that turns Amazon ad campaign builds from an afternoon of spreadsheet surgery into a validated one-command generate, plus the written automation standards that made the pattern reusable by the whole team.
- System
- A single CLI entrypoint with four tools (manual-keyword campaign generation, auto-targeting generation, coverage-gap analysis, bulk updates) built on a task-folder workflow with validate-before-generate.
- Stack
- PythonExcel I/OCLI designSOP / playbook authoring
- Validation
- Validate-only mode was the adoption unlock; teammates could check their input without fear of generating something wrong. Generated sheets were diffed against hand-built ones from the same inputs before the tool became the default path.
- Outcome
- Campaign builds dropped from hours to minutes with structurally correct output every time, and the toolkit shipped with a quickstart and cheatsheet that made it the team's default, used by people who never read the source.
The loop
human checkpoint
- init
Scaffolds a task folder with a structured input template for products, keywords, match types, bids, and placement modifiers.
CLI
- fill
A human fills in the strategy. Which keywords, what bids, which products group into which campaigns.
why a human here Campaign strategy is the judgment work. Everything after this decision is mechanical, so the tool does it.
- validate
A validate-only mode checks the input against Amazon's bulk-sheet rules (naming collisions, missing fields, malformed match types) before anything is generated.
Python
- generate
Emits an upload-ready bulk sheet, correct at the level Amazon's uploader silently punishes people for getting wrong.
Excel I/O
- analyze
A companion tool reads existing campaign exports and reports coverage gaps (products or keywords with no active targeting) to feed the next build.
Python
The problem
Amazon campaign management runs on bulk sheets: wide, rule-laden Excel files where one malformed cell fails an upload with an unhelpful error. Building them by hand was slow; worse, it was variably slow, because every marketer had their own half-remembered rules.
Design decisions worth explaining
The tool encodes the rules so people don’t have to. The naming conventions, match-type syntax, and placement-modifier ranges that Amazon’s uploader enforces all live in the validator instead of anyone’s memory. New team members produce correct sheets on day one.
Task folders as the unit of work. Each campaign build lives in its own folder with its input and output, so a colleague can open it and see what was built from what, and last month’s launch folder is this month’s starting template.
Documentation as part of the deliverable. The toolkit shipped with a quickstart and a cheatsheet, and the patterns behind it were written up as team automation standards: the conventions any new workflow tool should follow, from CLI shape to folder layout. That document outlived the tool and became the template for every automation the team built next.
The scaling story
One marketer’s spreadsheet problem turned into a CLI. The CLI’s conventions got written up as team standards, and those standards were the starting point for the next three tools the team built. The doc exists so that sequence doesn’t depend on me.