Synthetic shoppers¶
A synthetic shopper is an AI-generated visitor that browses your page and makes a shopping decision the way a real customer would. Squoosh sends a pool of them to each version of your page and records what they do, so you can see which version converts better without waiting weeks for live traffic. This page explains what the shoppers are, how Squoosh calibrates them to your real audience, and how to read how closely they match.
How a shopper behaves¶
Each synthetic shopper lands on the page, reads it, and decides whether to act on your goal — Add to Cart or Checkout. The shopper weighs the same things a person would: the layout, the copy, the price, the trust signals, and the friction in the path. Two shoppers seeing the same page can decide differently, the way two customers would.
Shoppers are reused across every experiment in a property. The same pool runs each test, so results stay comparable from one experiment to the next. You calibrate the pool once and recalibrate it when your real audience changes.
Calibrating shoppers to your audience¶
Squoosh shapes the pool to match your real visitors. When you connect Shopify or Google Analytics as your analytics source, Squoosh reads your recorded traffic and builds shoppers whose mix of device, traffic source, and geography matches what your store sees. The result is an audience that looks like yours rather than a generic one.
To build or update the pool, open Synthetic Shoppers in the sidebar and calibrate. The match tile then shows whether the source is connected — Calibrated with Shopify or Calibrated with Google Analytics — alongside the source's brand mark.
If no analytics source is connected, Squoosh can still generate a pool, but it falls back to a general e-commerce mix and cannot measure how closely it matches your audience. Connect a source to calibrate against your own traffic.
For the step-by-step setup, see Calibrate synthetic shoppers.
The shopper match score¶
The Shopper match tile shows a single percentage — how closely the synthetic pool's mix overlaps your recorded traffic across device, traffic source, and geography. 100% means the synthetic mix is identical to your real one. A match of 80% or higher is a strong match.
The score appears only when both a connected analytics source and a generated pool exist. Squoosh never shows a fabricated number: with no recorded traffic, the tile prompts you to Connect Shopify or Google Analytics instead of a percentage.
Select View shopper attributes to open a side-by-side comparison of your recorded traffic against the synthetic pool, so you can see where the two line up and where they differ.
What each shopper looks like¶
Select any shopper in the grid to inspect it. Each one has a name, a region, a device and traffic source (for example, Desktop · direct), a short bio, and a list of its needs and pain points.
Four traits describe how the shopper makes decisions, each shown as a percentage:
| Trait | What it measures |
|---|---|
| Purchase intent | How ready the shopper is to buy. |
| Price sensitivity | How much the price affects the decision. |
| Discount sensitivity | How much a discount or promotion affects the decision. |
| Trust threshold | How much reassurance the shopper needs before acting. |
These four traits are what's visible per shopper. Use them to understand the kind of customer behind a given decision.
Pool size¶
By default, Squoosh calibrates a pool of 1,000 synthetic shoppers, which is the recommended size for most experiments. You set the size in the Pool size picker when you calibrate.
A larger pool models more of your traffic and can resolve closer results, at the cost of a slower, more expensive calibration. A smaller pool is faster and cheaper but gives the experiment less to work with. Stay at the default unless you have a specific reason to change it.
See Reading lift and confidence for how the number of shoppers affects a result's precision.