# Q02 SERP capture — Google Shopping - **Conversational query (for ChatGPT):** Best face sunscreen for daily use - **Fanout string used for this SERP:** `best face sunscreen for daily use` - **Surface:** google.com/search?q=...&udm=28 - **Captured:** 2026-09-02 12:24 America/New_York, automated session, logged out - **Location personalization:** present (page shows 'Nearby' / 'Also nearby') - **Method:** scrolled to bottom to trigger lazy load, full body text (no cap), organic products counted from the `All products` section only, bounded by `More results`. ## Headline — RETRACTED An earlier version of this file claimed the organic grid was "exactly 40 products" and treated the match with Peec's "top 40" as confirmation. **Wrong.** **40 is the initial page size, not the grid size.** The grid paginates behind a "More results" control. Measured 2026-09-02: 40 on first load, and clicking through reached **229 products with More results still available**. Page height went 5,384px to 20,182px. My logged-in session showed 160, which was simply how far his had loaded. This is lesson 17 in the project doc — round-number aggregates are suspicious because pagination silently truncates. I matched a round number to a published claim and read it as evidence. It was a page boundary. ## The consequence: the denominator is now the study's most important decision There is **no natural "top 40" boundary in the UI.** Peec's "top 40 organic products" is a cut *they chose*, not a property of the page. That is defensible, but it must be described as a choice. It also exposes a weakness in the claim worth examining. ChatGPT names roughly 5 products for a query like this. "100% of them appear in the top 40 organic results" sounds strong — but finding 5 items inside a 40-item list is a much weaker result than the phrasing implies, and against the full 229+ grid it would be close to meaningless. **So the study must state its denominator explicitly and defend it.** Options, strongest first: - **Top 10 organic** — a genuinely tight test. If ChatGPT's picks land here, that is a real finding. - **Top 40 (first page)** — matches Peec, enables direct comparison, weaker as evidence. - **Full expanded grid** — near-guaranteed overlap, proves almost nothing. Do not use. Report overlap at all three depths. The shape of the curve is more honest than any single number, and showing that the "100%" claim decays as the denominator tightens is itself the finding. ## Organic 'All products' grid, in page order | # | Product | Price | |---|---|---| | 1 | CeraVe Invisible Mineral Sunscreen SPF 50 Face | $13.97 | | 2 | innisfree Daily UV Defense Invisible Korean Sunscreen Lotion | $18.00 | | 3 | Neutrogena Ultra Sheer Face Invisible Gel Sunscreen SPF 40 | $11.29 | | 4 | Blue Lizard Sensitive Mineral Sunscreen SPF 50+ | $11.49 | | 5 | La Roche Posay Anthelios Clear Skin Dry Touch Sunscreen SPF 60 | $20.99 | | 6 | Kiehl's Better Screen UV Serum | $16.50 | | 7 | Tatcha The Milky Sunscreen SPF 50+ | $22.00 | | 8 | Beauty Of Joseon Day Dew Sunscreen Lightweight Spf 50 | $18.00 | | 9 | SkinCeuticals Physical Fusion UV Defense SPF 50 | $45.00 | | 10 | CeraVe Hydrating Mineral Sunscreen SPF Face Lotion | $17.49 | | 11 | Neutrogena Clear Face Sunscreen Lotion SPF 50 | $12.49 | | 12 | Colorescience Total Protection No-Show Mineral Sunscreen SPF 50 | $48.00 | | 13 | ISDIN Eryfotona Ageless Tinted SPF 50 | $50.00 | | 14 | La Roche Posay Anthelios UV Hydra Daily Invisible Sunscreen SPF 50 | $39.97 | | 15 | EltaMD UV Clear Blemish-Prone & Oil Balancing SPF 50 | $36.75 | | 16 | Tower 28 Beauty SOS FaceGuard SPF 30 Mineral Sunscreen | $32.00 | | 17 | BYOMA Ultra-Lightweight Face Fluid SPF | $19.99 | | 18 | Neutrogena Ultra Sheer Moisturizing Face Sunscreen Serum SPF 60+ | $17.49 | | 19 | Good Weather Skin The One Daily Sun Cream SPF 30 | $48.00 | | 20 | Kopari Sun Veil Illuminating Elixir Face Sunscreen SPF 38 | $38.00 | | 21 | Neutrogena Hydro Boost SPF 50 Hyaluronic Acid Moisturizer | $19.97 | | 22 | Dr. Jart+ Every Sun Day Mineral Korean Sunscreen SPF 50+ | $40.00 | | 23 | Kiehl's Super Fluid Daily UV Defense SPF 50+ | $59.25 | | 24 | Sun Bum SPF 50 Face Lotion Sunscreen | $15.99 | | 25 | Supergoop! Unseen Sunscreen SPF 50 | $19.00 | | 26 | Eucerin Age Defense Face Sunscreen Lotion SPF 50 | $19.99 | | 27 | Sofie Pavitt Face Screentime Non-Comedogenic Hydrating Sunscreen | $38.00 | | 28 | Tatcha The Silk Sunscreen SPF 50 | $64.00 | | 29 | Neutrogena Invisible Daily Defense Face Serum Sunscreen SPF 60 | $16.99 | | 30 | Neutrogena Clear Face Liquid Lotion Sunscreen SPF | $12.49 | | 31 | Kopari Sun Veil Illuminating Sunscreen SPF 30 | $48.00 | | 32 | RMS Beauty SuperNatural Radiance Serum SPF 30 Sunscreen | $49.00 | | 33 | EADEM Sunsuede SPF 50+ Lightweight Sunscreen & Blurring Primer Stick | $32.00 | | 34 | Neutrogena Ultra Sheer Dry Touch SPF Sunscreen | $10.39 | | 35 | Colorescience Sunforgettable Total Protection Face Shield Flex SPF 50 | $58.00 | | 36 | Black Girl Sunscreen SPF 30 | $17.99 | | 37 | SkinCeuticals Clear Daily Soothing UV Defense SPF 50 | $54.00 | | 38 | Then I Met You Essence Light Sunscreen Broad Spectrum SPF 50 | $36.00 | | 39 | Versed Good Defense Daily Sunscreen SPF 50 | $19.99 | | 40 | Supergoop! Glowscreen SPF 40 | $19.00 | ## Brand concentration in the organic 40 | Brand | Appearances | |---|---| | Neutrogena | 7 | | CeraVe | 2 | | La Roche Posay | 2 | | Kiehl's | 2 | | Tatcha | 2 | | SkinCeuticals | 2 | | Colorescience | 2 | | Kopari | 2 | | Supergoop! | 2 | | _(20 brands appearing once)_ | 1 | - Distinct brands in the organic 40: **26** - Price range: $10.39 to $64.00 - Ordering is NOT price-ascending here ($13.97, $18.00, $11.29, $11.49, $20.99...). The cheap-first pattern seen in Q01 does not hold. Do not generalise from one query. ## Sponsored block — CAVEAT, not clean The sponsored extraction ran from the `Sponsored Products` heading to the `All products` heading, which swept in the curated carousels sitting between them. The tail of that list duplicates organic entries (Black Girl Sunscreen, Supergoop! Unseen, Neutrogena Clear Face), which are curated-module items, not ads. **Treat the sponsored list for Q02 as contaminated.** Advertiser concentration was visibly heavy on Supergoop!, DRMTLGY, CeraVe, Shiseido and La Roche-Posay, but exact counts need a cleaner boundary before being quoted. ## To spot-check Open `https://www.google.com/search?q=best+face+sunscreen+for+daily+use&udm=28`, scroll to the bottom, find the `All products` heading, and confirm the grid holds ~40 items with CeraVe Invisible Mineral SPF 50 at or near the top. Ordering will differ if you are logged in. --- ## Spot-check against my own captures (2026-09-02) I captured the same query in a normal browser, logged in and logged out. ### Method validated **The automated logged-out capture matches I's logged-out session on the sponsored block.** Same products, same prices: Supergoop! Unseen $30.40, Shiseido Ultimate $20.80, DRMTLGY Broad Spectrum $28.00, Supergoop! PLAY $46.40, La Roche-Posay Toleriane $12.49, Supergoop! Unseen $15.20, Dermalogica Dynamic $87.00, Clinique NEW UV Solutions $39.00. The automated session is representative of a logged-out user. Queries 3-10 can proceed. ### New finding: the organic SET is stable, the ORDER is not Opening entries of `All products`, three sessions, same moment: | # | Automated (logged out) | Mine, logged out | Mine, logged in | |---|---|---|---| | 1 | CeraVe Invisible Mineral | CeraVe Invisible Mineral | CeraVe Invisible Mineral | | 2 | innisfree Daily UV | innisfree Daily UV | Neutrogena Ultra Sheer | | 3 | Neutrogena Ultra Sheer | Blue Lizard Sensitive | innisfree Daily UV | | 4 | Blue Lizard Sensitive | Neutrogena Ultra Sheer | Blue Lizard Sensitive | | 5 | La Roche Posay Anthelios | Kiehl's Better Screen | La Roche Posay Anthelios | Membership overlaps almost completely. Position does not — **and it differs between two logged-out sessions**, not just between logged-in and logged-out. **Methodological consequence: set membership is the robust measure; rank is noisy.** Report overlap with ChatGPT's picks on membership. If rank is reported at all, report it as a distribution across runs, never as a single ordering. This also means any competitor claiming a precise "position" in Google Shopping is over-reading their data. ### Personalization confirmed on two more surfaces - **Curated carousel titles are identical across sessions; their contents are not.** "Best Overall Sunscreens for Daily Use" logged-in led with La Roche-Posay Anthelios; logged-out led with Colorescience. Same shelf label, different shelf. - **"Brand picks for you" appears only when logged in.** Logged out, that slot is "Deals on Face Sunscreen". ### The sharpest observation from this query Google runs a curated module literally titled **"Best Overall Sunscreens for Daily Use"** — answering the exact query in Google's own editorial voice, above the organic grid, with contents that change per viewer. That is a popularity artifact wearing an expertise costume, sitting one layer *below* the AI that will summarize it. Stronger than the "Dermatologist-Recommended" example from Q01 because the module title mirrors the user's question word for word.