To: Going's Marketing team
Re: End-to-end user test · Postmarked July 2026
An Average Marketer · Postcard No 1 · Par Avion

Log in to the same Going account — web, app, and email treat me as three different people.

I love this product's bones — the launch screen sells wanderlust in one glance, and the deal engine is the most-praised feature on every review site. So I signed up as a real user: two accounts, one Premium, one free — app first, then web, then my inbox.

The pattern: the offer machine and the membership machine have never met. Four discounts chased me through one signup, the "biggest sale of the year" was never honored at checkout, and the welcome email arrived cold, 15 minutes late. None of it is a build problem — the plumbing works. It's waiting for a plumber-in-chief, and that's the good news: someone can fix it.

4
Discounts in One Session
51% off (app popup, code SUMMER51) → "free trial + 10% off" (paywall) → 20% off Premium / 25% off Elite (web + welcome email). All live at once. All for the same product.
$44.10
What "51% Off" Actually Cost Me
The checkout quietly swapped SUMMER51 for WELCOME10 — 10% off $49. The 51% price, $24.01, appears on no screen. The standard web offer ($39) beats what the offer path gave me.
15 min
Welcome Arrived Cold
The one guaranteed-open email took 15 minutes — addressed to "Domestic Traveler," a segment label in the hero, linking 2024 articles. In 2026.

Jump to "What I'd fix first" ↓

On this postcard
  1. The First Five Minutes — the sale interrupts the onboarding
  2. The Checkout — where the discount changes the deal
  3. The First Session as a Member — the app keeps selling Premium to a Premium trial
  4. The Web — the better lifecycle marketer
  5. The First Hour of Email — plus eight years of inbox archive
  6. The Public Record — context, not verdict
  7. What I'd Fix First — five fixes, in priority order

01 — The First Five Minutes

The sale interrupted the onboarding before the product could say hello.

The launch screen is genuinely great — a rotation of real destinations at real prices (Tokyo, $316, SEA⇄HND). Dream, price, route, in one frame. Then I logged in, and before a single deal loaded: a full-screen takeover, "Biggest sale of the year! 51% off, code SUMMER51." I don't know what Premium is yet. I don't know what the app does yet. And "51% off" of an unstated price is a math problem, not an offer.

Going launch screen — Tokyo $316, SEA to HND

12:19 PM — the best screen in the funnel. Destination, price, route. No copy needed.

Biggest sale of the year popup, 51% off, before any product experience

12:21 PM — two minutes later. A discount on a membership I haven't learned about, at a price I haven't been told. There's no in-app onboarding — this popup is the onboarding.

Paywall — Save $400+ on international flights, feature table below the fold

The paywall: "14-day trial, no payment due now. Then $49/year." Hold that promise — it lasts one screen. And "Trip alerts" is sold as Premium, though route price-watching is free in Google Flights; a member who finds that out later feels tricked, not treated.

Tapping "Get 51% off" opens a paywall with four problems on one screen. The headline — "Save $400+ on international flights" — presumes I care about international before asking; there's no quiz, no preference capture, and the acquisition signal from my ad or referral goes unused. The photo runs so tall the benefits table sits below the fold. When the table appears, its first row is "International deals" — the headline again, one screen lower. And the CTA stack offers "Start free trial" beside "Start free trial + 10% off" — ten percent, on the screen the 51% popup just sent me to.

Fix 1 of 3

Sequence value before offer

Gate the sale popup on a first-value event — first deal viewed, first alert set — not first login. Let the launch screen's own magic run one session before the discount interrupts. And never show a percentage without the resulting price: "$24.01 for year one" sells; "51% off" asks the user to do long division mid-scroll.


02 — The Checkout

"No payment due now," said the paywall — until I took the discount.

Credit first: tapping "Start free trial" does exactly what it should — a native App Store sheet, genuinely no payment due, done in seconds.

The mess lives in the offers. The app never surfaces its own promotions; the offer list is buried in the hamburger menu, and the only place the deal is spelled out plainly is the Premium confirmation email. The offers that do chase you — the 51% popup, the Alerts card — punt to going.com in a browser, because, as the welcome email's fine print admits, offers are "redeemable only at Going.com, not via the mobile app."

Defensible call — app-store fees are real — but nobody reconciled the copy: the paywall says "no payment due now," while the discounted web checkout says "You authorize Going to automatically charge you $44.10 + applicable tax for the first year" — today. Take the 10%, and the free trial quietly stops being free to start.

Mobile web checkout — WELCOME10, $44.10 due today

12:22 PM — the offer swap. The popup said SUMMER51. The web checkout arrives pre-filled with WELCOME10: −$4.90, total $44.10. That's 10% off $49 — and $5 more than the $39 the website offers everyone.

Checkout fine print — authorize charge of $44.10 for the first year

The consent copy is thorough; the trade is buried. Take the discount, and "no payment due now" becomes "charge you $44.10 + applicable tax for the first year" — due today. The Apple Pay sheet then slides over the fine print and won't scroll away. I tried.

