How to Track and Optimize AEO With Netlify: Salespeak LLM Analytics Setup


AI crawling grew 15x in 2025. Cloudflare Radar pegged 66% of all internet traffic as bots that same year. Your Netlify site isn't immune to this — but your analytics dashboard is completely blind to it.
Google Analytics runs client-side JavaScript. AI crawlers don't execute JavaScript. When ChatGPT-User, ClaudeBot, or PerplexityBot hits your site, it makes a server request, pulls your content, and leaves. GA records nothing. You see zero AI visits. Meanwhile, your content is being ingested, summarized, and either cited or skipped by every major AI model.
70% of sites show under 2% AI traffic in their analytics. That number is wrong — it's an artifact of client-side tracking's blind spot. Server-side and edge-level detection reveals the real volume. If you're running on Netlify, Salespeak's LLM Analytics integration catches every AI visit using Netlify's native Edge Functions. No plugins. No external CDN. No server config.
Why Netlify Edge Functions are the right detection layer
Netlify Edge Functions are Deno-based functions that run at Netlify's edge network, the same infrastructure Netlify uses for its own edge processing. They intercept requests before your site responds, which makes them a natural fit for AI crawler detection.
Client-side tools miss AI crawlers entirely. Server-side approaches often require custom infrastructure: reverse proxies, Lambda functions, Lua modules. Edge Functions sit between these two extremes. They're application-level edge logic that deploys with your site. No separate infrastructure to provision. No new services to monitor.
Salespeak's Netlify integration uses a single Edge Function to handle everything:
- Detect AI agents automatically: ChatGPT-User, GPTBot, Claude-User, Claude-Web, ClaudeBot, PerplexityBot, BingPreview, Google-Extended, and others, identified at the edge in milliseconds
- Track every AI visit to your Salespeak dashboard: which models visited, which pages they crawled, how often, and when
- Optionally inject AI-optimized content: if you've configured AEO-tuned pages in Salespeak, AI crawlers receive them automatically. If not, they get your original page unchanged.
- Zero impact on human visitors: regular users see your site exactly as usual. No changes to browsing experience, no added latency, no visual differences.
The Edge Function acts as a lightweight proxy layer. It routes AI crawler traffic through detection logic, logs analytics events to Salespeak, and passes everything else through untouched. Your static site, your Astro project, your Next.js-on-Netlify app — whatever you're running, it works the same way.
How the Edge Function proxy works
The architecture is deliberately simple. A single Netlify Edge Function handles the entire flow:
- Request arrives at Netlify's edge. Every visitor, human or AI, hits the edge network before your site responds.
- The Edge Function checks the user agent. It matches against a list of known AI crawler signatures: ChatGPT-User, ClaudeBot, PerplexityBot, GPTBot, BingPreview, Google-Extended, and others.
- If it's human, pass through. The request goes to your site normally. No latency added. No modifications.
- If it's an AI crawler, log and optionally optimize. The function logs the visit to your Salespeak dashboard (model name, page URL, timestamp). If you've configured optimized content for that URL, the crawler receives it. If not, it gets your original page.
The fallback behavior is critical. If Salespeak doesn't have optimized content for a page, or if anything goes wrong with the proxy, the Edge Function returns your original page. Your site always works. There's no failure mode where visitors — human or AI — see a broken page.
Caching: AI gets fresh content
AI responses bypass caching. The Edge Function returns Cache-Control: private, no-store, max-age=0 and Vary: User-Agent for AI traffic. Crawlers always receive your freshest optimized content. Human visitors continue using Netlify's standard CDN caching — nothing changes on their end.
Setup: managed by Salespeak
This is where the Netlify integration differs from Salespeak's self-service options. The setup is managed — Salespeak's team activates the feature and provides the Edge Function. Here's what that looks like:
Step 1: Contact Salespeak
Reach out to the Salespeak team to enable the Netlify integration for your account. They'll confirm your Netlify project details and prepare the Edge Function.
Step 2: Add the Edge function
Salespeak provides a pre-configured Edge Function tailored to your site. You add it to your Netlify project — it's a single file that plugs into Netlify's standard Edge Functions directory.
Step 3: Deploy
Deploy your site to Netlify as you normally would. Push to your deployment branch, Netlify builds, and the Edge Function goes live automatically. No environment variables to configure. No build settings to adjust.
Step 4: Start tracking
Salespeak immediately begins detecting AI crawler traffic. Data flows into your dashboard within minutes of deployment. You'll see which AI models are visiting, which pages they're crawling, and how often they return.
The managed approach means you don't need to configure API tokens, write detection logic, or maintain crawler signature lists. Salespeak handles the complexity. You add one file and deploy.
What you'll see in the dashboard
Once live, your Salespeak dashboard surfaces data that GA physically can't collect:
- AI crawler breakdown: which models visit your site (ChatGPT-User vs. ClaudeBot vs. PerplexityBot) with daily and weekly trends
- Page-level crawl data: which URLs get the most AI attention, and which are being ignored entirely
- Crawl frequency patterns: when AI models recrawl your pages, which ties directly to the AEO metrics that actually matter
- Optimization status: which pages have AEO-optimized content active, and which are still serving standard pages to AI visitors
This data answers questions your current stack can't. Is PerplexityBot crawling your docs but skipping your product pages? Did your latest deploy trigger a recrawl from GPTBot? How does your AI crawl volume compare week over week? You'll know.
How Netlify compares to other Salespeak integrations
Salespeak supports multiple hosting platforms. Each uses the platform's native edge/proxy capabilities. Here's how they compare:
- Cloudflare: Workers-based, self-service setup with an API token. Full guide here.
- Vercel: Next.js Middleware + Edge Route Handler. Self-service with a two-file boilerplate. Full guide here.
- WordPress: Plugin install, two-minute self-service setup.
- Nginx: Lua modules, self-service with config snippets.
- AWS CloudFront: Lambda@Edge, auto-deployed by Salespeak.
- Netlify: Edge Function, managed setup via the Salespeak team.
The Netlify integration is closest to the AWS CloudFront approach. Salespeak manages the deployment rather than handing you a self-service template. This keeps the setup simple for teams that don't want to debug edge function configs. You get the same detection and optimization capabilities regardless of which platform you're on.
Works with any Netlify project
Edge Functions aren't limited to a specific framework. The Salespeak integration works with:
- Static sites: HTML, Hugo, Jekyll, Eleventy
- Modern frameworks: Astro, SvelteKit, Remix on Netlify
- Next.js on Netlify: if you're running Next.js through Netlify's adapter instead of Vercel
- Any JAMstack project: the Edge Function operates at the network level, independent of your build output
If it deploys to Netlify, it works with Salespeak's Edge Function. The detection logic doesn't depend on your framework, your build tool, or your content structure.
Tracking is the starting point. Optimization is where it compounds.
Knowing that ClaudeBot visited your pricing page is useful. Knowing it visited and received content structured with clear definitions, entity-rich descriptions, and citable statements? That's where AEO compounds.
Publishers who blocked AI crawlers entirely saw a 23% average traffic decline. The opposite approach works better: welcome AI crawlers, give them structured content, and make your pages easy to cite. The Salespeak integration does this automatically when you've configured optimized content for your key pages.
Start with tracking. See which pages AI models actually visit. Then prioritize optimization for those pages first, structured for AI search and built around the kind of definitive statements that get cited in AI-generated answers.
One Edge Function. A standard Netlify deploy. That's the full distance between being blind to AI traffic and controlling what AI models see when they visit your site.




