> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chatfeatured.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Analytics with Webflow

> Track AI bot activity on a Webflow-hosted site using Cloudflare Workers and Orange-to-Orange (O2O)

This guide explains how to set up [Agent Analytics](/using-chatfeatured/agent-analytics) on a website hosted with Webflow.

**Status:** Available | **Complexity:** Advanced | **Setup time:** 30-60 minutes (plus DNS propagation)

## The challenge with Webflow

ChatFeatured tracks AI crawler traffic using a [Cloudflare Worker](/integrations/cloudflare) that runs at the edge on your domain's Cloudflare zone. The Worker captures requests from AI bots (GPTBot, ClaudeBot, PerplexityBot, etc.) before they reach your origin.

Webflow doesn't give you direct access to the Cloudflare zone that serves your site, so you can't deploy a Worker on it. The solution is to put **your own** Cloudflare account in front of Webflow.

Because Webflow itself runs on Cloudflare, you also need to enable a feature called **Orange-to-Orange (O2O)**. O2O lets traffic flow through your Cloudflare zone first—where your Worker runs—before continuing on to Webflow's Cloudflare-backed hosting.

<Info>
  "Orange-to-Orange" refers to the orange cloud (proxy enabled) icon in Cloudflare DNS. O2O is required whenever one Cloudflare zone proxies traffic to another Cloudflare-hosted platform like Webflow. See Webflow's guide: [Using Cloudflare Orange-to-Orange (O2O) with Webflow](https://help.webflow.com/hc/en-us/articles/45039458051347-Using-Cloudflare-Orange-to-Orange-O2O-with-Webflow).
</Info>

## How it works

Once configured, requests to your site flow like this:

1. **Visitor or AI bot** requests a page on your domain
2. **Your Cloudflare zone** receives the request first (your nameservers point here)
3. **The ChatFeatured Worker** runs at the edge and logs the request asynchronously
4. **O2O forwards the request** to Webflow, which serves your site
5. **Bot activity** appears in your Agent Analytics dashboard

This adds zero latency to page loads—the Worker logs requests without blocking them.

## Prerequisites

Before you begin, you'll need:

