Should Shopify recommendations personalize for anonymous visitors, or wait for customer data?

Most people who visit your store won’t be logged in.
They may arrive from search, an ad, a shared link, or a product collection. They might view one product, compare two colours, add an item to cart, then leave.
If recommendations only improve after you know who they are, those visitors get the weakest version of your store.
They shouldn’t.
The sensible approach is to personalize from the first page view, using what the store can see in that moment. Then make recommendations more individual when a shopper has a purchase history, loyalty data, or another known customer signal.
That is the approach Affina is being built around ahead of launch: recommendations learned for your store, shown on product and cart pages, and measured against a real 10% holdout.
Anonymous does not mean blank
An anonymous visitor is unknown as a person. They are not unknown as a shopping session.
Say your store sells coffee equipment. A visitor lands on a grinder product page. That page already tells you something useful: they are looking at grinders, not mugs or gift cards.
If they then view two burr grinders, filter a collection by espresso use, and add a dosing funnel to cart, the session has more shape.
Useful signals can include:
- The product currently being viewed
- The collection or category it belongs to
- Products viewed earlier in the same session
- Search terms and collection filters
- Items already in the cart
- Whether the recommendation appears on a product page or cart page
Shopify describes anonymous personalization using in-session behaviour such as pages viewed and filters applied. It also describes contextual signals, including device type and general location. A logged-in shopper can add more signals, such as purchase history and loyalty data.
The order matters. Start with what is in front of you. Don’t hold back a useful suggestion because an email address is missing.
Product-level recommendations are a good first layer
Shopify’s own product recommendations do not need an identified customer.
For product pages, Shopify can generate related products from purchase history, product descriptions, and related collections. Its documented fallback sequence starts with purchase history when available, then uses product descriptions for English storefronts, then related collections when the other methods are unavailable.
That means a new store, a new product, or a first-time visitor can still get a reasonable recommendation.
There is also a practical manual option. In Shopify Search & Discovery, you can choose up to 10 related products and up to 10 complementary products for a product. You can keep automatic recommendations enabled at the same time.
This is worth doing for products where you know the answer already.
For example:
- A camera body may need a compatible battery and memory card.
- A skincare cleanser may pair with a moisturiser from the same routine.
- A dining table may need chairs in the right size and style.
Those are not personal guesses. They are useful product relationships.
Session behaviour should change the next suggestion
Product relationships are a starting point. Session behaviour helps decide which relationship fits this visit.
Say a shopper views a rain jacket, then opens several waterproof trousers. A related-products row that shows more jackets is less helpful than one that considers trousers, layers, or waterproof accessories.
Or say a shopper has a dress in cart. The cart is a different moment from the product page. They have made a choice. A recommendation can now focus on items that work with that choice, rather than simply showing alternatives.
Shopify’s Product Network documentation describes three broad signal groups:
- Your product catalogue
- Shopping context, such as page type and placement
- Customer behaviour on your store
It also says recommendations can differ between visitors and change as your catalogue, traffic, and behaviour change.
That is why a fixed list of bestsellers is not the same as personalization. Bestsellers may be fine when there is little else to go on. But they do not respond to what a visitor is doing now.
Known customer data should improve recommendations, not gate them
Customer data can be valuable. It is not the entry ticket for showing recommendations.
When a shopper is logged in, or you otherwise have a permitted customer signal, recommendations can become more specific. Purchase history can help avoid suggesting something they already own. Loyalty data may help distinguish a new shopper from a repeat customer.
Historical sales can also improve product relationships. Shopify says automatic recommendations may become more relevant when a product has sales history, because it can identify products frequently bought together in your store.
But waiting for that history creates a cold-start problem.
Shopify’s 2023 announcement said that initial recommendations did not require a store’s historical purchase data. Its models could use Shopify-wide co-purchase data and similar product descriptions.
The practical answer is layered, not either-or:
1. Start with the product, catalogue, and page context. 2. Adapt to what the anonymous visitor does during this session. 3. Add customer-level history when it is available and appropriate to use.
That lets every visitor get something useful. It also leaves room for recommendations to improve over time.
Check what your store shows today
You can check Shopify’s recommendation endpoint in under a minute.
Replace `your-store.com` and `123456789` below with your storefront domain and a product ID:
`https://your-store.com/recommendations/products.json?product_id=123456789&limit=4&intent=related`
Shopify’s Product Recommendations Ajax API needs a `product_id`. The `limit` can be from 1 to 10. The `intent` can be `related` or `complementary`.
If you do not know a product ID, open a product in Shopify admin and look at the number at the end of its URL.
Then check a few important products:
- Your highest-traffic product
- A newer product with few sales
- A product with obvious add-ons
- A product that is hard to pair well
Look at the returned titles. Would they make sense to a first-time visitor? Are they alternatives, complements, or unrelated items?
Then open Apps > Search & Discovery in Shopify admin. Review the related and complementary products you have set manually for key products.
You do not need to hand-curate every SKU. Start where a bad suggestion would be noticeable, or where the correct companion product is clear.
Measure recommendations against visitors who do not see them
Recommendation systems are easy to over-credit.
A shopper may buy after seeing a recommendation. That does not prove the recommendation caused the purchase. They may have bought anyway.
This is why Affina is planned to keep a real 10% holdout. That group does not receive the Affina recommendation experience. The remaining visitors do.
The comparison gives you a baseline from the same store, over the same period, with the same products, prices, and traffic conditions.
Without a holdout, it is hard to separate a good recommendation from normal buying behaviour.
Shopify also recommends measuring recommendation performance rather than assuming it works. Search & Discovery reports include click rate, purchase rate, and products with low engagement. The app shows the last 30 days, while Shopify Analytics reports can be used for longer date ranges.
Those reports are useful for finding weak placements or product pairings. A holdout answers the harder question: did the recommendation system change the outcome compared with showing no Affina recommendations at all?
That is the standard worth using before treating personalization as a store improvement.
Keep privacy in the design
Anonymous session signals and customer-level data are different things.
A product page viewed during a visit can help choose the next product to show. Customer history can be more sensitive and needs appropriate privacy handling.
Shopify provides a browser-based Customer Privacy API for checking data-processing permissions and for building cookie consent experiences. If a recommendation setup uses customer-level data, make sure its data use matches the permissions you collect and the privacy choices you offer shoppers.
The goal is not to collect every possible signal. It is to use the smallest useful set.
The answer
Do not wait for customer data.
Show recommendations to anonymous visitors using the product, the catalogue, the page, and the session. Use known customer data later to make those recommendations more individual.
Before Affina launches, review the recommendations your store already returns for a few key products. You will quickly see where product knowledge is strong, where session context could help, and where a recommendation needs a better test.