Skip to content

Replace best_description with best_title Statsig experiment for hero …#2958

Merged
eldadfux merged 1 commit intomainfrom
feat/marketing-hero-best-title-experiment
May 4, 2026
Merged

Replace best_description with best_title Statsig experiment for hero …#2958
eldadfux merged 1 commit intomainfrom
feat/marketing-hero-best-title-experiment

Conversation

@eldadfux
Copy link
Copy Markdown
Member

@eldadfux eldadfux commented May 4, 2026

…copy.

The best_title experiment exposes title and description parameters for SSR and client exposure. Default hero subtitle is updated to the new baseline copy. best_description and evaluateHeroDescriptionExperiment are removed.

What does this PR do?

(Provide a description of what this PR does.)

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.)

Related PRs and Issues

(If this PR is related to any other PR or resolves any issue or related to any issue link all related PR and issues here.)

Have you read the Contributing Guidelines on issues?

(Write your answer here.)

…copy.

The best_title experiment exposes title and description parameters for SSR and client exposure. Default hero subtitle is updated to the new baseline copy. best_description and evaluateHeroDescriptionExperiment are removed.

Co-authored-by: Cursor <cursoragent@cursor.com>
@appwrite
Copy link
Copy Markdown

appwrite Bot commented May 4, 2026

Appwrite Website

Project ID: 69d7efb00023389e8d27

Sites (1)
Site Status Logs Preview QR
 website
69d7f2670014e24571ca
Failed Failed View Logs Preview URL QR Code

Website (appwrite/website)

Project ID: 684969cb000a2f6c0a02

Sites (1)
Site Status Logs Preview QR
 website
68496a17000f03d62013
Processing Processing View Logs Preview URL QR Code


Tip

Build commands execute in runtime containers during deployment

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 4, 2026

Greptile Summary

Replaces the best_description Statsig experiment (single description param) with best_title (dual title + description params), wiring the new heroTitleBase through the SSR bundle, page data, and client exposure path. The default hero subtitle is updated to the new baseline copy and evaluateHeroDescriptionExperiment is fully removed with no remaining callers.

Confidence Score: 5/5

Safe to merge — migration is complete and consistent across SSR, client exposure, and both hero components.

All references to the old experiment key are removed, fallback paths are correctly handled, normalization functions are reused, and the SSR/client assignment symmetry is preserved via the Statsig bootstrap payload. No P1 or P0 findings.

No files require special attention.

Important Files Changed

Filename Overview
src/lib/statsig/experiments/marketing-hero-server.ts Replaces evaluateHeroDescriptionWithClient with evaluateBestTitleHeroWithClient (returns both title and description); adds heroTitleBase to MarketingHomeStatsigBundle; removes standalone evaluateHeroDescriptionExperiment export.
src/lib/statsig/experiments/marketing-hero-client.ts Adds heroTitle to MarketingHeroStatsigBaseline; readMarketingHeroExperimentsForExposure now reads both title and description from the single best_title experiment; debug structure updated accordingly.
src/lib/statsig/constants.ts Updates DEFAULT_HERO_SUBTITLE to new baseline copy; DEFAULT_HERO_TITLE unchanged.
src/lib/statsig/experiments/marketing-hero-ids.ts Renames experiment key from best_description to best_title; updates JSDoc to reflect dual params (title + description).
src/lib/statsig/hero-query-overrides.ts Extracts normalizeHeroTitle into a reusable export (was inline in readHeroTitleOverride); readHeroTitleOverride now delegates to it; doc comment updated.
src/lib/statsig/hero-statsig.server.ts Removes re-export of the now-deleted evaluateHeroDescriptionExperiment; no other changes.
src/routes/(marketing)/(components)/hero.svelte Passes heroTitle baseline to readMarketingHeroExperimentsForExposure for correct Pulse exposure; updates debug log key from bestDescription to bestTitle. Display continues to use SSR page.data values.
src/lib/components/homepage-variations/custom-hero.svelte Adds clientHeroTitle reactive state; wires heroTitle into resolveHeroQueryOverrides and readMarketingHeroExperimentsForExposure, consistent with existing pattern for subtitle/layout/cta.
src/routes/(marketing)/+page.server.ts Destructures heroTitleBase from loadMarketingHomeStatsigBundle; passes DEFAULT_HERO_TITLE as the title fallback; feeds heroTitleBase into resolveHeroQueryOverrides instead of the old hardcoded DEFAULT_HERO_TITLE.

Reviews (1): Last reviewed commit: "Replace best_description with best_title..." | Re-trigger Greptile

Copy link
Copy Markdown
Contributor

@adityaoberai adityaoberai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved to unblock

@eldadfux eldadfux merged commit 8019be4 into main May 4, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants