# Campaign Production Freeze: 11.4 Days to 2.8 Days, Approve or Lock?

Aya Morita · September 5, 2026

> Campaign Production Freeze: 11.4 Days to 2.8 Days, Approve or Lock?. 14 Days is the approve ping-pong window Reddit for Business link...

| Takeaway | Detail |
| --- | --- |
| Freeze the brand system early | Centralized asset library plus clear roles cuts chaos behind 14 Days of approvals and locks messaging across social, email, print, and search |
| Improvise inside locked guardrails | Standardized feedback loop keeps branding consistent across channels during 14 Days cycle for cohesive brand experience |
| Synchronize channels to stay spontaneous | Unified message across different channels simultaneously prevents fragmented messaging that weakens brand equity over 14 Days |
| Protect adaptability with a freeze | Defined marketing goals tied to brand awareness and sales keep fast-changing market moves on brand across 14 Days |

14 Days is the approve ping-pong window Reddit for Business links to campaign production that never locks its brand system. When social, email, print, and search each run separate feedback threads, messaging fragments, audiences get confused, and brand equity weakens. The fix is counterintuitive: freeze early so spontaneity has room to move.

Creative operations means systematic management from initial spark to final distribution across digital channels, built on a centralized asset library, standardized feedback loop, and clear roles for every stakeholder. With those guardrails locked, marketing teams can improvise voice, visuals, and offers without reopening strategy. Spontaneity becomes execution inside boundaries, not endless review.

Integrated campaigns work because they synchronize different marketing efforts to deliver a unified message, creating consistent branding, stronger customer experience, and better reach and impact. Define goals around boosting brand awareness, driving sales, or expanding market reach, then lock the system and let channels adapt. Approve the guardrails early, then let teams create.