* A custom domain (e.g., `yourdomain.com`)
* A [Cloudflare account](https://dash.cloudflare.com) (the free zone plan works)
* A paid Webflow Site plan with a custom domain
* A ChatFeatured account with Agent Analytics enabled
* Access to your domain registrar to update nameservers

<Warning>
  If your domain currently points to Webflow directly (using Webflow's A records or `proxy-ssl.webflow.com`), you'll be changing how DNS is managed. Plan this during a low-traffic window, since nameserver changes can take up to 48 hours to fully propagate.
</Warning>

## Setup overview

There are three high-level stages:

1. Move DNS management to your own Cloudflare account and point it at Webflow
2. Enable Orange-to-Orange (O2O) so traffic routes through your Cloudflare zone first
3. Deploy the ChatFeatured Cloudflare Worker for Agent Analytics

***

## Step 1: Manage your DNS in Cloudflare and point it to Webflow

First, bring your domain into your own Cloudflare account so you control the zone that the Worker will run on.

1. In the [Cloudflare dashboard](https://dash.cloudflare.com), click **Add a domain** (or **Onboard a domain**)
2. Enter your root (apex) domain (e.g., `yourdomain.com`) and complete the setup steps
3. Update your domain's **nameservers** at your registrar to the ones Cloudflare provides
4. Wait for the nameservers to propagate before continuing

<Tip>
  You can confirm propagation with a free DNS checker like [whatsmydns.net](https://whatsmydns.net): enter your domain, choose **NS** from the dropdown, and search. Wait until all locations show your new Cloudflare nameservers.
</Tip>

***

## Step 2: Configure O2O with Webflow

With your domain in Cloudflare, configure the proxied DNS records that enable O2O, then connect the domain in Webflow.

### Create proxied CNAME records in Cloudflare

In your domain's **DNS** settings in Cloudflare, create a **proxied** (orange cloud) `CNAME` record for each version of your domain:

| Type  | Name  | Target            | Proxy status           |
| ----- | ----- | ----------------- | ---------------------- |
| CNAME | `@`   | `cdn.webflow.com` | Proxied (orange cloud) |
| CNAME | `www` | `cdn.webflow.com` | Proxied (orange cloud) |

Most sites use both the root domain (`@`) and the `www` subdomain. If you use additional subdomains (e.g., `blog.yourdomain.com`), add a proxied record for each one.

<Warning>
  The proxy (orange cloud) **must** be enabled for O2O to work. If you leave records on "DNS only" (grey cloud), the Worker won't run on that traffic. If you see a **525 Handshake Error** on standard Webflow hosting, that indicates a proxy mismatch—follow Webflow's [O2O setup](https://help.webflow.com/hc/en-us/articles/45039458051347-Using-Cloudflare-Orange-to-Orange-O2O-with-Webflow) rather than disabling the proxy.
</Warning>

### Connect and publish your domain in Webflow

1. In Webflow, go to **Site settings → Publishing → Production**
2. **Quick connect** your custom domain (recommended), or connect it manually
3. Click **Verify domain** to confirm the connection
4. Set a default domain and **publish** your site

<Info>
  After enabling the Cloudflare proxy, Webflow may still show "Update needed" under **Publishing → Production**. This is expected—the proxy hides your DNS records from Webflow's verification check. If your site loads correctly, no action is needed.
</Info>

<Tip>
  If your domain uses CAA records, make sure they allow **Let's Encrypt** and **Google Trust Services** so Webflow can provision SSL. If your zone uses Cloudflare's **Zone Hold** feature, release it until SSL is issued, then re-enable it.
</Tip>

***

## Step 3: Set up the ChatFeatured Cloudflare Worker

Now that traffic routes through your Cloudflare zone, deploy the Agent Analytics Worker on it.

1. Create an API key in ChatFeatured under **Agent Analytics → Settings**
2. Create and deploy the ChatFeatured Worker in your Cloudflare account
3. Configure the `ANALYTICS_ENDPOINT` and `ANALYTICS_KEY` environment variables
4. Add a Worker Route (e.g., `*yourdomain.com/*`) so the Worker runs on all pages

Follow the full [Cloudflare Integration](/integrations/cloudflare) guide for the Worker code, environment variables, and route configuration.

<Tip>
  Because you've enabled O2O, the Worker Route you add in this step now applies to all traffic to your Webflow site—including AI crawlers.
</Tip>

***

## Verify your setup

1. Visit a few pages on your live site in a browser to confirm it loads correctly through Cloudflare
2. Check your Worker's **Real-time Logs** in Cloudflare for incoming requests
3. Open the Agent Analytics dashboard in ChatFeatured—AI crawler activity should appear within a few minutes

Once data is flowing, you'll be able to track AI search citations across your Webflow site.

***

## Troubleshooting

<Accordion title="525 Handshake Error">
  The Cloudflare proxy (orange cloud) is enabled but O2O isn't fully configured. Make sure your `CNAME` records target `cdn.webflow.com` and that you've connected and verified the domain in Webflow. See Webflow's [O2O guide](https://help.webflow.com/hc/en-us/articles/45039458051347-Using-Cloudflare-Orange-to-Orange-O2O-with-Webflow).
</Accordion>

<Accordion title="Webflow can't verify the domain">
  If your domain was previously hosted on another Cloudflare-backed platform (Shopify, WP Engine, etc.), remove it from that platform first. Wait at least 5 minutes before re-verifying in Webflow.
</Accordion>

<Accordion title="No data in the Agent Analytics dashboard">
  1. Confirm the DNS records are **Proxied** (orange cloud), not DNS only
  2. Verify the Worker Route covers your domain (e.g., `*yourdomain.com/*`)
  3. Check that `ANALYTICS_ENDPOINT` and `ANALYTICS_KEY` are set on the Worker
  4. Review the Worker's Real-time Logs for errors

  See the [Cloudflare Integration troubleshooting](/integrations/cloudflare#troubleshooting) section for more.
</Accordion>

<Accordion title="Site won't go live / SSL fails">
  Check that your CAA records allow Let's Encrypt and Google Trust Services, and release any Cloudflare **Zone Hold** until SSL provisioning completes.
</Accordion>

***

## See Also

* [Cloudflare Integration](/integrations/cloudflare) — Full Worker setup and code
* [Setting up Agent Analytics](/using-chatfeatured/agent-analytics) — Understanding your data
* [Webflow Integration](/integrations/webflow) — Publishing articles to your Webflow CMS