Follow the Money
Five numbers, four offers — and no scarcity left to sell.
$49 list → "51% off" (never priced; would be $24.01) → "+10% off" ($44.10, charged at trial start) → $39 (web standard, 20% off) → 25% off Elite (welcome email, 24-hour window). This is promo fatigue by design: conflicting numbers undermine every deadline, and the headline number never moves — my own inbox got "Save 51% on Premium!" in August 2021. When the biggest sale of the year runs every year, members learn to wait for a better number, or stop believing the countdown.

Fix 2 of 3

One offer per user — persisted, and honored everywhere

Different campaigns on different surfaces is normal marketing. The same user meeting three numbers in one session is the problem. Persist the offer to the member's profile at first touch — whichever promotion they see first follows them from popup to paywall to web checkout to email, until it converts or expires, one offer per surface. Behind it, an offer ledger (code, value, expiry, redemption path) with a QA gate so no surface advertises what its checkout won't apply. And the discounted trial should keep the trial's promise: authorize the card now, charge on day 14. "10% off" shouldn't secretly mean "pay today."


03 — The First Session as a Member

I started a Premium trial. The app kept selling me Premium.

The good news is real. The red dot on the Alerts tab pulled me straight into the push-permission flow, and the pre-permission modal ("Be the first to know when new deals or flight prices drop") is exactly how you protect an iOS opt-in rate. The deal pages are clean, and the "Try Elite" cross-sell sits in the right place.

Push pre-permission modal — Turn on notifications

Done right: unread-dot → Alerts tab → value-framed pre-permission modal → OS prompt. This is the pattern.

Alerts feed showing 51% off first year offer to an active trialist

Done wrong: the first item in my Alerts feed — minutes into a Premium trial — is "Get 51% off your first year of Going." Not "of Going Premium" (the copy names the company, not the product), not suppressed for trialists, and tapping it dumps me on mobile web behind a "Continue in app" interstitial. An app alert, selling a web-only offer, bouncing back toward the app.

The set-alert screen and deal feed are identical for every user. But Going knew things about me before I opened the app — the ad I clicked, the page I landed on, the referral path. None of it shapes module order, headline, or the domestic/international lean. Wire Branch or AppsFlyer into the CRM and the acquisition signal decides what the first session leads with — the difference between a paywall that presumes "international" and one that knows.

Fix 3 of 3

Segment the surfaces by lifecycle state and acquisition signal

Trialists should never see acquisition offers — gate that alert on trial-state in Braze and swap it for "your Premium benefits, one per day" activation cards. Order onboarding modules by attribution data (deep-link source, ad creative, referral). The Alerts feed is the app's one owned inbox; every mis-targeted card trains members to ignore the channel mistake-fare revenue depends on.


04 — The Web

The website is a better lifecycle marketer than the app.

Web onboarding opens by asking for my home airport — the highest-value preference data there is, captured before any pitch. It's the thing reviewers praise by name ("I'm not receiving alerts from airports that are 6 hours away"). The upgrade page states the price like it's proud of it: Premium $39 first year (20% off, sale countdown), Elite $149 — the tier the app never mentions. If the app's funnel converted like whoever built this page, this postcard would be shorter.

Web upgrade page — clear $39 pricing

Clear anchor, clear price: "You're all set to receive domestic deals from LAX. Want international too?" Then $39, plainly.

Web plan comparison with conflicting 51% banner and 20%/25% badges

But the ladder collides even here: a "Get 51% off — USE CODE SUMMER51" banner sits directly above cards badged "20% off" and "25% off," with no rule for which wins. Three offers, one viewport.

The seams show everywhere. The app says "Alerts"; the web says "watchlist" — one concept, two names, so a member who sets one up on web can't find it in the app. A banner promotes a share button that lives buried in the hamburger menu under Profile. "On the Fly" is a good blog nothing labels as a blog. And the two programs that should be retention engines — Perks (partner discounts I only learned about from my payment receipt) and referral, parked at /settings/invite-friends — are interred in the footer, where growth loops go to die.


05 — The First Hour of Email

The confirmation was instant. The welcome took 15 minutes — and didn't know who it was talking to.

I ran the inbox test on both accounts: one that upgraded to Premium, one that stayed free.

12:29 PM
Premium account
"You upgraded to Going Premium"
Instant, simple, clear — lists what to expect (alerts, points & miles, mistake fares), and is the only place the whole funnel mentions Perks. One footnote works overtime: "Unsubscribing does not cancel your account or membership."
Confirmation
+15 min
Free account
"Welcome to Going" — addressed to "Domestic Traveler" ⚠
Fifteen minutes of silence at peak intent; this should fire while the tab is still open. It offers "20% off Premium or 25% off Elite within the first 24 hours" — another rung on the ladder beside the app's 51% and the checkout's 10%. And it links four guides, including "Cheapest cities in the US to fly into in 2024." It is July 2026.
Welcome
Welcome email — Welcome, Domestic Traveler

"Welcome, Domestic Traveler." I set LAX as my home airport and did nothing else. That's not a greeting — it's a segment label leaking into the hero, inferred from one data point, labeling me by the one thing an upgrade exists to change.

