Analytics
Tek bir isim altında altı ayrı ürün: Web Analytics, zone/account panelleri, GraphQL API, Analytics Engine, Network Analytics ve Log Explorer. Hangisini kullandığını bilmeden rakamların neden tutmadığını anlayamazsın.
- DurumGenel kullanımda
- FiyatWeb Analytics ve panel analitiği ücretsiz; Analytics Engine kullanım bazlı; Network Analytics Enterprise
- Ücretsiz katmanvar
- Doğrulama
Analytics nedir?
Nasıl çalışır?
Web Analytics — tarayıcıda ölçen, çerezsiz katman
“Get vital web analytics for your website without compromising user privacy.”
“provides free, privacy-first analytics for your website without changing your DNS or using Cloudflare’s proxy.”
“Cloudflare Web Analytics does not collect or use your visitors’ personal data.”
Yani proxy’li olmayan, hatta Cloudflare’de bile olmayan bir siteyi ölçebiliyorsun. Tüm planlarda ücretsiz.
Beacon:
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js"
data-cf-beacon='{"token": "SITE_TOKEN"}'></script>
POST hedefi proxy’liysen https://<alanadin>/cdn-cgi/rum, değilse
https://cloudflareinsights.com/cdn-cgi/rum.
Google Tag Manager varyantı ?token=SITE_TOKEN şeklinde. SPA davranışını kapatmak (yalnızca elle
gömmede): data-cf-beacon='{"token": "…", "spa": false}'.
Core Web Vitals ne zaman gönderiliyor: “when the visibilityState is hidden for the first time
after the page load event.”
Tanımlar — bunlar tam olarak ne sayıyor:
“Visits — A page view that originated from a different website or direct link. Cloudflare checks where the HTTP referer does not match the hostname. One visit can consist of multiple page views.”
“Page views — A successful HTTP response with a content-type of HTML.”
Core Web Vitals yalnızca LCP, INP, CLS. CLS yalnızca Chromium tabanlı tarayıcılarda.
Örnekleme ve saklama:
“We retain unsampled beacon data for the past 7 days, after this point data is aggregated down to around 10%.”
“a level of sampling (between 0.0001% and 100%) will be dynamically selected”
“you can access data for the previous six months.”
Limitler: proxy’siz site 10 (yumuşak sınır) · proxy’li site sınırsız · panelde toplu görünüm 1.000 site · kural sayısı Free 0, Pro 5, Business 20, Enterprise 100. Ücretsiz planda zone metrikleri “delayed 24 hours”.
Zone analytics — edge’de ölçen, engellenemeyen katman
Ve edge ölçümünün asıl avantajı:
“Cloudflare’s edge analytics cannot be blocked because we can measure every request that is received.”
GraphQL Analytics API — altındaki programatik katman
“Provides all of your performance, security, and reliability data from one endpoint.”
Uç: https://api.cloudflare.com/client/v4/graphql. Kimlik doğrulama:
Authorization: Bearer <token> (önerilen).
İki düğüm ailesi:
| Aile | Ne veriyor | Ne zaman |
|---|---|---|
…Adaptive | tekil örneklenmiş olaylar, satır seviyesi, her biri sampleInterval ile | tekil olayları incelerken |
…AdaptiveGroups | ön toplanmış gruplar: count, sum, avg, quantile’lar + dimension’lar | panolar için bu |
httpRequests1mGroups / 1hGroups / 1dGroups | sabit rollup — örneklenmemiş ama esnek değil | kesin sayı gerektiğinde |
Limitler: varsayılan 5 dakikada 300 sorgu · zone kapsamlı sorguda maks 10 zone · account kapsamlı sorguda 1 hesap · Enterprise’da hesap bazlı saniyede 15, zone bazlı saniyede 10.
Workers Analytics Engine
“Send unlimited-cardinality data from your Worker to a time-series database. Query it with SQL.”
| Limit | Değer |
|---|---|
| Veri noktası başına blob | 20 |
| Veri noktası başına double | 20 |
| Veri noktası başına index | 1 |
| Maks blob boyutu | 16 KB |
| Maks index boyutu | 96 bayt |
| Worker çağrısı başına veri noktası | 250 |
| Saklama | 3 ay |
// wrangler.jsonc
"analytics_engine_datasets": [{ "binding": "AE", "dataset": "olaylar" }]
env.AE.writeDataPoint({
blobs: ["checkout", "TR"],
doubles: [tutar, sureMs],
indexes: [musteriId] // yalnızca BİR index
});
SQL API: /accounts/{id}/analytics_engine/sql — burada da SUM(_sample_interval) ile
ağırlıklandırman gerekiyor.
Ne zaman kullanılır, ne zaman kullanılmaz
Kullanılır
- Çerezsiz, banner gerektirmeyen bir analitik istiyorsan — Web Analytics’in gizlilik duruşu belgelenmiş ve güçlü.
- Core Web Vitals’i gerçek kullanıcılardan ölçmek istiyorsan — RUM beacon tam bunun için.
- Engellenemeyen trafik sayımı istiyorsan — zone analytics edge’de ölçüyor.
- Kendi panonu kuracaksan — GraphQL API altındaki her şeye tek uçtan erişiyor.
- Kendi uygulama olaylarını yazacaksan — Analytics Engine sınırsız kardinalite veriyor.
Kullanılmaz
Custom event, funnel veya e-ticaret takibi gerekiyorsa. Web Analytics’te custom event yok (doküman “Not yet” diyor), custom dimension yok, kalıcı kullanıcı kimliği yok. Funnel ve e-ticaret dokümanlarda hiç geçmiyor.
UTM atıfı gerekiyorsa. Gerekçeli bir kısıt: “Currently, Cloudflare Web Analytics do not log query strings to avoid collecting potentially sensitive data.” Kampanya ölçümü yapamıyorsun.
Fatura mutabakatı veya adli kesinlik gerekiyorsa. GraphQL örnekleme yapıyor. Kesin sayı için
httpRequests1dGroups gibi örneklenmemiş rollup’lara ya da Log Explorer
ve Logpush’a gitmen gerekiyor.
Canlı bir pano backend’i kuracaksan. 5 dakikada 300 sorgu yetmiyor. Sonuçları önbellekle.
Dataset’ler arası join yapman gerekiyorsa. GraphQL API join desteklemiyor.
Sorgu başına 10’dan fazla zone gerekiyorsa. Limit sabit.
Ham log gerekiyorsa. GraphQL yalnızca toplulaştırma veriyor. Ham istek satırı için Log Explorer, Logpush veya Instant Logs.
Reklam engelleyici kullanan kitleyi eksiksiz saymak istiyorsan. Web Analytics beacon’ı engelleniyor; zone analytics’e geç.
Somut örnekler
Kendi saklama süreni keşfetmek
curl -sS https://api.cloudflare.com/client/v4/graphql \
-H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \
--data '{"query":"query {
viewer {
zones(filter:{zoneTag:\"'"$ZONE_TAG"'\"}) {
settings { notOlderThan maxDuration maxPageSize maxNumberOfFields }
}
}
}"}' | jq
notOlderThan saniye cinsinden — 2.592.000 ise 30 gün.
Ülkeye göre istekler, örnekleme düzeltmesiyle
curl -sS https://api.cloudflare.com/client/v4/graphql \
-H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \
--data '{"query":"
query($zone: String!, $bas: Time!, $bit: Time!) {
viewer { zones(filter:{zoneTag:$zone}) {
httpRequestsAdaptiveGroups(
filter:{ datetime_geq:$bas, datetime_leq:$bit }
limit: 20
orderBy: [count_DESC]
) {
count
sum { sampleInterval }
dimensions { clientCountryName }
}
}}}",
"variables":{"zone":"'"$ZONE_TAG"'",
"bas":"2026-08-31T00:00:00Z","bit":"2026-09-01T00:00:00Z"}}' \
| jq '.data.viewer.zones[0].httpRequestsAdaptiveGroups[]
| {ulke: .dimensions.clientCountryName,
ornekleme_sayisi: .count,
gercek_tahmin: .sum.sampleInterval}'
gercek_tahmin alanı gerçek istek sayısına yakın olan; ornekleme_sayisi değil.
Dataset keşfi (şema introspection)
curl -sS https://api.cloudflare.com/client/v4/graphql \
-H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \
--data '{"query":"{ __type(name:\"Zone\") { fields { name description } } }"}' \
| jq -r '.data.__type.fields[].name' | grep -i adaptive
Web Analytics beacon’ı ve CSP
<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js"
data-cf-beacon='{"token": "SITE_TOKEN"}'></script>
Content-Security-Policy:
script-src 'self' https://static.cloudflareinsights.com/beacon.min.js;
connect-src 'self' https://cloudflareinsights.com;
connect-src’de cloudflareinsights.com yalnızca elle gömdüysen gerekiyor; otomatik
enjeksiyonda POST /cdn-cgi/rum’a gittiği için 'self' yeterli.
Analytics Engine ile kendi olayın
export default {
async fetch(request, env) {
const bas = Date.now();
const yanit = await fetch(request);
env.AE.writeDataPoint({
blobs: [new URL(request.url).pathname, request.cf?.country ?? "XX"],
doubles: [Date.now() - bas, yanit.status],
indexes: [request.headers.get("cf-ray") ?? "yok"]
});
return yanit;
}
};
Demo 1: İki ölçümün neden tutmadığını kanıtlamak
Bu demonun değeri, sürekli sorulan bir sorunun cevabını deneysel olarak vermesi.
Adım 1 — Aynı sayfayı iki yöntemle de ölç
Siten proxy’liyse zone analytics zaten çalışıyor. Web Analytics’i de aç ve beacon’ın yüklendiğini doğrula:
curl -sS https://ornek.com.tr/ | grep -o 'beacon.min.js[^"]*'
Adım 2 — Kontrollü trafik üret
# 100 sayfa görüntüleme — curl JavaScript çalıştırmaz, yani beacon ATEŞLENMEZ
for i in $(seq 1 100); do curl -sS -o /dev/null https://ornek.com.tr/; done
Adım 3 — Gerçek tarayıcıdan gel
Aynı sayfayı normal bir tarayıcıda 10 kez aç.
Adım 4 — Reklam engelleyicili kontrol grubu
Brave ya da uBlock Origin açık bir tarayıcıda aynı sayfayı 10 kez aç.
Cloudflare bunu kabul ediyor: “Cloudflare is aware that the analytics beacon is blocked by these services.”
Adım 5 — İki paneli yan yana koy
Adım 6 — IP tabanlı sayımı göster
İki farklı ağdan (ofis Wi-Fi ve mobil veri) aynı sayfayı aç. Zone analytics bunları iki ayrı ziyaretçi olarak sayıyor.
Bu demoda ölçülenler:
| Ölçüt | Web Analytics | Zone analytics |
|---|---|---|
100 curl isteği | 0 | 100 |
| 10 tarayıcı ziyareti | 10 | 10 |
| 10 engelleyicili ziyaret | 0 | 10 |
| Ölçüm yeri | tarayıcı | edge |
| Benzersiz ziyaretçi tanımı | referer tabanlı visit | IP tabanlı |
| Engellenebiliyor mu | evet | hayır |
| Çerez / depolama | hiç | yok (edge) |
| Query string kaydı | yok (kasten) | — |
Demo 2: Saklama süreni keşfetmek ve örneklemeyi düzeltmek
Adım 1 — settings düğümünü sorgula
curl -sS https://api.cloudflare.com/client/v4/graphql \
-H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \
--data '{"query":"query {
viewer { zones(filter:{zoneTag:\"'"$ZONE_TAG"'\"}) {
settings { notOlderThan maxDuration maxPageSize maxNumberOfFields }
}}}"}' \
| jq '.data.viewer.zones[0].settings
| {gun: (.notOlderThan / 86400), maxSure: .maxDuration,
sayfaBoyutu: .maxPageSize, alanSayisi: .maxNumberOfFields}'
Adım 2 — Saklama sınırını deneyle doğrula
notOlderThan sınırının ötesinde bir tarih aralığı sor ve dönen hatayı yakala.
Adım 3 — Örneklemeyi ölç
curl -sS https://api.cloudflare.com/client/v4/graphql \
-H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \
--data '{"query":"
query($zone: String!, $bas: Time!, $bit: Time!) {
viewer { zones(filter:{zoneTag:$zone}) {
httpRequestsAdaptiveGroups(
filter:{ datetime_geq:$bas, datetime_leq:$bit }, limit: 1
) { count sum { sampleInterval } avg { sampleInterval } }
}}}",
"variables":{"zone":"'"$ZONE_TAG"'",
"bas":"2026-08-31T00:00:00Z","bit":"2026-09-01T00:00:00Z"}}' | jq
avg.sampleInterval 1’den büyükse örnekleme devrede. count’u olduğu gibi raporlarsan gerçek
trafiğin o kat kadar altını göstermiş olursun.
Adım 4 — Örneklenmemiş rollup ile karşılaştır
curl -sS https://api.cloudflare.com/client/v4/graphql \
-H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \
--data '{"query":"
query($zone: String!, $bas: Date!, $bit: Date!) {
viewer { zones(filter:{zoneTag:$zone}) {
httpRequests1dGroups(filter:{ date_geq:$bas, date_leq:$bit }, limit: 7) {
dimensions { date } sum { requests pageViews }
}
}}}",
"variables":{"zone":"'"$ZONE_TAG"'","bas":"2026-08-25","bit":"2026-08-31"}}' | jq
Adım 3’teki düzeltilmiş tahminle bu kesin rakamı karşılaştır — düzeltmenin ne kadar isabetli olduğunu görüyorsun.
Adım 5 — Dataset envanterini çıkar
curl -sS https://api.cloudflare.com/client/v4/graphql \
-H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \
--data '{"query":"{ __type(name:\"Zone\") { fields { name } } }"}' \
| jq -r '.data.__type.fields[].name' | sort | tee dataset-listesi.txt | wc -l
Adım 6 — RUM verisini GraphQL’den çek
curl -sS https://api.cloudflare.com/client/v4/graphql \
-H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \
--data '{"query":"
query($zone: String!, $bas: Time!, $bit: Time!) {
viewer { zones(filter:{zoneTag:$zone}) {
rumWebVitalsEventsAdaptiveGroups(
filter:{ datetime_geq:$bas, datetime_leq:$bit }, limit: 10
) { count dimensions { requestPath } }
}}}",
"variables":{"zone":"'"$ZONE_TAG"'",
"bas":"2026-08-31T00:00:00Z","bit":"2026-09-01T00:00:00Z"}}' | jq
“Web Analytics verisi dışa aktarılamaz” yaygın bir yanlış inanış — bu adım aksini gösteriyor.
Bu demoda ölçülenler:
| Ölçüt | Bulunan |
|---|---|
notOlderThan (gün) | kendi zone’undan ölç |
maxDuration | ölç |
maxPageSize | ölç |
avg.sampleInterval | 1 ise örnekleme yok; >1 ise düzeltme şart |
Adaptive count | örneklenmiş |
sum{sampleInterval} | gerçek sayıya yakın |
httpRequests1dGroups | örneklenmemiş kesin sayı |
| Erişilebilir dataset sayısı | introspection ile say |
| RUM dışa aktarımı | ✅ mümkün |
Fiyatlandırma
| Ürün | Fiyat |
|---|---|
| Web Analytics | Ücretsiz, tüm planlar |
| Zone / account analytics | Plana dahil (ücretsiz planda 24 saat gecikmeli) |
| GraphQL Analytics API | Plana dahil |
| Network Analytics | Enterprise + Magic Transit / Spectrum / BYOIP |
| Workers Analytics Engine | ↓ aşağıdaki tablo |
Workers Analytics Engine
| Plan | Yazma | Okuma sorgusu |
|---|---|---|
| Workers Free | günde 100.000 | günde 10.000 |
| Workers Paid | ayda 10 milyon, sonrası milyon başına $0,25 | ayda 1 milyon, sonrası milyon başına $1,00 |
Lisanslama ve hukuki çerçeve
Hizmet tescillidir ve Cloudflare Hizmet Şartları’na tabidir.
Web Analytics ve KVKK. Bu ürünün gizlilik duruşu belgelenmiş ve güçlü: tarayıcıda hiçbir veri saklanmıyor, çerez okunmuyor, IP en yakın veri merkezinde atılıyor ve query string hiç kaydedilmiyor. Çerez politikası ve açık rıza tartışmasında bunlar somut dayanaklar.
Ama iki uyarı:
- Cloudflare hiçbir yerde KVKK uyumluluğu iddia etmiyor. Değerlendirme veri sorumlusu olarak sizin.
- Zone analytics farklı bir kategoride. Orada benzersiz ziyaretçi IP tabanlı sayılıyor, yani IP adresi bir işleme faaliyetine konu oluyor. Web Analytics’in gizlilik argümanını zone analytics’e taşımayın.
Veri yerelliği. Analitik ve metadata verisinin Türkiye’de tutulmasını sağlayamıyorsunuz — Customer Metadata Boundary Türkiye’yi desteklemiyor. Regional Services trafiğin nerede deşifre edildiğini kontrol ediyor ama analitik depolamayı değil. Ayrıntı için CDN.
Analitiği kendi altyapınızda tutmanız gerekiyorsa yol GraphQL API ile düzenli çekip kendi deponuza yazmak, ya da Log Explorer yerine Logpush ile Türkiye’deki bir hedefe aktarmak.
Sık yapılan hatalar
Web Analytics ile zone analytics rakamlarının tutmasını beklemek. Farklı yerde, farklı şey ölçüyorlar.
Aynı sayfaya iki beacon koymak. Birebir: “you cannot have multiple snippets on the same page.”
Cache-Control: public, no-transform göndermek. Otomatik beacon enjeksiyonunu sessizce
engelliyor.
UTM atıfı beklemek. Query string kasten kaydedilmiyor.
Elle gömmede SRI kullanmaya çalışmak. “we do not support version-pinning our beacon script.”
Configuration Rules ile Web Analytics Rules’u birlikte kullanıp şaşırmak. Configuration Rules her zaman kazanıyor.
GraphQL’de limit alanını atlamak. Grup düğümlerinde zorunlu.
Düğümün granülerliğine uymayan tarih alanı kullanmak. datetime_geq ile date_geq karışıyor —
en yaygın hata.
count’u gerçek istek sayısı sanmak. sampleInterval ile düzelt.
Saklama penceresini kodda sabit yazmak. Plana ve dataset’e göre değişiyor; settings’ten oku.
Cloudflare’in kendi Zaraz GraphQL örneğini kopyalamak. İki hata var: küçük harf string ve
yanlış orderBy tipi.
Üçüncü taraf bloglardan alınan saklama tablosuna güvenmek. O tablo WAF’a ait, genel değil.
Analytics Engine’de birden fazla index koymaya çalışmak. Veri noktası başına yalnızca 1.
GraphQL’i canlı pano backend’i olarak kullanmak. 5 dakikada 300 sorgu; önbellekle.
Sıkça sorulan sorular
- Web Analytics ile panel analitiğinin rakamları neden tutmuyor?
- Farklı yerlerde ölçüyorlar ve farklı şeyler sayıyorlar. Web Analytics tarayıcıda bir JavaScript beacon ile ölçüyor — reklam engelleyiciler engelliyor. Zone analytics edge'de ölçüyor ve hiçbir şey engelleyemiyor. Üstelik zone analytics benzersiz ziyaretçiyi IP tabanlı sayıyor: “Once Cloudflare identifies a unique IP address for a request, we identify such request as a visit. Therefore, the number of visitors Cloudflare Analytics shows is probably higher than what other analytics services may report.” Tutmaları beklenmemeli.
- Web Analytics çerez kullanıyor mu? KVKK açısından durumu ne?
- Hiçbir tarayıcı depolaması kullanmıyor. Resmî ifade en güçlü alıntı: “The RUM beacon script does not store any data in the browser or access any storage data, such as cookies, localStorage, sessionStorage, IP address, or IndexedDB… it is only available as in-memory data.” Ve IP için: “the RUM service receives the client/source IP address… it discards the IP address at the nearest Cloudflare data center and does not store it in core databases or logs.” Çerez banner'ı gerektirmeyen bir analitik kurmak istiyorsan bu, elindeki en sağlam resmî dayanak. Yine de Cloudflare hiçbir yerde KVKK iddiası yapmıyor — değerlendirme sana ait.
- Web Analytics verisini dışa aktarabilir miyim?
- Evet — bu yaygın bir yanlış inanış. RUM verisi GraphQL ile sorgulanabiliyor:
rumWebVitalsEventsAdaptive,rumWebVitalsEventsAdaptiveGroups,rumPerformanceEventsAdaptiveGroups,rumPageloadEventsAdaptiveGroups. Not: sonuncusu için resmî çalışan örnek yok;countdışındaki alan adlarını yayımlamadan önce şemayı introspect et. - Custom event veya UTM takibi yapabilir miyim?
- Hayır. Custom event yok (doküman “Not yet” diyor), custom dimension yok, kalıcı kullanıcı kimliği yok. UTM için de gerekçeli bir kısıt var: “Currently, Cloudflare Web Analytics do not log query strings to avoid collecting potentially sensitive data.” Yani UTM atıfı yapamıyorsun — gizlilik odaklı tasarımın doğrudan bedeli.
- Reklam engelleyiciler Web Analytics'i engelliyor mu?
- Evet, ve Cloudflare bunu kabul ediyor: “Cloudflare is aware that the analytics beacon is blocked by these services” (adblockplus, Brave, DuckDuckGo). Kendi alternatifini de öneriyor: “Cloudflare's edge analytics cannot be blocked because we can measure every request that is received.” Yani engellenmeyen ölçüm istiyorsan panel analitiğine bak.
- Saklama sürem ne kadar?
- Cloudflare genel bir plan tablosu yayımlamıyor ve bunu açıkça söylüyor: “Higher plans have access to a greater selection of datasets or fields, and can query over broader historical intervals. To get exact boundaries and availability for your zone(s) or account, please refer to
settings.” Yani tabloya bakmayacak, kendi zone'una soracaksın. Demo 2 tam olarak bunu yapıyor. - İnternette dolaşan “Free 24 saat / Pro 24 saat / Business 3 gün / Enterprise 30 gün” tablosu doğru mu?
- O tablo genel analytics için Cloudflare'in hiçbir sayfasında yok. Yayımlanmış tek plan tablosu WAF'a ait:
firewallEventsAdaptiveiçin 24 saat / 24 saat / 3 gün / 30 gün,httpRequestsAdaptiveiçin 7 gün / 7 gün / 31 gün / 90 gün. Üçüncü taraf SEO blogları bu WAF tablosunu genelleştirip yayıyor. Kendi saklama sürenisettingsdüğümünden sorgula. - GraphQL'de <code>count</code> gerçek istek sayısı mı?
- Hayır — örneklenmiş. Her adaptive satır bir
sampleIntervaltaşıyor.sampleInterval=10ise o satır 10 gerçek olayı temsil ediyor. Gerçek toplam ≈count × avg.sampleInterval, ya da doğrudansum{sampleInterval}.count'u ham sayı sanmak en pahalı GraphQL hatası. - <code>Adaptive</code> ile <code>AdaptiveGroups</code> farkı ne?
Adaptive→ tekil örneklenmiş olaylar, satır seviyesi, her biri kendisampleInterval'ı ile.AdaptiveGroups→ ön toplanmış gruplar:count,sum,avg, quantile'lar artı dimension'lar. Pano yapıyorsanAdaptiveGroups. Ayrıca örneklenmemiş ama esnek olmayan sabit rollup'lar var:httpRequests1mGroups,1hGroups,1dGroups.- GraphQL sorgu limitim ne?
- Varsayılan 5 dakikada 300 sorgu (~saniyede 1). Zone kapsamlı sorguda en fazla 10 zone, account kapsamlı sorguda 1 hesap. Enterprise'da hesap bazlı saniyede 15, zone bazlı saniyede 10 istek. Canlı bir pano backend'i için bu yetersiz — önbellekle.
- Cloudflare'in kendi GraphQL örneklerinde hata var mı?
- Evet, Zaraz örneğinde iki tane. Birincisi
$zoneTag: stringküçük harfle yazılmış — GraphQL'de geçersiz,Stringolmalı. İkincisi$orderBytipiZoneZarazTriggersAdaptiveGroupsOrderByverilmiş ama sorguzarazTrackAdaptiveGroupsçağırıyor;ZoneZarazTrackAdaptiveGroupsOrderByolmalı. Kopyala-yapıştır yaparsan ikisi de hata veriyor. - Workers Analytics Engine'in fiyatı ne?
- Belgeler çelişiyor. Fiyat sayfası kotaları veriyor: Workers Paid'de ayda 10 milyon yazma, sonrası milyon başına $0,25; ayda 1 milyon okuma sorgusu, sonrası milyon başına $1,00. Ama aynı sayfa (Nisan 2026) hâlâ “Currently, you will not be billed for your use of Workers Analytics Engine” diyor. Ürün 1 Nisan 2024'te GA oldu. İkisi de resmî — panelden doğrula.
- Account Analytics GA mi?
- Hayır, hâlâ beta. Zone Analytics GA; Account Analytics beta. İkisi aynı panelde yan yana durduğu için karıştırılıyor.
- Beacon'ı Content Security Policy'me nasıl eklerim?
script-src'ahttps://static.cloudflareinsights.com/beacon.min.js.connect-srcise enjeksiyon biçimine bağlı: otomatik enjeksiyonda'self'yeterli (POST/cdn-cgi/rum'a gidiyor), elle gömdüysencloudflareinsights.comeklemen gerekiyor. Ayrıca SRI yalnızca otomatik enjeksiyonda var: “we do not support version-pinning our beacon script.”
İlgili servisler
- Log ExplorerHam request loglarını Cloudflare içinde saklayıp SQL benzeri sorgularla inceler.
- CDNStatik içeriği kullanıcıya en yakın şehirde cache’leyip origin yükünü düşürür.
- ZarazGoogle Analytics gibi third-party tag’leri tarayıcı yerine Cloudflare üzerinde çalıştırır.
- WAFSQL injection, XSS ve bilinen zafiyet istismarlarını request origin’e ulaşmadan engeller.
Bu sayfadaki fiyat ve özellik bilgileri 1 Eylül 2026 tarihinde Cloudflare’in resmî kaynaklarından doğrulanmıştır. Cloudflare fiyatlandırmasını önceden haber vermeden değiştirebilir; bağlayıcı bilgi içinresmî sayfaya bakın.