Vercel setup for server-side tracking

Most AI crawlers -- including GPTBot, ClaudeBot, CCBot, anthropic-ai, Google-Extended, and PerplexityBot -- fetch only the HTML of your pages. They don't load images or run JavaScript, which means the Cleotic tracking pixel can't see them.

Vercel Log Drains give Cleotic a feed of your site's server-side request logs, so eligible production HTML pageviews can be checked for AI crawler and AI-referral signals. This is the Vercel setup path for Cleotic server-side tracking.

What you'll need

  • A Vercel project with your website deployed on it
  • Owner or Admin role on the Vercel team/account (log drains are team-level)
  • A Cleotic account with a project and at least one tracking site configured for the domain you want to track

Step 1 -- Copy the endpoint URL from Cleotic

  1. In Cleotic, open your project and go to Project Settings -> Tracking setup
  2. Find your tracking site in the list and click Setup
  3. Choose Vercel in the setup modal if it is not already selected
  4. Copy the Vercel Log Drain endpoint URL -- it looks like: https://t.cleotic.ai/aB3cD4eF5gH6/vercel

Keep Cleotic open -- you will come back in Step 3.

Step 2 -- Create the log drain in Vercel

  1. Go to vercel.com and sign in
  2. Click your account/team avatar, then Account Settings (or Team Settings for a team project)
  3. In the left sidebar, select Integrations, then Log Drains
  4. Click Create Log Drain
  5. Fill in the form:
    • Delivery Format: JSON or NDJSON
    • Sources: Select the sources that include production page requests for your app. Cleotic filters out assets, APIs, redirects, firewall events, and external rewrites.
    • Environments: Production
    • Projects: Select only the Vercel project serving the domain you're tracking
    • Endpoint: Paste your Endpoint URL from Step 1
  6. Click Create

Vercel will verify the endpoint and create the drain.

Step 3 -- Copy the signature secret to Cleotic

Vercel generates a signature secret for each log drain. Cleotic needs this to verify that incoming payloads are genuinely from Vercel.

  1. In Vercel's Log Drains list, click Edit on the drain you just created
  2. Find the Signature Secret and copy it
  3. Back in Cleotic, in the tracking site's Setup modal, paste the secret into the Paste Vercel signature secret field
  4. Click Save

The badge should update to Configured.

Step 4 -- Verify it's working

Vercel side: Your new drain should show a green status in the Log Drains list. If you see "Failed Delivery Rate" > 0%, see the troubleshooting section below.

Cleotic side: AI crawlers and AI referrals visit sporadically -- it can take anywhere from a few minutes to a few hours to see your first hit. In Sources -> AI traffic:

  • The AI share total will count eligible production HTML pageviews
  • The bar chart will show entries with crawlers like GPTBot, ClaudeBot, and CCBot

Quick test: You can force an immediate test by visiting your site with a crawler user agent:

curl -A "Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)" \
  https://your-domain.com/any-page

That request should appear in Sources within about 30 seconds.

Troubleshooting

Open a failed delivery in Vercel to see the response code:

CodeMeaningFix
401 drain secret not configuredNo secret saved in CleoticComplete Step 3 to paste the Vercel signature secret
401 invalid signatureSecret doesn't matchRe-copy the secret from Vercel and paste into Cleotic
404 tracking site not foundWrong drain URL or deleted tracking siteVerify the URL matches what the Cleotic Setup modal shows
413 request entity too largeVery rare -- oversized batchContact support@cleotic.ai

Technical details

Cleotic's drain endpoint:

  1. Verifies each batch's HMAC-SHA1 signature using the Vercel-provided secret
  2. Parses JSON or NDJSON log batches
  3. Keeps eligible production HTML pageview events for your tracking site's domain
  4. Checks user agents against a list of ~140 known AI crawlers (sourced from ai-robots-txt, refreshed periodically)
  5. Checks referrers and recognised utm_source values for AI-chatbot referrals
  6. Records the pageview with AI crawler/referral flags, using Vercel event IDs to dedupe retries when present

Eligible production pageview events are stored with AI crawler and referral flags. Static assets, API calls, framework internals, redirects, preview traffic, and failed requests are filtered out.

Limits

  • Volume: Each batch is capped at 8 MB (roughly 10,000-20,000 log entries). Contact support if you see 413 responses.
  • Data retention: source tracking history depends on your plan. Check the public Pricing page or Settings → Plan & Usage for the current retention story.
  • Historical data: Log drains only capture future traffic. There's no way to backfill data from before setup.
  • Preview deployments: If you include Preview environments, those visits mix into your stats. Most users leave this off.