The two-second barcode demo

A smartphone scanning a barcode on a retail product shelf

Photo · Pickawood / Unsplash

Open Gish on your phone in the baby aisle of any Best Buy. Point the camera at the barcode on the shelf tag for a Snoo bassinet. Roughly two seconds pass. The app shows you four things at once:

  • The item, confirmed (SKU, brand, model, image, current shelf price).
  • The price across every online seller that carries the SKU (Best Buy: $1,695. Happiest Baby DTC: $1,599. Pottery Barn Kids: $1,725. Amazon: out of stock.).
  • The cheapest route, highlighted, with a one-tap “send this gift” or “chip in to group buy” action.
  • Whether the item is on the recipient’s wishlist (if you arrived here via a recipient’s shared list).

That two-second comparison — shelf price vs. every online seller, in real time, from inside a physical store — is the most visceral demonstration of Smart Routing. Every other Smart Routing scenario (the browser-extension capture, the share-sheet save, the live re-pricing of a wish-list item six weeks after capture) is doing the same thing in a less visible way.

This article walks through what is happening under the hood. The mechanic is more interesting than it sounds.

The single sentence

Smart Routing turns every wishlist into a live shopping graph: each wish carries a SKU, the SKU resolves to every seller that carries it, and at purchase time the gifter sees the cheapest in-stock route across every major retailer — whether the wish was captured online or by scanning a barcode in a physical store.

What Smart Routing is doing under the hood

A computer monitor displaying lines of code and data visualizations

Photo · Carlos Muza / Unsplash

Smart Routing is the orchestration of four subsystems. Each is doing one job; the magic is in stitching them together fast enough that the gifter (or the in-store scanner) sees a result in under three seconds.

1. Capture: pull a SKU out of any input

The first job is turning whatever the wisher just gave the system — a product URL, a barcode scan, a photo, a voice memo, a screenshot — into a structured SKU. Every input format hits a different extractor:

  • Product URL — the retailer adapter parses the page and returns brand, title, price, SKU, image, variant info.
  • Barcode scan — the UPC/EAN resolves through the GS1 registry plus retailer-specific SKU lookups to a canonical product.
  • Photo — visual product recognition (a vision model fine-tuned on retail product imagery) returns a candidate match against the SKU graph with a confidence score.
  • Voice memo — speech-to-text plus a query parser converts “those hiking boots from REI” into a structured query.
  • Screenshot (Instagram, TikTok, Pinterest) — OCR plus visual recognition extracts the product candidate.
  • Email forward — any retailer confirmation, gift-guide newsletter, or order receipt forwarded to a personal wish+…@gishme.com address is parsed into a wish with full metadata.
  • MCP agent call — when a wisher asks ChatGPT or another model “put the Brooklinen sheet set I just looked at on my registry,” Gish is callable directly through the Model Context Protocol. Gish was the first wishlist on MCP, so any agent that speaks the protocol can read and write wishes natively — no copy-paste, no fragile browser automation.

That gives Smart Routing six capture surfaces in total — URL, barcode/in-store, photo, voice, screenshot, email forwarding, and MCP agent — covering the full surface area of where a wisher actually encounters product intent. The output of capture is a canonical wish record: SKU, brand, title, variant (color, size, finish, ~70 variant types modeled), captured-at price, captured-from retailer, and a quality score.

2. SKU expansion: find every seller that carries it

Once a wish has a SKU, the routing engine queries the SKU graph for every other seller that carries the same item. The SKU graph is built from three feeds:

  • Affiliate network product feeds (Skimlinks, Impact, CJ, Rakuten, Awin) — these account for ~70% of seller coverage.
  • Direct retailer APIs for the top 30 retailers (Amazon, Target, Walmart, Best Buy, Wayfair, etc.) — higher latency but real-time pricing.
  • SKU canonicalization across retailers — the hardest part of the system. Best Buy’s SKU for the Snoo is different from Happiest Baby’s SKU, which is different from Amazon’s ASIN. The canonicalizer uses GS1 UPC plus brand+model+variant fingerprints to resolve them to one identity.

