ZachSearcy
← All frameworks
Framework Copy that survives compression

Ad Modules & Copy Placement

Repurposing breaks in the same predictable place every time. The fix is to move compression upstream. Write the argument at every length it will ever need, then assemble placements from a shelf.

The problem it solves

Somebody writes the long version of a campaign argument and hands it to a designer. The designer finds out the argument doesn't survive at 320×50, so it gets rewritten at the placement. Do that thirteen times and you have thirteen slightly different arguments, none of which were approved, and no way to tell whether a test result was about the message or about the rewrite.

The core move

Every fragment gets written at every length it will ever need, at authoring time, by the person who owns the argument. After that, building a placement is assembly. A designer picks fragments off a shelf. Nobody rewrites anything.

The eight fragments

A module is eight pieces. Two are shared across the campaign; six are specific to the module. Each is authored at up to three lengths.

#FragmentThe moment it createsTell that it's wrong
F1TensionRecognition. They see their own week. Slight discomfort, not alarm.It's about the category instead of about them.
F2ClaimWe take a position. Confident, flat, declarative.Hedged, or it's a benefit rather than a position.
F3TurnThe implication lands. The small drop when something clicks.It restates the claim instead of following from it.
F4Hero proofEvidence. The argument stops being opinion.It needs a sentence of setup to make sense.
F5Supporting proofDepth. It wasn't a fluke. Accumulation.It repeats the hero stat in different clothes.
F6StakeConsequence. Steady, never dramatized.It's a threat, or so vague it fits anything.
F7PositionWe enter the argument. Earned certainty, quiet rather than loud.A competitor could say it.
F8AskThe exit. Easy, almost casual.It asks for more than the offer justifies.

F7 is the one that gets skipped and shouldn't. It's the only fragment that makes the ad yours rather than the category's. A module with no F7 is buying awareness for a topic, including, usually, for your competitors.

Three length tiers

TierLimitWhere it runs
L · Long25 to 45 wordsPost copy, video VO, landing page, email, script
S · Short45 charactersCarousel cards, headlines, large display
C · Compressed30 characters, must name the categorySmall display, search headlines, anywhere one text element survives alone

Three tiers, not four. The 45-character ceiling comes from the tightest carousel card and clears a 70-character headline with room. The 30-character ceiling comes from a search headline field, which is usually the tightest thing in any media plan. Set both from your own plan before you start.

The compression ladder

Placements are recipes. They reference fragment IDs and tiers, never content, which means this table works for every campaign you ever run.

PlacementRecipe
Social post copyF1-L + F2-L + F4-L + F3-L + Source-L
Social headlineF2-S
Carousel, five cardsF1-S / F2-S + F5-S / F4-S / F3-S or F6-S / F7-S + F8-S
Display, medium rectangleF2-S headline + F4-S subhead
Display, leaderboardF2-C
Display, mobile bannerF1-C or F2-C
Search headline / description / sitelinkF2-C / F4-L trimmed / F8-C
Email subject / preheaderF1-S / F4-S
Landing page hero / subheadF2-L / F4-L
Video, 30 secondsF1-L, F5-L walked as stages, F3-L, F7-L
The rule that holds it together

Adjust the recipe, never the fragment. If a placement feels wrong, the fix is a different fragment in that slot. Rewriting the fragment at the placement is the exact failure this structure exists to prevent.

Six rules

  1. One fragment per text element. A card carrying a claim and a stat is two elements with two fragments. Merged sentences don't compress.
  2. C tier names the category. Any placement where a single text element survives alone has to contain the category word. Display reaches people with no prior exposure and no reason to guess.
  3. A fragment that can't reach C tier isn't a fragment. If the claim only works at 45 words, it's too complicated to run a campaign on. Finding that out during authoring is cheap. Finding it out during build is not.
  4. Figures shorten, never paraphrase. The moment a number gets reworded it stops being citable. Every figure carries its hedge into every tier, or it drops out of that tier.
  5. Fragments are versioned, placements aren't. When a figure changes or legal clears something new, edit one fragment and every placement inherits it.
  6. Modules don't share fragments except F8 and Source. If two modules use the same hero proof, they're the same module wearing two headlines, and a test between them reads as inconclusive.

The intake session

Seven questions, roughly fifteen minutes, answered out loud rather than written. Voice is the point. The best short lines usually already exist in how someone says it before they start composing. Mining the transcript beats writing from notes.

  1. Who is this for, and what's on their plate this week?
  2. What's the most uncomfortable true thing we could say to them?
  3. What's our answer? One sentence, no hedging.
  4. If they remembered one number, which one, and what's it actually proving?
  5. What does it cost them to be wrong, and why does that matter now?
  6. If a competitor put their logo on everything you just said, what would be wrong about it?
  7. Say the whole thing in one breath, like you're explaining it walking to a meeting.

Two follow-ups, used sparingly. When an answer comes out in marketing register: "say that again like you're telling a friend at a bar." When an answer to 4 or 6 comes back thin: "why that one?" Once, not repeatedly.

Questions 1 through 3 happen before anyone opens the stat deck. Under ten seconds means it isn't thought through; over three minutes means ask it again, shorter.

A worked module

Using a manufactured brand, Meridian, a hypothetical field service operations platform, with invented figures.

#TierString
F1LApprovals happen wherever somebody happens to be standing. The decision gets made in a text message and the record gets made three weeks later, from memory.
F1SThe record is written from memory.
F1CField spend, unrecorded
F2LLosing control of spend is what happens when the decision and the record live in different places.
F2SControl is a workflow, not a habit.
F2CField service control
F3LWhich means the fix isn't more vigilance from people who are already stretched. It's putting the decision and the record in the same place.
F4LTeams reviewing line items in a shared workflow reject 14% of submitted work. Teams reviewing after the fact reject 2%.
F4C14% rejected vs 2%
F6SSmall charges compound quietly.
F7LAnyone can store the record. The question is whether it exists at the moment somebody has to decide, which is a workflow problem rather than a storage one.
F7SThe record has to arrive first.
F8CSee the workflow

What it costs

This front-loads work into a phase that used to feel optional, and the first campaign will feel slower. Worth naming rather than hiding.

The two structural wins: a designer picks a fragment already written to size instead of rewriting to fit, and a changed statistic means editing one fragment instead of hand-patching thirteen assets. Baseline these on the next campaign so the second one has something to compare against.

  • Time from brief to build-ready copy. Expect it to get worse on the first campaign and materially better by the third.
  • Rewrite rate. Percentage of placements where copy changed after design started. Target is zero. Above ten percent means the C tier work got skipped.
  • Review cycles per campaign. Legal reviewing a stat bank once beats reviewing thirteen assets.
  • Percentage of tests with an explainable winner. The failure case is a result nobody can act on.
  • Reuse rate across campaigns. The compounding benefit, and it only shows up after several cycles.
Next

Modules are what make a message test readable in the first place.

Three modules built to this spec are three test arms that differ on message and nothing else. The Testing Ladder covers what to do with them: the order variables have to be tested in, and why a narrow test run before a wide one is unreadable.