Real-Time Gift Status and Auto-Add Clarity for Higher Purchase Confidence

by The Mida Team

Hypothesis: Rewriting each gift card on LEGO's product page to state its real status against the live product price — plus one line the r/lego forum has been asking for years — will convert more of the shoppers who currently hesitate over gift-with-purchase confusion.

Brand of the Week

LEGO website — control vs variant

LEGO doesn't need an introduction. The world's most valuable toy brand runs frequent gift-with-purchase (GWP) promotions across its ranges — the kind of threshold-based incentives designed to reward larger baskets and drive higher AOV.

LEGO has decades of ecommerce experience, an internationally established storefront, and a team that's legendary at optimization. So we didn't come into this asking "what's broken?" We came in asking "what could we possibly experiment with?" For a site this refined, that's the more honest question.

And here's what caught our attention. The GWP mechanic sits on the product page as a static block: three gift cards, each showing threshold conditions in the abstract ("Gift with qualifying purchases of £35 or more"), none of them telling the shopper whether the product they're currently looking at actually qualifies.

So a £74.99 set that comfortably clears both a £35 and a £60 threshold looks the same to the shopper as a £24.99 set that doesn't clear either.

The challenge

We took a peek at a LEGO product page, and two things caught our attention.

The gift block never tells the shopper what they've already earned. LEGO's product pages know the price. They know the gift-with-purchase thresholds. But they never compare the two.

A £74.99 set displays "Gift with qualifying purchases of £35 or more" and "£60 or more" as open conditions — as though the shopper still has work to do. In reality, both thresholds are already cleared. The shopper has earned two gifts and has no sign of it.

The confusion is documented and years old. The top-voted answer to "How do I get this GWP?" on r/lego has 29 replies explaining the mechanic the site never actually states. A thread titled "I spent over $60 and didn't receive the…" runs to 40+ comments. Community-authored FAQs on a mechanic that should be one line of on-page copy.

An impossible gift sits prominently, and expiration dates aren't deadlines. A third gift on the same block can't be obtained from the set the shopper is looking at — it unlocks only with a different product. Yet it sits second in the panel, taking up more visual real estate than the price and Add to Bag button combined.

All three offers show "Ends 31/07/2026" — a date, not a deadline. And when the shopper adds the set to their bag, the confirmation modal shows the item, the price, the quantity, and a small-parts warning. Not a word about the two gifts they just earned. At the one moment the shopper is guaranteed to be looking at the page, the reward for the purchase is silent.

So what would we A/B test?

Control: LEGO's current gift block — three static gift cards, each showing threshold conditions as open statements. Ordering is fixed regardless of shopper eligibility. Post-add confirmation modal doesn't reference earned gifts.

Variant (built in MidaGX): Five changes to the gift block and confirmation flow.

Rewrite each gift card to state its real status against the live product price

Where the threshold is met, the card reads "Earned with this set." Where it isn't, the card reads "Add £10.01 more." The math is done for the shopper, in the place the decision is being made, and the copy stays true across every product and every promotion because it's calculated from the live price.

Demote unobtainable gifts to last with a muted "Needs a different set"

Gifts that can't be earned from this product move to the bottom of the panel with a subdued visual treatment and the qualifier text kept intact — so a shopper who's interested in the gift knows what to buy to earn it, rather than seeing an offer disappear entirely.

Convert imminent expiry into a countdown

"Ends 31/07/2026" becomes "Ends tomorrow" — but only inside a 3-day window. Outside of that, the expiration reads as a straightforward date. The countdown never manufactures urgency that isn't actually there.

Add the one line the forums keep asking for

"Qualifying gifts are added to your bag automatically at checkout." One sentence, injected right where the confusion currently sits, that ends the years-long thread on r/lego in a single line.

Reorder the block so earned gifts lead

Earned gifts sit first. Nearest-threshold gifts sit next. Not-obtainable gifts sit last. The shopper's eye lands on the offers that actually apply to them, in the order that matters to their decision.

Our hypothesis

LEGO's product pages already have every piece of information they need to make each shopper's GWP status obvious. The site just doesn't do the calculation for them.

We'd expect the variant to lift add-to-cart conversion on GWP-eligible products for two reasons. First, "Earned with this set" is a positive reinforcement signal at the moment of decision — the shopper feels rewarded before they buy, which lowers hesitation. Second, "Add £10.01 more" creates a specific, honest upsell path — no vague "spend more to get more" pressure, just clear math with a specific number attached.

We'd also expect fewer post-purchase support tickets and lower r/lego thread activity about gift confusion — the auto-add clarification does the work the community has been doing for years.

The CRO principle underneath

Most product pages assume the shopper will do the math. When the math is trivial, that's fine. When the math involves live prices, live promotions, and threshold conditions the shopper has to remember from a marketing email — the shopper stops doing the math and starts hesitating.

The fix isn't to remove the complexity. It's to do the calculation for the shopper, in the place where the decision is being made.

LEGO's gift block already knows both the price and the thresholds. The site just needs to compare the two out loud.

Want to run a test like this on your own site? Get started with Mida for free — now available even if you don't have an account with Mida.