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 pool panel has two views: Overview shows the top cohorts and a by-attribute breakdown, and Calibration shows exactly how each attribute was matched to your traffic. Once a source is connected, the tile names it — Traffic mix matched to Google Analytics or Shopify — alongside the source's brand mark. Use Re-sync on the Calibration view to refresh against your latest data.

Squoosh is expanding calibration beyond device, source, and geography. Visitor type (new vs returning) and age are rolling out and appear in the Calibration matrix as they light up for your traffic — until then they show a Not modeled or Unavailable label rather than a calibrated one.

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 how closely your synthetic pool reproduces your recorded traffic, written as "N% across K calibrated attributes." The percentage is the distribution overlap between your real traffic and the pool; the denominator names how many attributes were actually matched to real data, so the number never claims more than it measured. A match of 80% or higher is strong.

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 calibration (or the Calibration segment) to open the attribute matrix — one row per attribute, each with a label that tells you exactly how it was calibrated:

Label Meaning
Calibrated · GA4 / Shopify Matched to your real recorded traffic, with a per-attribute match %.
Default mix Generated from a default e-commerce mix — connect a source with this attribute to calibrate it.
Not modeled Seen in your traffic, but not yet modeled on the shoppers.
Unavailable No connected source provides this attribute yet.
Modeled A modeled shopper prior (behavioral traits) — never measured from your data.

Only attributes with a Calibrated label count toward the headline percentage. Behavioral traits always carry a Modeled label, never a match %.

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. They are modeled priors — realistic dispositions, not measurements of your specific visitors.

Squoosh is rolling out conversion-anchored intent, which nudges the pool's overall purchase intent toward your store's real conversion rate while keeping the spread of intent that makes A/B comparisons sensitive. It shifts the audience's center of gravity, never any single shopper into a prediction, so a low-converting store gets a more cautious pool and a high-converting store a more eager one — without weakening a test's ability to tell two page versions apart.

The shopper pool

Squoosh calibrates a pool of synthetic shoppers to match your audience. The pool is generated automatically when you calibrate — there's no size to set. It's reused across every experiment in the property, so results stay comparable from one test to the next.

See Reading lift and confidence for how the number of shoppers affects a result's precision.