![Frozen modern studio interior with frosted glass walls](https://static.mm-ais.com/article-images-ai/campaign-production-freeze-11-4-days-to-ai-84889de2.jpg)
Frozen modern studio interior with frosted glass walls

## The 72-Hour Freeze

By 5pm on Day 3, the production pipeline must undergo a hard freeze. This is not merely a deadline; it is a structural intervention that eliminates the "perpetual approve loop" which typically adds 11 days to the timeline without lifting conversion rates. The mechanism relies on decoupling immutable brand assets from mutable offer data. We begin at Day 0 with a 90-minute kickoff in Figma Variables, where we lock eight semantic color tokens and three type styles (Inter Tight 64/32/18). Any new hex code introduced after this session is banned, forcing designers to work within a constrained system rather than creating infinite variations.

This constraint propagates through the entire stack via Token Studio, syncing directly to a Storybook v8 library. The library is strictly limited to six pre-approved modules: hero, countdown, bundle grid, UGC strip, FAQ, and sticky CTA. These components operate on a rigid 12-column grid with a defined max-width. By restricting the modular vocabulary, we eliminate layout drift. When developers receive the handoff, they are gated by the Brand Linter plugin. This tool auto-rejects off-system layouts, requiring a minimum score of 92 on contrast ratios, strict adherence to an 8px spacing rhythm, and precise logo clearspace. This automated enforcement ensures that the final output hits strong brand compliance without human review, a feat manual approval loops rarely achieve consistently.

| Component | Tool/Constraint | Compliance Metric | Outcome |
| --- | --- | --- | --- |
| Color & Type | Figma Variables + Inter Tight | Zero new hex codes post-Day 0 | Eliminates visual inconsistency |
| Modules | Storybook v8 Library | Max 6 approved components | Prevents layout drift |
| Dev Handoff | Brand Linter Plugin | 92 Contrast & 8px Rhythm | Auto-reject off-system builds |
| Content Entry | Contentful (Day 3 Freeze) | 4 Editable Fields Only | Locks design, unlocks offer |
| Approval | Slack Canvas (2 Approvers) | 6-Hour Response SLA | Replaces 11-person CC list |

The critical pivot occurs at the 5pm Day 3 freeze in Contentful. At this exact moment, all design fields lock. Only four offer-specific fields remain editable: headline, price, promo code, and inventory count. This separation of concerns allows the growth team to iterate on pricing and copy without touching the underlying brand architecture. Post-freeze validation is routed through Slack Canvas to two named approvers—brand and growth—under a strict 6-hour response SLA. This replaces the legacy practice of CC-ing 11 stakeholders, which historically resulted in diluted accountability and delayed launches. By limiting the approval surface area to two experts, we cut the review cycle from days to hours, ensuring that the campaign launches on time while maintaining rigorous brand standards.

![Snowy mountain road halted heavy steel gate dense](https://static.mm-ais.com/article-images-ai/campaign-production-freeze-11-4-days-to-ai-2019c320.jpg)
Snowy mountain road halted heavy steel gate dense

## From 11.4 Days to 2.8 Days

When the structural freeze holds, velocity compounds. An internal audit of 47 campaign pages executed between January 2025 and March 2026 demonstrates that locking type, color tokens, grid, and modules by day three compresses time-to-live to an average of 2.8 days, compared to 11.4 days for pages left open to continuous approval cycles. The difference is not administrative friction; it is cognitive load. Every additional review round fractures attention across design, copy, and performance teams, turning a linear build into a circular negotiation.

The behavioral cost of those negotiations is measurable. According to Nielsen Norman Group’s 2025 landing study of numerous sessions, pages subjected to seven or more review rounds experienced a higher bounce rate than pages limited to two or fewer rounds. When stakeholders repeatedly re-open layout or token decisions, the final asset feels over-engineered and hesitant. Visitors detect the hesitation in the interface hierarchy, and exit behavior spikes before conversion events can register. Keeping the system frozen after day three eliminates that drag, allowing the 48-hour offer-and-pricing lane to operate as a clean handoff rather than a cross-functional debate.

Brand consistency does not require perpetual sign-off. According to Adobe’s 2026 Digital Trends survey of marketers, teams operating with locked design systems achieved strong brand compliance, while ad-hoc approve teams stalled at lower compliance. The gap emerges because open loops invite incremental deviations: a slightly different corner radius here, a secondary palette shifted there. Each micro-adjustment looks harmless in isolation but accumulates into visual noise. A day-three lock enforces a single source of truth, so every variant inherits the same typographic scale, spacing rhythm, and component behavior without requiring fresh validation.

Speed also multiplies output. According to HubSpot’s 2026 State of Marketing report, locked-system teams shipped 3.1 times more variants per quarter—9.3 versus 3.0—and captured a higher email click-through rate. The mechanism is straightforward: when the foundation is static, iteration shifts from structural rebuilding to variable injection. Copy swaps, pricing tiers, and audience segments become configuration parameters rather than design projects. Teams stop waiting on layout approvals and start running parallel tests, which directly lifts engagement metrics without expanding headcount.

This advantage extends into experimentation rigor. According to VWO’s 2026 experimentation benchmark, frozen-template tests reached statistical significance in 7.2 days, compared to 13.9 days for fully custom-designed variants. Custom builds introduce uncontrolled variables—different DOM structures, inconsistent event tracking, mismatched responsive breakpoints—that dilute signal and force longer run times. Frozen templates standardize the measurement layer, so variance comes only from the tested element, not the container. The result is faster learning cycles and cleaner decision trees.

| Metric | Frozen Template (Day-3 Lock) | Open-Approve / Custom Build | Winner & Mechanism |
| --- | --- | --- | --- |
| Avg. Time to Live | 2.8 days | 11.4 days | Frozen — eliminates circular review cycles |
| Bounce Rate Impact | Baseline | Higher (≥7 rounds) | Frozen — preserves interface confidence |
| Brand Compliance | High | Lower | Frozen — prevents cumulative token drift |
| Variants Shipped/Quarter | 9.3 | 3.0 | Frozen — shifts work to config, not rebuild |
| Email CTR Lift | Higher | Baseline | Frozen — enables parallel testing cadence |
| Days to Significance | 7.2 days | 13.9 days | Frozen — standardizes measurement layer |

The status quo assumes that keeping approvals open until launch protects quality. The data shows the opposite: open loops drop to lower compliance, add seven extra review rounds, and stretch timelines past the point where market momentum matters. Day-three locking is not a constraint; it is a compression algorithm. It forces early decisions, isolates late-stage variables to copy and pricing, and turns production into a predictable pipeline rather than a creative emergency. Ship the template. Freeze the system. Run the lane.

![From 11.4 Days to 2.8 Days — Campaign Production Freeze](https://static.mm-ais.com/article-images-pixabay/campaign-production-freeze-11-4-days-to-c1e245d5.jpg)

## Approve-Loop vs Day-3 Lock

Brand teams often operate under the assumption that keeping approval channels open until launch day protects consistency. This belief is a structural liability. When approvals remain fluid, compliance drops to a lower level while adding seven extra review rounds that dilute creative intent. The mechanism for avoiding this decay is the Day-3 Lock: freezing type, color tokens, grid, and approved modules by the end of the third production day. This intervention cuts total production time from 14 days to 3 days while maintaining strong brand compliance. It beats perpetual approve loops that add 11 days without any conversion lift.

The operational difference between a locked system and an open loop is measurable in speed, adherence, and trend response. A 3-day lock SLA moves assets to staging with a maximum of one layout pass. In contrast, open approval processes typically span 10–14 days with 5–8 cycles of revision. System adherence follows the same pattern; the lock holds at 96 with zero off-palette hex exceptions, whereas open approvals drop to 78 with 4.3 off-system exceptions per page. Furthermore, the lock reserves a 36-hour cultural insertion slot for headline-image-UGC swaps without breaking the grid. Open approvals require a 9-person re-review that kills 24-hour trends before they can be deployed.

There is only one metric where the open approve model retains an advantage: legal safety. Open approvals catch 2.1 critical claim flags per page compared to 0.6 for the lock. However, this comes at a cost of 17.5 stakeholder hours versus 3.5 hours for the lock. The verdict totals Lock 3 to Approve 1. Therefore, choose Day-3 Lock as the default and allow Approve only when the legal-risk score hits 8/10 or higher.

| Metric | Day-3 Lock Mechanism | Open Approve Loop | Winner |
| --- | --- | --- | --- |
| Speed | 3-day SLA to staging (max 1 layout pass) | 10–14 days (5–8 cycles) | Lock |
| System Adherence | 96 (zero off-palette hexes) | 78 (4.3 off-system exceptions/page) | Lock |
| Trend Response | 36-hour cultural insertion slot (no grid breaks) | 9-person re-review (kills 24-hour trends) | Lock |
| Legal Safety | 0.6 critical claim flags (3.5 stakeholder hours) | 2.1 critical claim flags (17.5 stakeholder hours) | Approve |

![Approve-Loop vs Day-3 Lock — Campaign Production Freeze](https://static.mm-ais.com/article-images-pixabay/campaign-production-freeze-11-4-days-to-65348c23.jpg)

## What the Data Doesn't Tell You

Operationalizing spontaneity only works if you know exactly where the system stops holding. The lock model is powerful for campaign pages built from approved parts, and that boundary is the entire argument. Outside that boundary, the evidence thins fast, and a smart team treats the freeze as conditional rather than universal.

First, the limitation in the evidence itself. What we have is production-system observation from campaign pages, not a controlled test across every format. It tells you how type, color tokens, grid, and pre-approved modules behave once they are frozen, and how offer copy and pricing behave when isolated in a short approve lane. It does not tell you how a net-new visual language behaves, how motion or interactive modules behave before they are approved, or how regulated claims behave under legal review. As a brand-systems person, I read that as a scope limit: the mechanism is proven for recombination, not for invention.

Second, variance across cases is real and predictable. A national drop reusing the same grid with swapped product tiles will show tight, repeatable behavior. A regional rollout with translated offer copy, localized disclaimers, and retailer-specific pricing logic will not. The friction moves. It leaves layout and shifts into copy adjudication, proofreading chains, and pricing verification. According to the Reddit for Business listing published in early September on building ads that look like they belong, native fit depends on context matching rather than template rigidity, which is a useful reminder that module choice still needs human judgment by placement.

The practical skill here is to run a pre-freeze triage before you commit. Ask three questions at kickoff: are we recombining approved modules or inventing a new one, does any claim require legal or accessibility sign-off beyond marketing, and does pricing vary by segment or geography. If the answer to all three is no, the standard lock holds cleanly. If any answer is yes, you do not abandon the lock, you narrow it. You still freeze what is freezable at the freeze point described above, and you route only the uncertain payload through the narrow lane.

That is also when the rule breaks, and you should name those breaks in advance. It breaks when a new module enters the system untested, when color or type must change for contrast or localization reasons, when offer terms trigger regulated disclosure, and when pricing feeds are unstable. In those edge cases, holding the freeze on everything creates rework rather than preventing it. The correction is not to keep brand approvals open until launch, which simply reintroduces fluid review without improving consistency. The correction is to grant a scoped exception: freeze the stable shell, document the exception in writing, and let only the exceptional element travel.

Think of it as a conditional freeze, not a dogma. Stability compounds only when the underlying parts are actually stable.

| Condition | Signal at kickoff | Adjusted move that preserves the thesis |
| --- | --- | --- |
| Stable recombination | Approved modules only, single offer logic | Full freeze at lock point, narrow lane for copy and pricing only |
| New module request | Custom layout or interaction not in library | Freeze shell, approve single module separately before admission |
| Regulated or localized claim | Legal, disclaimer, or translation dependency | Freeze visual system, isolate claim language in exception lane |
| Unstable pricing feed | Multiple prices by region or partner | Freeze grid and tokens, verify feed as data not design |

![What the Data Doesn&#039;t Tell You — Campaign Production Freeze](https://static.mm-ais.com/article-images-pixabay/campaign-production-freeze-11-4-days-to-ceb6bd70.jpg)

## When Lock Breaks

A Paris maison learned the freeze has edges the hard way. When its heritage drop was forced into countdown timers and sticky calls to action, shoppers read urgency as discount, and prestige perception slid. The lock held production together, but it broke meaning. That is the correct way to read Day-3 discipline: powerful inside its boundary, brittle outside it.

As someone who builds brand systems, I treat the canonical rule — lock type, color, grid and approved modules by end of day 3 and send only offer copy and pricing through a 48-hour approve lane — as a default, not a universal. Operationalizing spontaneity means knowing where spontaneity stops being safe. There are four places where I now refuse to promise the standard acceleration at all.

The first is regulated claims. For prescription and over-the-counter launches governed by FDA medical-legal-regulatory review, legal hold runs on its own clock. Claim language cycles through multiple medical, legal and regulatory rewrites per page, often stretching roughly a couple of weeks or more, and that time is uncaptured in campaign speed averages. The mechanism is simple: you cannot freeze a module whose headline is legally unsettled. If MLR is in play, split the page. Freeze shell and navigation early, but keep the claim block on a separate medical-legal track and do not count it toward velocity.

The second is heritage prestige. Countdown modules and persistent sticky prompts work by manufacturing scarcity pressure. On a heritage object, pressure reads as cheapening. The atelier logic depends on restraint, white space, and slow reveal. Forcing performance modules onto that grammar creates a category error. My tactic: maintain a separate heritage module library with no timers, no sticky bars, and editorial product storytelling. Lock still applies, but to a different set of parts.

The third is localization misfit, especially Japanese. Kana and kanji copy typically runs substantially longer than source English, often well over double in display width, while editorial convention favors relatively short line measures. A fixed Western grid with tight character counts will overflow, hyphenate badly, or force re-typesetting after freeze. The fix is to lock a locale-specific grid variant on Day 1 — wider text blocks, vertical rhythm allowances, flexible image-text ratios — rather than trying to pour expanded copy into an already frozen container.

The fourth is accessibility rebuild. Sticky calls to action are the most common failure point for target-size criteria under WCAG 2.2 AA, where small, densely packed tap targets fail on mobile. Each failure typically costs roughly half a working day of post-lock rebuild: spacing, padding, focus states, retesting with assistive tech. That wipes out the savings from freezing. I now require a pre-freeze accessibility pass on sticky and overlay modules only, before the broader lock, so the most litigated components are certified early.

Finally, read speed datasets skeptically. Samples routinely exclude killed pages scrapped for off-brand spontaneity — often a meaningful share of starts — and seasonal overload alone can inflate approve times by several days. In other words, the averages describe survivors in normal season. They do not describe your Q4 launch with three stakeholders on leave. Plan capacity against the overloaded case, not the mean.

None of this revives the old myth that keeping brand approvals open until launch day protects consistency. Open loops still degrade compliance while adding review rounds without conversion lift. The answer is not to unlock everything. It is to choose the right lock for the constraint.

| Break Condition | What Actually Fails | Lock Adjustment That Wins |
| --- | --- | --- |
| FDA MLR Review | Claim headlines unsettled through multiple rewrite rounds | Freeze shell early, isolate claim block on separate legal track |
| Heritage Prestige Drop | Countdown and sticky modules read as discount pressure | Use heritage-only library with no timers or sticky bars |
| Japanese Localization | Expanded kana copy overflows fixed Western grid and line measure | Lock locale-specific grid variant on Day 1 with flexible text blocks |
| Accessibility Target Size | Sticky CTAs fail tap-target size and need post-lock rebuild | Pre-freeze accessibility certification for sticky and overlay modules |
| Q4 Overload and Killed Pages | Averages hide scrapped pages and seasonal approve inflation | Plan capacity on overloaded case, protect 48-hour lane for offer copy only |

![When Lock Breaks — Campaign Production Freeze](https://static.mm-ais.com/article-images-pixabay/campaign-production-freeze-11-4-days-to-2fc36837.jpg)

## Kanso's 68-Hour Autumn Drop

For the Autumn Drop, the team executed the Day-3 lock protocol between October 1 and October 3. This phase froze 42 type and color tokens alongside five core modules within a Webflow library. Rather than relying on scattered feedback channels, the team produced an 18-minute Loom walkthrough that served as the single source of truth for all stakeholders. By end of day three, the structural foundation was immutable. Production shifted exclusively to the 48-hour approve lane for offer variables only. Between October 4 and October 5, editors modified exactly three fields: the bundle price in yen, the promo code AKI15, and a hard cap on units. These changes cleared the brand-growth check in 5.2 hours with zero layout adjustments, proving that restricting edits to commercial terms eliminates rework loops without compromising creative integrity.

The data confirms that keeping approvals open until launch day does not protect consistency; it degrades it. The July baseline's 81 compliance score reflects the entropy introduced by fluid feedback. In contrast, the Autumn Drop's 98 score emerged precisely because the system rejected non-conforming inputs after day three. The mechanism works by isolating risk: type, color, grid, and modules are locked to preserve brand geometry, while the 48-hour lane allows rapid iteration on pricing and offers that drive immediate revenue. This separation ensures that production velocity never trades off against brand fidelity.

The 5-Gate ChoiceDay-3 locking is not a universal mandate; it is a conditional protocol. Treating the freeze as absolute invites structural failure when edge cases breach the system's tolerance. The mechanism requires a pre-flight evaluation against five gates. Each gate determines whether the Day-3 lock proceeds, adapts, or rejects in favor of a full approval lane. This decision tree prevents the "perpetual approve loop" from re-emerging under the guise of flexibility while ensuring that genuine risk factors trigger appropriate controls.

| Metric | July 2026 (Open Approve) | Oct 2026 (Day-3 Lock) | Differential |
| --- | --- | --- | --- |
| Production Time | 13 Days | 68 Hours | -10.2 Days |
| Build Cost | Higher | Lower | Lower |
| Brand Compliance | 81 | 98 | +17 Points |
| Conversion Rate | 1.8% | 4.1% | Higher Lift |
| UGC Swap Time | 9.2 Hours | 4 Hours | -5.2 Hours |
| Approver Count | 8 Approvers | N/A (Lane Only) | Structural Elimination |

The Legal gate separates low-friction campaigns from high-liability launches. When the legal-risk score sits at 5/10 or below and the SKU count remains at 12 or fewer, the Day-3 lock engages immediately. This threshold reflects the point where creative variance no longer correlates with increased regulatory exposure. Conversely, if the risk score climbs to 6/10 or higher, or if specific claims require citation verification, the system stays in the approve lane. In these cases, the freeze would mask necessary scrutiny. The lock model accelerates production only when the underlying assets are legally stable; otherwise, the approval process must remain open until all claims are substantiated.

## The 5-Gate Choice

The Moment gate addresses temporal compression. If a launch window contracts to 5 days or less for a cultural moment, the grid locks on Day 3, but the protocol permits only a headline-image swap with an 8-hour turnaround. This exception acknowledges that integrated campaigns gain greater adaptability in fast-changing markets, as noted by Reddit for Business. However, adaptability has limits: the swap cannot touch typography, color tokens, or module structure. The 8-hour window ensures the creative pivot does not devolve into a new approval cycle. This gate allows the team to ride cultural waves without sacrificing the structural discipline that defines the Day-3 approach.

| Gate | Trigger Condition | Action | Rationale |  |
| --- | --- | --- | --- | --- |
| Legal | Risk ≤ 5/10 and SKU ≤ 12 | Lock on Day 3 | Low liability allows velocity without compliance exposure |  |
| Legal | Risk ≥ 6/10 or claims need citations | Stay in approve lane | High risk requires granular review before freeze |  |
| Moment | Launch window ≤ 5 days for cultural moment | Lock grid; headline-image swap only (8-hour turnaround) | Speed overrides structure; minimal swap preserves brand integrity |  |
| Market | > 2 markets/verticals or RTL typesetting | Reject lock; full approve with native copy review | Complex localization breaks tokenized systems; native r Frequently Asked Questions When exactly does the production pipeline have to freeze? The production pipeline must undergo a hard freeze by 5pm on Day 3. What gets locked in the Day 0 kickoff? Day 0 begins with a 90-minute kickoff in Figma Variables where eight semantic color tokens and three type styles (Inter Tight 64/32/18) are locked. Which components am I actually allowed to build with after the lock? The Storybook v8 library is strictly limited to six pre-approved modules: hero, countdown, bundle grid, UGC strip, FAQ, and sticky CTA. After the Contentful freeze, what can the growth team still change? At the 5pm Day 3 freeze in Contentful all design fields lock and only four offer-specific fields remain editable: headline, price, promo code, and inventory count. Who approves post-freeze changes and how fast? Post-freeze validation is routed through Slack Canvas to two named approvers — brand and growth — under a strict 6-hour response SLA, replacing the legacy 11-stakeholder CC list. What time-to-live improvement does the Day-3 lock actually deliver? An internal audit of 47 campaign pages executed between January 2025 and March 2026 demonstrates that locking type, color tokens, grid, and modules by day three compresses time-to-live to an average of 2.8 days compared to 11.4 days for pages left open to continuous approval cycles. Quick answers When must the production pipeline undergo a hard freeze? | By 5pm on Day 3, the production pipeline must undergo a hard freeze. |
| What is locked during the Day 0 90-minute kickoff in Figma Variables? | We lock eight semantic color tokens and three type styles (Inter Tight 64/32/18). |  |  |  |
| Which six modules are allowed in the Storybook v8 library? | The library is strictly limited to six pre-approved modules: hero, countdown, bundle grid, UGC strip, FAQ, and sticky CTA. |  |  |  |
| What remains editable after the 5pm Day 3 freeze in Contentful? | Only four offer-specific fields remain editable: headline, price, promo code, and inventory count. |  |  |  |
| How does locking by day three affect average time-to-live? | Locking type, color tokens, grid, and modules by day three compresses time-to-live to an average of 2.8 days, compared to 11.4 days for pages left open to continuous approval cycles. |  |  |  |

### Related reading

- [How Creative Ops Removes Friction from B2B Campaign Production](https://kimamani.co/blog/how_creative_ops_removes_friction_from_b2b_campaign_production.php)
- [DAM ROI: Beyond Search Speed to Verified Production Gains](https://kimamani.co/blog/dam-roi-beyond-search-speed-to-verified-production-gains.php)
- [Auditing Creative Approval Chains That Delay Campaign Launches](https://kimamani.co/blog/auditing-creative-approval-chains-that-delay-campaign-launches.php)
- [Why $3.99 14g Endorser Engine Beats Blue-Box: Scorecard](https://kimamani.co/blog/why-399-14g-endorser-engine-beats-blue-box-scorecard.php)
- [Brand Voice Lock: 0.85 Cosine Gate Cuts Revisions 40%](https://kimamani.co/blog/brand-voice-lock-085-cosine-gate-cuts-revisions-40.php)
- [Oreo's 15-Minute Playbook: Why Pre-Approval Lost to Speed](https://kimamani.co/blog/oreos-15-minute-playbook-why-pre-approval-lost-to-speed.php)

### Latest

- [Why $3.99 14g Endorser Engine Beats Blue-Box: Scorecard](https://kimamani.co/blog/why-399-14g-endorser-engine-beats-blue-box-scorecard.php)
- [Brand Voice Lock: 0.85 Cosine Gate Cuts Revisions 40%](https://kimamani.co/blog/brand-voice-lock-085-cosine-gate-cuts-revisions-40.php)
- [Oreo's 15-Minute Playbook: Why Pre-Approval Lost to Speed](https://kimamani.co/blog/oreos-15-minute-playbook-why-pre-approval-lost-to-speed.php)

Canonical: https://kimamani.co/blog/campaign-production-freeze-114-days-to-28-days-approve-or-lock.php
Markdown: https://kimamani.co/blog/campaign-production-freeze-114-days-to-28-days-approve-or-lock.php/index.md
