Fixing Low Conversions with A/B Testing

Conversions were terrible. So I built a dead simple A/B test to see if the problem was the landing page design. Three variants, equal probability distribution, localStorage persistence.

The Setup

Instead of bikeshedding over design choices, I just shipped all three ideas and let the data decide. Math.random() assigns users to buckets. Nothing fancy.

Three Variants

Feed: The Original

Multi-card swipe interface. Think Instagram stories but with WebGL models. Touch events, momentum scrolling, the works.

Landing Page: Minimalist

Single page. One model (avocado toast), one CTA, done. Everything above the fold. Mobile-first because that's where the traffic is.

Post: Full Bleed

3D model as viewport background. Text overlay with backdrop-filter. Basically what happens when you let CSS do the heavy lifting.

Implementation

Dead simple: Math.random() < 0.33 ? 'feed' : Math.random() < 0.67 ? 'landing_page' : 'post'

Assignment goes in localStorage. Every click fires a gtag event with variant label and click location. That's it.

Test It Yourself

Debug page here: /test-variants.html

Force variants with URL params: ?variant=feed, ?variant=landing_page, ?variant=post

Next Steps

Running this for a few weeks until we hit statistical significance. Then deploying the winner to everyone.

Check it out: mukba.ng