Shopify now runs one language model to generate product candidates for both shopper search and the Shop app’s recommendations, and the recommendation side converted 9.85 percent better on the Shop home feed. Shopify Engineering described the system in a post published November 11. Most commerce stacks keep search and recommendation as separate pipelines with separate training data, so a shared model changes how a retail team could staff and budget both.

The model gives every product a short code instead of a database ID. Shopify’s catalog holds several billion products, and a raw ID tells a model nothing about the item behind it. Shopify encodes each product’s content into an embedding, then converts that into a semantic ID of three tokens, drawn from three codebooks of 8,192 entries each. Similar products share codes, so rarely bought items can borrow signal from their neighbors.

The online numbers cover one surface only: the Shop home feed. Against that baseline, orders rose 7.95 percent, converters rose 8.60 percent, and conversion rate rose 9.85 percent, all as relative lifts. Offline, the model adds 2.65 percentage points of incremental pool recall to the production recommendation system, and Shopify calls it the strongest standalone candidate generator it has.

Search is scored differently. The metric is OneDCG@10, which grades the top ten results. With the model added, the combined score moved from 30.6 to 32.7. For signed-in users, whose history lets the model personalize results, it moved from 33.0 to 35.7, and a quarter of those queries came out ahead overall once the top ten results were graded for relevance. These are relevance scores. Shopify did not report a search conversion lift.

Shopify’s ablation shows the tasks help each other, but unevenly. Removing recommendation data from the training mix cut search relevance from 28.8 to 28.5 and search purchase recall from 33.4 to 32.6. Removing search data moved recommendation recall from 21.0 to 20.9. Search gained most from the shared mix.

Two training choices added more. Shopify upsampled first purchases and trimmed stale clicks from histories, which raised offline recall on products a buyer had never touched by roughly 10 to 15 percent relative. For search, it used an LLM relevance judge as a reinforcement learning reward, worth +1.5 on OneDCG@10.

Serving speed decided the base model. Shopify chose Liquid AI’s LFM2-2.6B, which posted 25.5 ms p95 latency for the generator call, against 46.1 ms for Qwen3-1.7B and 108.4 ms for Qwen3-14B. The larger Qwen model scored higher on search purchase recall (35.0 versus 32.3), so Shopify traded some accuracy for time. Those timings come from server-side tests with TensorRT-LLM and a beam width of 100. Separately, an index that restricts the model to valid product codes shrank the cost of enforcing those constraints from more than 50 ms on every request to roughly a single millisecond.

Every figure comes from Shopify’s own report. The post gives no test duration, traffic share, or baseline conversion rate, so a 9.85 percent relative lift cannot be converted into revenue. Independent replication is also absent.

Shopify says its longer-term plan is to fold ranking and ads into the same model. Retail teams running separate retrievers can test the core claim cheaply: train on both logs, then compare recall against each single-task baseline.

Reported by Shopify Engineering on November 11, 2026.