← PortfolioShare of VoiceDetail
Retail media
Retail media · real pages, read every morning

Which brands do beauty retailers' websites show first?

Each morning a job opens the home, fragrance and make-up pages of public beauty retailer sites, like a visitor would, and Gemini reads every banner, tile and product on the first three screens. A brand's share of voice is the space it holds, weighted by how far down it sits: what the shopper sees before scrolling counts most.

Waking the API and reading the captures…

How it works
  1. Capture. A Cloud Run job opens each page with Playwright at 6:00, Paris time, accepts the cookie banner and scrolls, like a visitor. It keeps the first three screens of a 1440 × 900 window.
  2. Respect. Only public pages, and only where the site's robots.txt and terms allow it. Protections are never worked around.
  3. Reading. One Gemini 3.5 Flash-Lite call per screen lists every placement with its brand, product, format, “Sponsored” label and box: about $0.0015 a screen, under the API's daily cap.
  4. Weight. A placement weighs its share of the screen, halved on each screen down. Share of voice = a brand's weight over the weight of every branded placement; the retailer's own offers with no brand are left out.
  5. Storage. Screens in Cloud Storage for 30 days, placements in BigQuery by free load jobs. The same chain also runs as an Agent Platform Pipelines graph, capture → detect → load.