# An ad campaign file — the brief, the variants, the flight and what won

Recipe No. 35, Work and teams. From The know.sh Cookbook: https://know.sh/cookbook/ad-campaign

Keep the whole campaign in one document: the brief and audiences up top, cost per trial charted week by week, the variants in a table with the winner marked, the flight on a Gantt chart, and a register of every creative you cut and why.

- For: a marketer running a paid campaign for a launch
- You get: one campaign document: brief, variants, flight, results and cuts
- Time: an hour to set up, ten minutes a week
- Made with: Document, Section, Elements, Your AI assistant, Revisions

## How it works

1. **File the brief and the audiences.** Give your assistant the brief, the budget and the audience definitions. Ask for a campaign document with a section each for brief, audiences, variants, flight and results.
2. **Paste the weekly numbers.** Each Monday, paste the ad platform’s export. Ask for the chart element of cost per trial by week, the target marked, and the variants table with the leader as the pick.
3. **Plan the flight and the creatives.** Ask for a Gantt chart of the flight, from production to the readout, and a kanban board of creatives: in production, live, cut. Move the cards as the work moves.
4. **Write down every cut.** When you pause a creative, ask for a decisions entry with the spend, the cost per trial and the reason. Next quarter, nobody reruns the ad that lost.

## Try this prompt

Your assistant, connected to know.sh (Claude, ChatGPT or a local model):

> Here is this week’s ad export. In my know.sh document Morrow Coffee, autumn flight, update the overview: a line chart element of cost per trial by week for paid social and search, with the £18 target marked, and a table element of the variants (variant, hook, CTR, cost per trial, trials) with the lowest cost per trial as the pick. Keep the hooks short.

Your assistant, connected to know.sh (Claude, ChatGPT or a local model):

> I have paused variant B. Add it to the decisions element in the Register of cuts section: the date, the spend, its cost per trial and the cancellation rate before the second bag, from the figures I pasted. Move its card to Cut on the creative board.

## Elements in the specimens

Written as your assistant writes them through the know.sh MCP server. Each reads as plain words until you turn elements on (Account → Elements).

Chart, specimen 1:

```element chart
{
  "type": "line",
  "caption": "Cost per trial by week, paid social and search",
  "dimension": "Week",
  "labels": [
    {
      "label": "Wk 1"
    },
    {
      "label": "Wk 2"
    },
    {
      "label": "Wk 3"
    },
    {
      "label": "Wk 4"
    },
    {
      "label": "Wk 5"
    },
    {
      "label": "Wk 6"
    }
  ],
  "series": [
    {
      "name": "Paid social",
      "values": "24.60, 21.30, 18.90, 16.10, 15.20, 14.70"
    },
    {
      "name": "Search",
      "values": "19.80, 19.10, 18.40, 18.70, 17.90, 18.20"
    }
  ],
  "units": "£",
  "measure": "Cost per trial",
  "axisTitles": false,
  "markers": true,
  "highlight": "Paid social",
  "annotations": [
    {
      "axis": "y",
      "at": "18",
      "label": "Target, £18"
    },
    {
      "axis": "x",
      "at": "Wk 3",
      "label": "Founder video cut"
    }
  ],
  "source": "Platform exports, Monday to Sunday; a trial is a first bag ordered with a card on file."
}
```

Table, specimen 1:

```element table
{
  "caption": "Paid social variants, weeks 1 to 6",
  "columns": [
    {
      "label": "Variant",
      "align": "left"
    },
    {
      "label": "Hook",
      "align": "left"
    },
    {
      "label": "CTR",
      "align": "right",
      "numeric": true
    },
    {
      "label": "Per trial",
      "align": "right",
      "numeric": true
    }
  ],
  "rows": [
    [
      "A, video",
      "Beans into the cooling tray, at your door Thursday",
      "1.84%",
      "£16.40"
    ],
    [
      "B, static",
      "Better than the café, 68p a cup",
      "1.21%",
      "£21.90"
    ],
    [
      "C, carousel",
      "Your first bag is on us: pick a roast",
      "2.12%",
      "£14.20"
    ],
    [
      "D, video",
      "The founder, thirty seconds on why",
      "0.96%",
      "£27.10"
    ],
    [
      "E, carousel",
      "Four questions, and we choose your roast",
      "1.47%",
      "£19.80"
    ]
  ],
  "pick": 2,
  "notes": "C wins on cost per trial and takes the scale budget. D was cut in week 3 and B in week 5; see the register of cuts."
}
```

Gantt chart, specimen 2:

