Skip to content
Growth3 min read

Campaigns and recipient snapshots

Plan a motion, freeze who it was about, and read the result against the hypothesis.

On this page

Where this comes from

This guide is distilled from docs/GROWTH-CAMPAIGNS.md and src/features/growth-kit/help/content/growth.ts. When the guide and Growth-OS disagree, that document is the one to trust, and the difference is worth reporting.

Campaign studio with a campaign card, its stage and its angles
The four campaign stages derived from the record and its snapshot
The four campaign stages derived from the record and its snapshot
A recipient snapshot with the date it was frozen
A recipient snapshot with the date it was frozen
Recipients and exclusions counted with the rule behind each exclusion
Recipients and exclusions counted with the rule behind each exclusion

Nothing is sent

Growth-OS sends nothing. No message leaves this system, no recipient list is handed to a sending tool, and no delivery, open, click or reply is recorded anywhere. A campaign record is written intent, and the outcome you type on it is your own reading of what followed.

The consequence is stated on every result: none of this is evidence that a message reached a person. Taking the text to the channel is a person's job, and the status is how you record that it happened.

Write the hypothesis first

Audience criteria, channel and hypothesis are required before a campaign can be saved. Say what you expect to find out, in a sentence that could turn out to be wrong. A campaign with no hypothesis can be started and concluded, but its result can never be read as a finding: the studio calls it a motion rather than a test and says so on the card.

Channel is free text here, so write it the way you will keep writing it. The studio builds its channel filter from the values actually typed, and two spellings become two channels.

Freezing is the idea the whole area is built around

Company records change: companies are added, suppression answers are corrected, stages move. Recompute the audience six weeks later and you get today's list, not the one the campaign was about. Freezing writes one recipient snapshot record, with its date, so the result stays attached to the companies it concerned.

The freeze decides each company twice. Criteria first: a company that does not meet them is kept out as an audience mismatch, and one whose record cannot answer a clause is kept out as unanswerable rather than counted as a miss. Suppression then applies to the rest, and only an explicit no to exclude from campaigns makes a company a recipient.

One frozen list per campaign, never replaced. A second freeze is refused, because replacing the list would destroy the only record of who the result was about. An unreadable snapshot reports no counts at all rather than a zero, and names which of four things happened.

Angles come from evidence, drafts stay drafts

The studio offers five arguments, one per family: cost, speed, operational pain, existing stack and expansion. An angle with matching evidence names the records and quotes behind it; a family with nothing recorded against it is shown as a founder hunch, scoped to the records that were read.

One angle at a time can be turned into draft copy. The model is handed the angle, the approved messaging records and the evidence behind that angle, as data rather than instructions, and every record it claims to have used is checked against what was actually supplied. Nothing generated is saved, sent or published. When no evidence backs the angle, the draft is written as an open question and the panel says what it could not claim.

Reading the result

Once the outcome is written and the record is done, the card states what you may say and what you may not. Quote it as it stands rather than paraphrasing it upward, because the withheld lines are the ones a reviewer will ask about.

Two limits are never dropped: one campaign with nothing to compare against cannot show that the angle caused the outcome, and a campaign record is a plan, so nothing proves a message reached anybody. A campaign concluded without a frozen list reads as an anecdote rather than a measurement.

Was this page helpful?

Feedback is stored only in this browser in the starter implementation.