The output: a list of (retailer, SKU, price, in-stock, shipping-time) tuples for the same canonical item.

3. Real-time re-pricing: catch price drops since capture

Prices move. A Williams Sonoma Le Creuset Dutch oven captured at $400 in March might be $320 on a Sur La Table sale in June. Every wish on every Gish wishlist gets re-priced on a sliding cadence:

  • Items with active gifter views in the last 24 hours: re-priced every 4 hours.
  • Items on an active group-buy pool: re-priced every hour.
  • Items captured within the last 7 days: re-priced every 12 hours.
  • Cold items (no recent activity): re-priced every 24–72 hours.

The cadence matters because re-pricing is the source of ~25% of total gifter savings. The wish was captured at one price; the gifter sees a lower one at the moment of purchase. The wisher does not have to do anything.

4. Routing: pick the cheapest in-stock option

With every seller’s price and stock status known, the router picks a winner. The default optimization target is total landed cost, not list price — the comparison includes shipping cost, expected delivery time vs. the occasion date, applicable coupons the engine has detected, and any active loyalty-program discount on the gifter’s account if one is linked.

The router is conservative: if the cheapest option is from a seller with low reliability scores, it routes to the second-cheapest. If shipping would not arrive before the occasion date, it routes to a slower-but-acceptable seller. The point is that the gifter does not have to think about any of this.

Where the 9% average savings actually comes from

The headline number that Gish publishes is the average gifter saves ~9% versus the captured-URL price. That number is worth unpacking, because the savings come from three different mechanisms with very different magnitudes.

~9%
Average gifter savings vs. captured-URL price
~60%
Of savings come from cheaper sellers
~25%
Come from price drops between capture and purchase
~15%
Come from bundling, coupons, and cart optimization

Cheaper seller (~60% of savings)

The biggest source. The wisher captured the item from one retailer (usually the one she happened to land on), but a competing seller carries the same SKU cheaper. Specific patterns we see consistently:

  • DTC vs. big-box. Direct-to-consumer brand sites are often $50–$150 cheaper than big-box resellers carrying the same product. Happiest Baby’s DTC site is cheaper than Best Buy for the Snoo; Allbirds’ site is cheaper than Nordstrom for Allbirds shoes; Le Creuset’s site beats Williams Sonoma on most cookware.
  • Crate & Barrel vs. CB2 vs. West Elm. Mid-tier home brands often cross-stock and the variance is wider than people expect.
  • Walmart vs. Amazon vs. Target for staples. The big three flip-flop on staple grocery and household items hourly.
  • Specialty vs. generalist. REI is usually beaten by Backcountry on outdoor gear; Sephora is usually beaten by the brand’s own site on prestige beauty.

Price drop between capture and purchase (~25%)

The wish was captured at $400 in March; the gifter is buying in June and the price has dropped to $345 because the retailer is clearing inventory before a new season. Without Smart Routing, the gifter would just click the captured URL and pay $400. With Smart Routing, the re-pricing cadence catches the drop and the gifter sees $345 at purchase time.

This is most pronounced for fashion, seasonal home goods, and electronics with predictable refresh cycles. It is least pronounced for staples and recently-released items where price is stable.

Bundling, coupons, and cart optimization (~15%)

The smaller bucket but the one with the most surprise. Three mechanics:

  • Public coupons. A coupon engine surfaces “BIRTHDAY15” or similar codes the gifter would have to manually hunt for. Conservative: only surfaces codes verified working in the last 24 hours.
  • Bundle discounts. The wisher captured an espresso machine; the retailer offers 12% off when buying with a grinder; the gifter sees the bundle option if they want to spend more for a more complete gift.
  • Loyalty programs. If the gifter has a linked Target Circle or REI Co-op account, the engine factors loyalty pricing into the comparison.

In-store Smart Routing: the most useful place it lives

A person scanning a product barcode in a brightly lit retail store

Photo · Christiann Koepke / Unsplash

