Campaign naming sheet
Name every test angle__targeting__inventory__pageTemplate__wave so a stranger can read the stack without opening a brief.
On this page
A campaign name is a lab notebook title. If it says "growth test" you will not know what was isolated when you read the report a month later.
We use five tokens, joined by a double underscore:
angle__targeting__inventory__pageTemplate__wave
Each token is one layer of the experiment tree from the June 2026 isolated-funnel plan. Change one token when you change that layer. Copy the campaign when you need a clean cell instead of editing a live name in place.
The five tokens
angle is the promise. First-wave values we actually planned: ai-chat-control, no-friction-buying, builder-tool-workflow, autonomous-agent-operator, growth-test-matrix, api-quickstart-intent.
targeting is the audience or content hypothesis, not a slogan. Examples: tech-business, developer-tools, founder-small-team. If you attach a real catalog segment, put a short handle here and store the segment id in the targeting object, not in the name.
inventory is where the impression may run, using controls the product can write. Examples: desktop-web, mobile-web, web-only. Do not put "open exchange" in every name. That is the default remnant path, not a cell.
pageTemplate is the landing shape: short-direct, interactive-planner, pain-led-story, tool-specific-workflow. The template must match the isolated funnel. A quiz ad on a short-direct page is two tests pretending to be one.
wave is the flight: w1, w2. Bump the wave when you rerun the same stack after a judged readout. Do not reuse w1 for a rewrite.
Examples
ai-chat-control__tech-business__desktop-web__short-direct__w1
builder-tool-workflow__developer-tools__mobile-web__interactive-planner__w1
no-friction-buying__founder-small-team__desktop-web__pain-led-story__w1
api-quickstart-intent__developer-tools__desktop-web__tool-specific-workflow__w1Creative names can nest under the cell: ai-chat-control.short-direct.outcome-first. Keep the campaign name for budget and targeting. Keep the creative name for the message variant.
Why the name matters
Our Supply Bench waves used offer slugs (confirm-seen, name-generator) because those cells were consumer probes, not product ads. Product tests need the angle in the name, or the report blends five promises into one number nobody can attribute.
If a future operator cannot say what was held constant by reading the campaign name, rename before you spend.
Fill-in sheet
angle: _______________
targeting: _______________
inventory: _______________
pageTemplate: _______________
wave: w_
full name:
{angle}__{targeting}__{inventory}__{pageTemplate}__{wave}
held constant this cell:
changed this cell:
do not change until judged:
revert means:Related
- Playbooks · 2 min readIsolated funnel checklistOne promise from ad to page to CTA. Use this checklist before you spend, so a $20/day test is not mixed with five other messages on the homepage.
- Ideas · 2 min readStop sending paid clicks to the homepageThe homepage is too general for a paid click. An isolated funnel is one ad promise, one page promise, one CTA. It is the June 2026 copy plan, not a result.
- Playbooks · 5 min readLaunch prompts for Claude, ChatGPT, Cursor, and CodexCopy-paste launch briefs for a $20/day display test. One full prompt for code agents, short versions for Claude, ChatGPT, and Codex. Real ids only, payment on a hosted page.
Run this from your assistant
Add one URL to Claude, ChatGPT, or Cursor, sign in with your email, and ask for the campaign. Prepaid from $5, with no insertion order and no sales call.