```element gantt
{
  "caption": "The autumn flight, production to readout",
  "description": "Creative production ran from 20 July for three weeks. The test phase, all five variants, ran 10 to 23 August. Scaling the winners runs from 24 August to 4 October, with retargeting beside it. Search runs the whole flight. A creative refresh landed on 7 September, and the readout is on 8 October.",
  "width": "wide",
  "dateFormat": "YYYY-MM-DD",
  "sections": [
    {
      "id": "make",
      "label": "Make"
    },
    {
      "id": "run",
      "label": "Flight"
    },
    {
      "id": "read",
      "label": "Read"
    }
  ],
  "tasks": [
    {
      "id": "prod",
      "label": "Creative production",
      "section": "make",
      "shape": "bar",
      "start": "2026-07-20",
      "duration": "3w",
      "status": "done"
    },
    {
      "id": "test",
      "label": "Test all five",
      "section": "run",
      "shape": "bar",
      "start": "2026-08-10",
      "duration": "2w",
      "status": "done"
    },
    {
      "id": "scale",
      "label": "Scale the winners",
      "section": "run",
      "shape": "bar",
      "after": "test",
      "end": "2026-10-04",
      "status": "active",
      "critical": true
    },
    {
      "id": "retarget",
      "label": "Retargeting",
      "section": "run",
      "shape": "bar",
      "start": "2026-08-24",
      "end": "2026-10-04",
      "status": "active"
    },
    {
      "id": "search",
      "label": "Search",
      "section": "run",
      "shape": "bar",
      "start": "2026-08-10",
      "end": "2026-10-04",
      "status": "active"
    },
    {
      "id": "refresh",
      "label": "Creative refresh",
      "section": "make",
      "shape": "milestone",
      "start": "2026-09-07",
      "duration": "0d",
      "status": "done"
    },
    {
      "id": "readout",
      "label": "Readout",
      "section": "read",
      "shape": "milestone",
      "start": "2026-10-08",
      "duration": "0d"
    }
  ],
  "axisFormat": "%e %b",
  "tickInterval": "1week",
  "weekStart": "monday",
  "weekend": "saturday",
  "today": "shown"
}
```

Kanban board, specimen 2:

```element kanban
{
  "caption": "Creatives, week of 21 September",
  "description": "In production: the gift subscription static, high priority for the December flight; a six-second grinder cut; and variant A recut upright. Live: carousel C, second version, top priority; video A; and the quiz carousel E. Cut: the founder video D and the price-per-cup static B.",
  "columns": [
    {
      "label": "In production",
      "cards": [
        {
          "label": "Gift subscription static",
          "ticket": "Dec flight",
          "priority": "high"
        },
        {
          "label": "Grinder, six seconds",
          "ticket": "Cutting"
        },
        {
          "label": "A, upright recut",
          "ticket": "Storyboard",
          "priority": "low"
        }
      ]
    },
    {
      "label": "Live",
      "cards": [
        {
          "label": "C, first bag on us, v2",
          "ticket": "£14.20",
          "priority": "very-high"
        },
        {
          "label": "A, roasted Tuesday",
          "ticket": "£16.40"
        },
        {
          "label": "E, roast quiz",
          "ticket": "£19.80",
          "priority": "low"
        }
      ]
    },
    {
      "label": "Cut",
      "cards": [
        {
          "label": "D, founder to camera",
          "ticket": "Week 3"
        },
        {
          "label": "B, 68p a cup",
          "ticket": "Week 5"
        }
      ]
    }
  ]
}
```

Decisions, specimen 3:

```element decisions
{
  "caption": "Register of cuts, autumn flight",
  "decisions": [
    {
      "title": "Founder video, D",
      "status": "decided",
      "date": "2026-08-26",
      "choice": "Cut, and its budget moved to carousel C",
      "reason": "£5,800 spent at £27.10 a trial, nearly twice the leader. People watched it through but few clicked.",
      "alternatives": [
        {
          "option": "Recut to fifteen seconds"
        }
      ]
    },
    {
      "title": "Price-per-cup static, B",
      "status": "decided",
      "date": "2026-09-14",
      "choice": "Cut after week 5",
      "reason": "Cheap clicks from price-shoppers: 41 per cent of its trials cancelled before the second bag, against 22 per cent for C."
    },
    {
      "title": "Broad match on generic search terms",
      "status": "superseded",
      "date": "2026-08-17",
      "choice": "Broad match on *coffee subscription* and similar",
      "reason": "Spent a quarter of the search budget on café and machine searches in the first week.",
      "supersededBy": "Exact and phrase match only"
    },
    {
      "title": "Exact and phrase match only",
      "status": "decided",
      "date": "2026-08-17",
      "choice": "Brand terms plus twelve roast and origin phrases"
    },
    {
      "title": "First bag free after the flight",
      "status": "open",
      "choice": "Keep it for the December gift flight",
      "reason": "Decide at the readout, once C’s trials have had their second bag.",
      "alternatives": [
        {
          "option": "Half price first bag"
        }
      ]
    }
  ]
}
```
