2,000 people who said no, and a story about why nobody was asking.
The Ryan Kohler partnership had sent thousands of job seekers through our funnel. Most of them never bought. By the time I picked up the project, there were over 2,000 non-buyers sitting in our database with no recovery sequence pointed at them and no clear theory of why they'd opted out in the first place.
The default move would have been a discount campaign. We didn't have data to back that. So before I built anything, I ran a survey.
N=39 non-buyers responded. The story they told was sharper than I expected. 56% cited price, but underneath the price objection sat something I hadn't seen anyone in this category address out loud: the people who didn't buy were afraid of getting scammed. One respondent named it directly: "I felt I was getting scammed." That phrase reshaped every downstream decision.
Research first. Sequencing second. Copy last.
I scoped the work in three phases on purpose. Phase B (recovery to the non-buyer list) shipped first because the audience was already warm and the survey gave me a hypothesis to test cheaply. Phase A (top-of-funnel co-brand with Ryan Kohler) and Phase C (in-funnel just-in-time layer) were sequenced after, so we could prove the angle on a known audience before paying for cold traffic.
-
01Research dossierN=39 non-buyer survey, triangulated against scam-fear, price-pressure, and comprehension objections. Produced the "free / live / no card / no replay" trust language used everywhere downstream.
-
02Landing pageWP id 16884. Mobile-first, sticky CTA, scam-fear preempt in three locations, inline GHL form, six CTA destinations all routing to a single #register anchor. Five tracking events plus scroll-depth.
-
03GHL confirmation workflowConfirmation email plus a four-piece free-resource bundle (AI coach trained on Gary's knowledge, WHY.os interview prep checklist, resume summary guide, LinkedIn summary guide). Stacked value against the $47 objection.
-
04Round 1 live with GaryMay 20. 48 attendees, 4 purchases. Approximately 8% live close rate at $47. Baseline locked for Round 2.
-
05Round 2 setup for June 16Date and length swap across six body locations, WEBINAR_ID tracking constant introduced, 30-minute slot upgraded to a full hour.
-
06Exit-intent popup, scoped to expireOn the upsell page (id 16871). 60-second timer plus exit-intent on desktop, 60-second only on mobile, 3-day localStorage suppression, auto-expire June 17, focus trap, ESC close, webinar_popup_cta_clicked dataLayer event. Never fires before 60 seconds so it cannot cannibalize the primary offer.
-
07Behavioral promo email seriesTwo-segment strategy: PAS for never-engaged, AIDA for warm no-show registrants. June 9 and June 26 sends. Every line addresses the 56% price objection by selling the free hour, never the $47.
When the survey says 56% bounce on price, discounting is the wrong response. The right move is making the thing in front of the price feel like the obvious yes.
Round 1 in the books. Round 2 instrumented before it ran.
Round 1 closed at 48 attendees and 4 purchases, which gave us a clean 10pp baseline to push against in Round 2. The exit-intent popup deployed May 27 with a hard auto-expire on June 17 so it cannot become a fixture if it underperforms. Round 2 CVR data is in the measurement window and will land in the W22 audit.
- Audience of 2,000+ non-buyers activated with a research-backed recovery offer, not a discount
- Round 1 baseline: 48 attendees, 4 purchases, ~8% live close rate at $47 (~$188 day-of revenue)
- Landing page (WP id 16884) shipped mobile-first with sticky CTA and five tracking events plus scroll-depth
- Confirmation flow stacks a four-piece resource bundle against the $47 price objection
- Exit-intent popup live with cannibalization guardrails and a built-in expiry date
- Round 2 set for June 16, 30 minutes upgraded to 1 hour, copy and tracking already swapped
- Two-segment promo email series queued for June 9 and June 26, segmented by behavior, not demographics
A campaign is an architecture problem before it's a copy problem.
The temptation in a recovery campaign is to write your way out of the objection. The discipline is to find out what the objection actually is, sequence the work so the cheapest test runs first, and ship guardrails into anything that touches the live page. Survey before copy. Phase B before A and C. Auto-expire on every popup. The "guardian against chaos" instinct, applied to a launch.
The 56% price objection was real, but it wasn't the lever. The lever was making the free hour feel like the thing worth showing up for. The $47 stops being the question once the hour answers it.