Smart Routing is most visible when it runs invisibly — on the gifter’s purchase-page view, six weeks after the wisher captured the item. But its highest-leverage use is the one that happens in real time, in a physical store. A barcode scan in any aisle kicks off the comparison in two seconds, and the result rewires the gifter’s decision in three concrete ways.

Pattern 1: shelf price vs. online price for the same SKU

The retail floor price is often the highest price for the SKU. Brick-and-mortar retailers carry overhead the DTC and pure-play online sellers do not. The Snoo on the Best Buy demo platform is $1,695; the Happiest Baby DTC site is $1,599; the gifter, standing next to the demo Snoo, sees $1,599 and routes there. The store loses the sale; the gifter saves $96.

This is the most common shopper objection to in-store buying: “I could probably get it cheaper online.” Smart Routing removes the “probably” and the friction of opening a separate tab. The decision happens in the aisle.

Pattern 2: shelf price vs. online price for a near-equivalent

The shelf SKU is a Williams Sonoma-exclusive variant of the Le Creuset Dutch oven (slightly different color, same dimensions and capacity). The standard Le Creuset SKU on the brand’s own site is $80 cheaper. The shopper would not have known to look; Smart Routing flags the equivalent and lets the gifter decide whether the exclusive color is worth $80.

This is where the SKU canonicalization work pays off. Same canonical product, different retailer-specific SKUs, surfaced as alternatives.

Pattern 3: in-store capture, online completion

The shopper is browsing without intent to buy now. She sees a candle at Crate & Barrel she likes, scans it into Gish for later. Six weeks later, around her birthday, her sister opens her wishlist and sees the candle — Smart Routing has re-priced it since capture, found a 22%-off Crate & Barrel promotion live for the next 36 hours, and surfaced the deal. The candle ships at the discounted price.

This is the most underrated pattern: physical-store browsing as a capture surface for future giftability, not as a buy-now decision. The store does not lose a sale (the shopper was not buying anyway); the brand keeps the eventual sale (via the gifter); the shopper gets the item via her sister; everyone wins, including the gifter who would otherwise be in a Sephora aisle on December 22nd panic-buying a candle.

Why barcode beats every other in-store capture method

Photo capture works in stores too, but barcode scan is the cleanest mechanic when it is available. Three reasons:

  1. Higher accuracy — UPC/EAN resolves to one SKU. Photo recognition returns a candidate with a confidence score that can be wrong on lookalike products (different colors of the same lamp, different sizes of the same bottle).
  2. Faster — barcode is ~600ms; photo recognition is ~1.5–2.5s.
  3. Variant-correct — the shelf SKU encodes color, size, and finish unambiguously. Photo recognition may return the right product but the wrong variant.

Photo remains essential when there is no barcode (an item on a friend’s shelf, in a magazine, on a restaurant’s tableware), and voice memo remains essential for hands-busy moments. But for in-store moments, the barcode is the workhorse.

How Smart Routing handles the edge cases

The interesting parts of any system are the edge cases. Smart Routing has four that come up routinely; each has a deliberate behavior baked in.

Out-of-stock at the cheapest seller

If the cheapest seller is out of stock, the router skips to the next-cheapest in-stock option. The gifter is never routed to a dead-end checkout. This is the most common edge case — happens on ~3% of gifter views — and the single biggest source of frustration on legacy wishlist apps that just pass through the captured URL.

Shipping time vs. occasion date

If the occasion (birthday, shower, anniversary) is in 6 days and the cheapest seller ships in 8–10 business days, the router skips to the faster seller even if it is more expensive. The optimization target is landed in time, not list price. The gifter sees both options if the price gap is significant ($20+); the router picks the time-acceptable one by default.

Variant matching

If the wisher captured a black size-medium hoodie and the cheapest seller only has gray size-medium, the router treats this as a non-match — the gifter sees both options labeled clearly (the cheaper alternate-color, the more-expensive exact-variant). Routing for variants is conservative; the default behavior is “exact variant or surface the choice,” never “substitute silently.”

Affiliate availability

If the cheapest seller has no affiliate program (rare; ~5% of indie Shopify boutiques), Gish still routes there. The platform absorbs the lost revenue rather than pushing the gifter to a more-expensive seller for monetization. This is a deliberate trust-building choice; the alternative would compromise the entire premise of Smart Routing.

