Growth audit
Function of Beauty
functionofbeauty.com
Run 2 August 2026, today
What we measured
Four separate checks. There is no single overall score, because these measure different things and averaging them would hide which one needs work.
- Agent readability
- 40/100
- Tracking hygiene
- 65/100
- Landing page
- 82/100
- AI visibility
- 0/100
The headline
Function of Beauty's AI visibility score is 0/100, as none of the checked assistants (chatgpt, claude, gemini) mentioned the brand when asked about shampoos. This limits the brand's exposure in AI-driven recommendations.
What is costing you right now
- Function of Beauty was not named in any of the 12 answers from chatgpt, claude, and gemini. This means potential customers relying on AI assistants for product recommendations are not being directed to your products, reducing brand visibility and potential sales.
- No Product schema on your product pages means an agent has to guess your product details from page text rather than read them. This can lead to inaccuracies in how your products are presented by AI assistants.
- 14 products have an empty product_type, which means feed taxonomy falls back to guesswork downstream. This can lead to misclassification of products in AI and shopping platforms, affecting discoverability.
Fix this week
- Implement Product schema on your product pages to ensure AI agents can accurately read and present your product details.
- Update the product_type field for the 14 products currently without one to improve classification and discoverability in AI and shopping platforms.
How AI assistants see you
Checked chatgpt and claude and gemini across 12 answers. Not checked: perplexity.
- perplexity: not reached on this run
Function of Beauty was not mentioned by chatgpt, claude, or gemini in any of the 12 questions asked about shampoos. Competitors like Moroccanoil Moisture Repair Shampoo were recommended instead.
What we could not check
Our connection to the Meta Ad Library did not return usable data on this run, so we could not read live ads. This is a gap in our measurement, not a finding about your advertising.
Want this report in your inbox?
Optional. Everything above stays on screen either way, and the link below works forever.
Every check, in full
- 40/100
AI Readiness
Dex
1 of 12 schema types present, llms.txt present
- No Product schema on https://functionofbeauty.com/products/coily-hair-gentle-shampoo, so an agent has to guess your product details from page text rather than read them.
- No BreadcrumbList on https://functionofbeauty.com/products/coily-hair-gentle-shampoo, so agents cannot place the product in your site hierarchy.
- Organization schema is incomplete: Found as microdata, but JSON-LD is preferred for AI agents
Paste-ready fixes (11)
Product schema<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Product", "name": "Your Product Name", "description": "Product description here", "image": "https://yoursite.com/product-image.jpg", "brand": { "@type": "Brand", "name": "Your Brand" }, "offers": { "@type": "Offer", "price": "29.99", "priceCurrency": "USD", "availability": "https://schema.org/InStock", "url": "https://yoursite.com/product" } } </script>WebSite schema<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "name": "Your Site Name", "url": "https://yoursite.com", "potentialAction": { "@type": "SearchAction", "target": "https://yoursite.com/search?q={search_term_string}", "query-input": "required name=search_term_string" } } </script>BreadcrumbList schema<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://yoursite.com" }, { "@type": "ListItem", "position": 2, "name": "Products", "item": "https://yoursite.com/products" } ] } </script>FAQPage schema<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "Your question here?", "acceptedAnswer": { "@type": "Answer", "text": "Your answer here." } } ] } </script>Review schema<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Review", "reviewRating": { "@type": "Rating", "ratingValue": "5", "bestRating": "5" }, "author": { "@type": "Person", "name": "Customer Name" }, "reviewBody": "Review text here" } </script>AggregateRating schema<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Product", "name": "Product Name", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.5", "reviewCount": "127" } } </script>Offer schema<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Offer", "price": "29.99", "priceCurrency": "USD", "availability": "https://schema.org/InStock", "itemCondition": "https://schema.org/NewCondition" } </script>Brand schema<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Brand", "name": "Your Brand Name", "logo": "https://yoursite.com/brand-logo.png" } </script>LocalBusiness schema<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "LocalBusiness", "name": "Your Business", "address": { "@type": "PostalAddress", "streetAddress": "123 Main St", "addressLocality": "City", "addressRegion": "State", "postalCode": "12345" }, "telephone": "+1-555-555-5555" } </script>HowTo schema<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "HowTo", "name": "How to do something", "step": [ { "@type": "HowToStep", "name": "Step 1", "text": "Do this first" }, { "@type": "HowToStep", "name": "Step 2", "text": "Then do this" } ] } </script>Article schema<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Article Title", "author": { "@type": "Person", "name": "Author Name" }, "datePublished": "2024-01-01", "image": "https://yoursite.com/article-image.jpg" } </script> - 65/100
Tracking & Pixels
Dex
0 of 3 pixels visible in page source, 5 issues
This check reads static HTML only. A GTM container is present (GTM-5VDHCDS4, gtm-track). A consent platform is present (Osano). Server-side tagging signals are present (Shopify Web Pixels (sandboxed)). Any pixel not listed as detected may still be firing through one of those, so we have not scored it as missing.
- Meta Pixel not visible in static HTML
- Google Ads / GA4 not visible in static HTML
- TikTok Pixel not visible in static HTML
- Multiple GTM containers detected
- No tracking pixels detected on page
Catalogue
Parker
39 products, 199 variants, 34 collections
Listed price range 9 to 195.3, median 64.99 (store currency)
- Prices are published in USD (${{amount}}), which is the currency an agent will quote to a shopper.
- 14 products have an empty product_type. Feed taxonomy falls back to guesswork downstream.
- 3 products carry no tags, so collection and filter logic cannot reach them.
- 1 variants are titled as retired SKUs ("Old SKU" and similar) but are still in your public catalogue feed, where agents and comparison engines will read them.
- 82/100
Landing Page
Dex
2 h1, 2 calls to action, 1 trust signals
Our screenshot service was rate limited by the CDN in front of this site, so the visual pass did not run. This is a limit on our vendor's shared addresses, not a setting on your store, and it often clears on a later run. Every HTML-level finding below is unaffected.
- 2 <h1> elements. Multiple top-level headings dilute what the page is about.
- 1 of 15 images have no alt text.
- 28 external scripts. Each one is a blocking third-party dependency on first paint.
- The HTML document alone is 887kb before any assets load.
- Not measured
Live Ads
Maya
Our connection to the Meta Ad Library did not return usable data on this run, so we could not read live ads. This is a gap in our measurement, not a finding about your advertising.
- 0/100
AI Visibility
Maya
MeasuredChecked chatgpt and claude and gemini across 12 answers. Not checked: perplexity.
- perplexity: not reached on this run
The 4 questions we asked
- “What are the best shampoos?”
- “Best shampoos for thin hair”
- “Best shampoos for thick hair”
- “Best shampoos under $25”
These questions came from your catalogue but it carried few descriptive signals, so they are broader than ideal.
Also recommended: Sulfate-free, Contains, Adds, Great, Moroccanoil Moisture Repair Shampoo, Works
- Function of Beauty was not named in any of the 12 answers from 3 assistants. We asked "What are the best shampoos?", "Best shampoos for thin hair", "Best shampoos for thick hair", "Best shampoos under $25".
- The assistants named these instead: Sulfate-free, Contains, Adds, Great, Moroccanoil Moisture Repair Shampoo.
- perplexity could not be queried on this run, so it is excluded from the measurement rather than counted as a miss.
Agent Access
Dex
- On https://functionofbeauty.com/products/coily-hair-gentle-shampoo, title, availability, product_schema are not present in the page's HTML before any JavaScript runs. Most AI crawlers do not execute JavaScript, so an assistant reading this page does not get that detail.
This report contains no revenue forecast, no spend recommendation and no dollar projection.
6 of 7 checks completed in 16.2s, served from a cached run.