From Vinson · 25 September 2026 · for Austin, Gavin, Kamil and the design team
This is one document for everyone, so each side can see what the others are doing. It replaces the Klaviyo handover. Background and numbers are in the email report. If anything changes, a new version goes out and the newest one wins.
Two companion documents:
How the work flows: Vinson writes the copy, the design team makes two templates, Kamil sends the data Klaviyo needs, and Gavin builds and tests in Klaviyo. Austin approves.
Owners: Kamil is on everything email-related, including Stripe settings and the data Klaviyo needs. Kevin is on the website only: if it changes the website, it is Kevin's. Where Austin's assignment differs from an earlier split, it is flagged and Austin's call stands.
About 25,000 Klaviyo profiles were suppressed by the team in two rounds: 8,547 on 26 June and 16,377 on 6 August. The August rule was "never paid and no recent email", with no check on whether people opened anything. The likely reason is the Klaviyo plan, which allows 15,000 active profiles; 15,924 were in use at the audit time.
Manual suppression is not the same as an unsubscribe. Gavin confirms that the original consent is still valid before anyone is unsuppressed. Two catches:
Most of the suppressed are people who trialed and never paid. The trial users report covers them and the plan to bring them back in waves.
First, this week:
- Every profile whose current subscription status is paying or trial.
- Received any flow email in the last 14 days.
- Every yearly subscriber.
- Until Kamil's status field is live, use a checked export. Do not rely on a recent-payment rule to identify current customers.
Then build, in this order, as copy and templates arrive:
| # | Build | Target | Waits on |
|---|---|---|---|
| 1 | Failed payment rebuild | Live before 1 November | Kamil: portal link, Stripe settings |
| 2 | Cancel flows (subscription and trial) | Next two weeks | Kamil: survey answer to Klaviyo |
| 3 | Sign-up and trial flows | Next two weeks | Kamil: sign-up source, trial properties |
| 4 | Abandoned checkout | Draft now; live when the event arrives | Kamil: Checkout Abandoned |
| 5 | Yearly renewal reminder | Live by 15 November | Kamil: renewal date and amount |
| 6 | After purchase | After 1 to 5 | Austin: how monthly-to-yearly upgrades work |
Rules for every build: one button and one destination per email; every link tagged utm_source=klaviyo&utm_medium=email&utm_campaign=<flow>&utm_content=<email>; "Hi there" when there's no first name; no typed prices or dates, use event or profile variables; payment and recovery flows exit on Successfully Paid; use the flow-specific exits in the rebuild; put a test profile through every flow, with desktop and mobile screenshots sent before going live.
Every Friday: what shipped, what's blocked and on whom, and hours used against the estimate. Send the hours estimate for 1 to 6 before starting.
| # | What | Unblocks | By |
|---|---|---|---|
| 1 | The billing portal link that opens card update, for the email button | Failed payment, renewal | This week |
| 2 | Stripe: Smart Retries on, a 14-day retry window, the exact plan-end date sent to Klaviyo, and Stripe's own failed-payment emails off on Gavin's go-live day | Failed payment | Agree the date with Gavin |
| 3 | Whether Stripe already sends a renewal reminder, and when (Austin is checking too) | Renewal | This week |
| 4 | The cancel survey answer written to the Klaviyo profile as Reason Left, on every cancel | Cancel flows | Next week |
| 5 | Sign-up source on the profile: trial link or normal sign-up | Sign-up and trial flows | Next week |
| 6 | For trial users: trial end date, plan price in their currency, and billing period. Check whether regional prices can be passed through, or whether Klaviyo needs a region field to choose the right version | Trial ending email | Next week |
| 7 | Checkout Abandoned event when a Stripe checkout expires unpaid after an hour: email, plan, price, recovery_url. Skip anyone already subscribed | Abandoned checkout | Next two weeks |
| 8 | Renewal date and renewal amount on each yearly subscriber's profile | Renewal | Before 15 November |
| 9 | A direct installer link that works from an email | Trial emails | Next week |
| 10 | An event to Klaviyo when someone runs the optimizer (for example Ran Optimizer) | Trial email 2 split; skip the post-purchase download for people with a recorded run | When possible |
| 11 | Every new account sent to Klaviyo at sign-up, as an Account Created event carrying the sign-up source. Today 49 of a random 50 people who signed up and never bought are not in Klaviyo at all | Sign-up flows | Next week |
| 12 | Subscription status on each profile (paying, trial, cancelled, never paid), kept in sync | Campaign audiences and exclusions | Next two weeks |
| 13 | If the suppression was the team's manual action, unsuppress the profile automatically when that person starts a trial or pays. Never override an unsubscribe, bounce or spam complaint | Every flow | Next two weeks |
| 14 | For cancelled subscribers: plan end date, whether they're on an early-bird price, and whether restarting before the end date keeps that price | Subscription cancelled | Next two weeks |
| 15 | The list of trial users who aren't customers, with trial month, how the trial ended and whether they ran the optimizer | Trial win-back | When Austin approves the win-back |
Agree the exact event and property names with Gavin before either of you builds, so they match.
Two reusable Klaviyo templates, following the spec at the end of this document:
Deliver both with editable live-text blocks, plus one desktop and one mobile mockup of each.
Nine flows and a campaign rule. Nothing sends more than three emails except failed payment. The full copy for each is in the flows rebuild; the tables below are the short version.
| Flow | Who enters | Emails | The one job | Smart Sending |
|---|---|---|---|---|
| Sign-up, normal | Created an account, not through the trial link, not paying | 1 hour, day 2 | Buy | On |
| Sign-up, trial link | Came through the trial link, trial not started | 1 hour, day 2 | Start the trial | On |
| Trial started | Started a 7-day trial | At once, day 2, day 6 | Run it, run it again, know what's next | Off, on, off |
| Abandoned checkout | Left the Stripe checkout unpaid | 1 hour, day 1 | Finish checkout | Off, on |
| After purchase | First payment | At once, day 3, day 14 | Install, get value, then go yearly | Off, on, on |
| Failed payment | A payment failed | Day 0, 3, 7, 14 | Update the card | Off |
| Renewal reminder | Yearly renewal coming | 30 and 3 days before | Know it's coming | Off |
| Trial cancelled | Cancelled during the trial | At once, by survey answer | Come back | On |
| Subscription cancelled | Cancelled a paid plan | At once, by survey answer; day 5 for "too expensive" | Come back | On |
Smart Sending is off while account notices are built and for any email that follows another by minutes. Once Klaviyo approves a message as transactional, Smart Sending does not apply to it.
| When | Subject | Message | Button |
|---|---|---|---|
| 1 hour | Your account's ready | Your account is ready. Pick a plan and Hypertune tunes your PC in two minutes. Every change can be undone. | Pick my plan |
| Day 2 | Still thinking it over? | What it does in two lines: reads your hardware, tunes it for games. Changes are reversible and tuned to your exact PC. | Pick my plan |
No trial mention. The current day-8 free-month email goes.
| When | Subject | Message | Button |
|---|---|---|---|
| 1 hour | Your free week is waiting | Seven days free. Install, scan, Boost. | Start my free trial |
| Day 2 | Your trial hasn't started yet | The same, shorter. | Start my free trial |
Full copy in the trial emails brief.
| When | Subject | Message | Button |
|---|---|---|---|
| At once | Two minutes to your first Boost | Install, scan, Boost. Hypertune creates an automatic restore point. | Download Hypertune |
| Day 2 | Try Hypertune before your trial ends / Did your first Boost go through? / See what changed on your PC | Run status unknown: neutral reminder. Not run: install now. Already run: run a benchmark. | Open Hypertune / Download Hypertune / Run a benchmark |
| Day 6 | Your trial ends on {{ date }} | The date, their price and billing period, and that the paid plan is scheduled to start. | Manage my plan |
Why: among the 395 ended seven-day trials since 5 August, 40% ran the optimizer and 38% did it in the first hour. People who ran it twice or more paid most often, but that group has only 16 trials.
| When | Subject | Message | Button |
|---|---|---|---|
| 1 hour | You didn't finish | The plan and price they picked. | Finish checkout (recovery_url) |
| Day 1 | Two questions people ask first | The changes are reversible and tuned to their hardware. | Finish checkout |
| When | Subject | Message | Button |
|---|---|---|---|
| At once, every first-time buyer | You're in. Your plan is active | If installed, open and Boost. If not, install, scan and Boost. Do not assume a trial user installed it. | Download Hypertune |
| Day 3 | One thing to try this week | Run a benchmark after Boost and keep the result for comparison with future runs on the same PC. | Run a benchmark |
| Day 14 | Save with yearly | Monthly subscribers only: switch to yearly. Sent only once Austin confirms how upgrades are credited. | Switch to yearly |
The customer community (Discord) can go in the footer here, not as the button.
| When | Subject | Message | Button |
|---|---|---|---|
| Day 0 (within the hour) | Your payment didn't go through | By decline reason: insufficient funds ("we'll retry, or use another card"), expired or declined card, generic, or first payment after a trial. | Update payment method |
| Day 3 | Still can't take your payment | Shorter. | Update payment method |
| Day 7 | Action needed to keep your plan | The plan-end date comes from the profile. A later restart may use a different price. | Keep my plan |
| Day 14 | Action needed for your plan | The payment is still unpaid and the plan is due to end. | Keep my plan |
The flow starts once per customer per 30 days, however many retries fail. A separate first email goes to trial users whose first charge failed. The 48-hour split and the free-month test go.
| When | Subject | Message | Button |
|---|---|---|---|
| 30 days before | Your yearly plan renews on {{ date }} | The date and the amount from the profile ($47.88 for early-bird subscribers). | Check my card |
| 3 days before | Your yearly renewal is coming up | Same, shorter. | Manage my plan |
30 days, not 14: California's auto-renewal law asks for notice 15 to 45 days before a yearly renewal.
One email at once, chosen by the survey answer:
| Survey answer (share of 858, 21 Aug to 25 Sep) | Button | |
|---|---|---|
| Did not give me performance (38%) | Fix-it: what to check, and a direct line to support | Get help |
| Too expensive (20%) | 50% off to come back | Claim 50% off |
| Not using it enough (20%) | It does not need opening daily; changes stay while the plan is active | Come back |
| Bug (6%) | Support contact | Contact support |
| Other (17%) | Generic "you can come back any time" | Come back |
The subscription version starts by thanking them for paying. The early-price line and "Keep my plan" button stay out until Kamil confirms that restarting before the plan ends preserves that price. "Too expensive" gets one reminder on day 5. No email asks why they left.
Austin's question on the call was fair: how many campaigns before we know they don't pay? So campaigns run as a four-week trial, approved 25 September:
The standard: stupid simple, half a page. Nobody reads long emails, and most people open them on a phone.
Founder note template
Account notice template
Rules for both
Why Klaviyo's number is wrong. Klaviyo credits an email with any Stripe payment made within 5 days of opening or clicking it, including automatic renewals and card retries, and Apple Mail's automatic opens count as opens. In the last 30 days the flows were credited with 54 payments worth $434.46, 49 of them ($359.01) in the failed-payment flow. The failed-payment credits average $7.33, the size of ordinary monthly charges. That is consistent with many Stripe retries succeeding, but does not show that the emails caused the payments. Austin's check of the 8 September campaign found credited payers who had been subscribed since July.
Gavin: in Klaviyo's attribution settings, exclude Apple's automatic opens, and count clicks only if the account allows it.
What each flow is judged on:
| Flow | Measure | Baseline |
|---|---|---|
| Failed payment | Past-due subscriptions recovered against lost, monthly | 412 recovered, 484 lost (22 Aug to 21 Sep) |
| Trial | Trial users who run Hypertune in 24 hours; trial to paid | 40%; 15% (395 ended seven-day trials since 5 Aug) |
| Abandoned checkout | Checkouts recovered through recovery_url | None today (not tracked) |
| Renewal | Yearly renewals paid against failed | First renewals in November |
| Cancel | Cancelled customers who pay again within 30 days | To be set in the first month |
| Campaigns | Payments within 5 days of a click, from people not already subscribed | Not measured yet; 8 Sep had 10 clickers |