Recipient already has it

If the recipient has marked an item as “already purchased” or “received” on her wishlist, the router blocks the gifter view with a clear “already received — here are alternatives” flow rather than letting the duplicate ship.

How Gish Smart Routing compares to other price-comparison tools

Price comparison is not a new category. Honey, Capital One Shopping, Rakuten, Camelizer, Slickdeals — all of them exist, all of them do some version of cross-retailer price comparison. Smart Routing is structurally different in three ways.

Tool Cross-retailer Wishlist-native In-store barcode Brokered fulfillment Best for
Gish Smart Routing Yes — every major retailer Yes Yes Yes Gift purchases routed via a wishlist
Honey / Capital One Shopping Coupon-focused; limited cross-retailer No No No Coupon hunting at checkout
Rakuten Cashback at participating retailers No No No Cashback on retailers you already shop
Camelizer / Keepa Amazon-only price history No No No Amazon price-history tracking
Google Shopping Yes — broad coverage No No No Cross-retailer comparison for a specific search
Slickdeals Community-sourced deals No No No Bargain hunting on specific deals

The three structural differences

The non-Gish tools are all useful, and all serve a different shopper. The three structural differences worth calling out:

  • Wishlist-native. Smart Routing only runs against items already on a wishlist — it is not a general “search the web for the cheapest” tool. The constraint is the feature: it knows the recipient, the occasion, the variant, and whether the item is group-eligible. A generic comparison engine knows none of that.
  • In-store barcode. Google Shopping does not run from inside a Best Buy aisle. Gish does. The physical-retail capture surface is exclusive to wishlist-native tools because the recipient context (is this on her list? is she likely to want it?) is the differentiator.
  • Brokered fulfillment. The gifter buys through Gish; the address never leaves the platform. Honey and Google Shopping route the gifter to the retailer’s checkout, where the gifter has to know the recipient’s address. This is fine for self-purchases and a dealbreaker for gifts.

What is coming next for Smart Routing

Smart Routing has shipped through three major versions since 2024. The 2026 roadmap has three more concrete shifts on it, each addressing a known limitation of the current system.

Variant-aware routing (Q3 2026)

Today, variant matching is conservative: same SKU or surface the choice. The next version routes within variant families more intelligently — if the wisher captured a black-size-medium and the cheapest seller has only black-size-large, the router can ask “is this gift for someone who runs a size up?” rather than forcing the gifter to a more-expensive exact-variant seller. The signal comes from past gift completions, recipient profile data, and (where the wisher has opted in) the wisher’s size profile.

In-store inventory sync (Q4 2026)

The current barcode scan resolves SKU and prices but not real-time in-store inventory. The Q4 version integrates with the major retailers’ inventory APIs (Target, Best Buy, Walmart) so a barcode scan tells the gifter “cheaper at Walmart online by $40, in stock; also in stock at this exact Target three miles away if you would rather buy now.” The choice between online-cheap and in-store-now becomes a live tradeoff.

Predictive routing (Q1 2027)

Today the router optimizes for current price + current stock. The Q1 2027 version factors expected price evolution (the Patagonia jacket goes on Black Friday sale; the espresso machine has a 2027 model launching in March) and tells the gifter “buy now at this price” vs. “wait, expected to drop $80 by Nov 28.” This is non-trivial — price prediction is an under-trusted feature category — but the data Gish has on its own SKU graph is uniquely positioned to do it well.

The throughline

Smart Routing started as “find the cheapest seller” and is becoming “route to the best total outcome,” where best includes price, time, variant, in-store availability, and predicted price evolution. The constraint that keeps the optimization tractable is the wishlist context: known recipient, known occasion, known variant, known timeline. That context is the durable edge.

Sources and further reading

Smart Routing economics — affiliate networks, commission schedules, and the routing-trust principle — build on a long line of public industry data and federal guidance. The references below ground the claims in this article and are worth reading directly if you want to verify the underlying economics.