Before you start
- A paid plan that includes AI Traffic, and project management permission. See Set up AI Traffic.
- A Cloudflare zone serving the hostname you want to measure.
Create a read-only API token
- In the Cloudflare dashboard, go to My Profile → API Tokens → Create Token, then Create Custom Token.
-
Configure the token:
Nothing else is needed. Do not grant edit permissions — DevTune only reads.
- Copy the Zone ID for that zone. It is on the zone’s Overview page in Cloudflare, in the API panel on the right.
Add the source
In Settings › Integrations, open Cloudflare under Crawler sensors:- Under Cloudflare source, paste the Zone ID and the API token.
- Give the source a Label so you can recognize it later, such as
example.com zone. If you leave it blank, DevTune names it after the zone ID. - Select Save source.
Add a hostname
Once a source is saved, the Hostname section appears:- Select the Tracked domain this connection reports into. Only domains already tracked on the project appear here — add the domain in Settings first if it is missing.
- Check the Cloudflare hostname. DevTune prefills the tracked domain’s hostname; change it if the traffic you want arrives on a different hostname in the same zone, such as
docs.example.com. - Select Add hostname.
example.com and docs.example.com needs two.
What happens next
The sync runs hourly, on the hour. The most recent minutes wait for the next sync, because Cloudflare has not finished counting them. The first sync reaches back up to 30 days, limited to the history the zone’s Cloudflare plan keeps, so a new connection arrives with last month’s crawls already in it. If an older day has more traffic than Cloudflare returns in one read, the backfill stops there instead of recording partial counts. Changing a connection’s hostname, path prefix or source restarts it from the previous 24 hours. Because Cloudflare reports the real edge status for everything it proxies, missing pages reach 404 Demand with no extra work on your side.Check Cloudflare is working
- Wait for the next hourly sync. Until it runs, the hostname reads Waiting for first sync.
- In Settings › Integrations, reload the page. The Cloudflare row reads Active, with Last synced and the time of the sync.
- Open Insights › AI Traffic and select Crawls & fetches. The first sync’s backfill appears here, so a hostname that AI crawlers already visit shows data straight away.
If Cloudflare stops syncing
When Cloudflare rejects the token, the source reports Cloudflare needs reconnecting and syncing pauses for every hostname using it. Select Update API token on that message and save a replacement. Syncing resumes on the next hourly run. For any other failure, the sensor reports Cloudflare sync needs attention. Update the connection if the issue persists. Check, in order:- The token still carries Zone → Analytics → Read for that zone.
- The zone ID matches the zone that serves the hostname.
- The hostname is still orange-cloud proxied.
- The connection is enabled rather than disabled.
Managing and removing a connection
Each connection row carries its own controls:- Disable stops the hourly pull and keeps the connection and its history. Enable resumes it.
- Delete removes the connection, and removes the stored credential when no other hostname is using that source.
- To change the hostname on an existing connection, select its tracked domain under Hostname, edit the field, and select Update hostname.
- To rotate the API token, select Add source, re-enter the same Zone ID with the new token, and save. DevTune replaces the stored credential and reactivates every hostname on that source.
Next steps
- Set up AI Traffic - connect website analytics, Search Console and the tracking snippet
- Reading AI Traffic - what each view counts
- Crawler identity checks - what each verdict means