Welcome email footer — 2024 content and web-only fine print

The footer confession: "Offer... redeemable only at Going.com, not via the mobile app" — the sentence that explains the entire app-to-web detour, printed where no one reads. Above it, guides dated 2024.

Two emails expose three disconnected systems: a transactional trigger that fires instantly, a marketing automation that fires 15 minutes late and greets by segment label, and an offer engine neither consults. The welcome is the program's one guaranteed-open send — reviewers describe joining because an email asked them to. Spending that open on a leaked label and 2024 listicles spends it on nothing.

Day-One Postscript · In Fairness
The deal emails themselves are state-aware — the plumbing exists.
The next day, the two accounts got visibly different deal sends: a tier-marked logo, an extra email for Premium, and an app-download CTA served only to the account without the app. Tier and install-state already flow into the daily deal pipeline. They just never reach the welcome, the offers, or the Alerts feed. That's not a data problem; it's an ownership problem — which is better news, because the fix list below runs on rails the deal team already built.

This inbox also has history: 358 Scott's Cheap Flights and Going emails since July 2018, through the founder-newsletter era, the 2021 relaunch, and the rebrand. Three patterns from the archive belong here.

From the Archive · Aug 2021 → Jul 2026 · The permanent sale
"Save 51% on Premium!" (Aug 13, 2021)  ·  "Go Premium for $24" (Aug 1, 2021)  ·  "Biggest sale of the year! 51% off, code SUMMER51 — limited time only" (Jul 15, 2026)
Five years, one number. When the biggest sale of the year runs every year — and "limited time only" survives every limit — members read urgency as wallpaper. That's deadline inflation, and it spends the program's credibility on every send that carries a countdown.
From the Archive · Sep 2025 · "We may have accidentally unsubscribed you"
"When we rebranded from Scott's Cheap Flights to Going... it's possible you were accidentally unsubscribed." — followed by 3 months of free Premium, no card required, 2.5 years after the rebrand
Two readings, both instructive. At face value, the rebrand migration dropped part of the list and the winback was still running in late 2025 — the same missing-identity-layer story as the web/app split, told by the email program itself. Read shrewdly, it's a reactivation campaign wearing an apology, and a clever one: the "oops" reframes cold outreach as restored service, the free-Premium gift converts it into a trial, and the dual CTA keeps it consent-clean. Either way, the header still read "Going — Formerly Scott's Cheap Flights" almost three years post-rename. The brand-equity transfer wasn't finished.
From the Archive · 2021 → 2024 · The FOMO module and its bill
"You're missing the best deals! Premium members got $210 roundtrip fares to Belize this week." (2021) → "Premium members got $124 nonstop roundtrip fares to Banff National Park." (2024)
The program's real conversion engine isn't the promo calendar — dedicated promos are only ~8% of sends. It's this module, riding inside nearly every free-tier deal email, essentially unchanged for three years. It works, and it has a bill: it sells membership on specific, already-vanishing fares. The public record shows who pays it — "every 'deal' is gone by the time you click on to it" (Google Play, Feb 2026), the same complaint that filled the SCF-era page. Members buy the $124-to-Banff promise; the product delivers a probability. That gap is where conversion quietly becomes churn.

06 — The Public Record · Context, Not Verdict

Going already fixed its worst lifecycle problem once. That's the encouraging part.

The abandoned Scott's Cheap Flights Trustpilot page reads like a warning label — 1.6★, 95% one-star, silent auto-renewals, "spam almost instantly," no path to cancel. The going.com page today: 4.5★ across 814 reviews, with renewal-day cancellations and proactive refunds now showing up as five-star praise, and an 87% reply rate on negative reviews. App Store 4.7★, Play 3.6★. The billing rage that defined the old brand was engineered away after the January 2023 rebrand.

The current set of complaints is next on the docket, and it rhymes with everything above:

"Every. Single. Time. the app either crashes, doesn't load, or spits you out to the world map if you try and click on a mistake fare notification. Why pay for something that doesn't work?" — App Store review, April 2026

07 — What I'd Fix First

Five fixes, in priority order.

The root cause behind most of this list: the website was the original service, the app is the newer build, and the two were never joined. Trips, tiers, offers, even feature names live separately — and Going's own review replies blame charged-after-cancel complaints on duplicate accounts under different emails. That's the signature of a missing identity layer and no single owner of the cross-surface experience. Each fix ships on its own; they stop being whack-a-mole once someone owns both surfaces and the profiles beneath them.

1
One offer per user — persist it to the profile, honor it on every surface
Low effortTrust leak
2
Make the trial promise true on the discounted path — authorize now, charge on day 14
Low effortTrust + conversion
3
Rebuild the welcome as a state-aware Braze Canvas
Med effortActivation
4
Wire acquisition signal into first-session personalization
Med effortConversion + retention
5
Defend the alert channel — deep links, snippets, and feed hygiene
Med effortRetention
Yours from the funnel,
Queenie
For An Average Marketer · Los Angeles