Ölçme ve tracking

Google tag gateway: Cloudflare, CloudFront, Akamai, Fastly ve Google Cloud kurulumu

Etiketleri kendi alan adınızdan servis etmek. Beş CDN'in adımları, ve kurulumun sağlıklı görünüp yine de çalışmadığı durum.

13 ağustos 2026 tarihinde güncellendi7 dk okuma

Google tag gateway, GA4, Google Ads ve GTM etiketlerini googletagmanager.com yerine sizin alan adınızdan servis eder. Tarayıcı artık üçüncü taraf bir alan adına değil, kendi sitenize istek atar.

Google erken testlerde ortalama %11 sinyal artışı bildiriyor. Bu Google'ın kendi rakamı, sizin kurulumunuzda ne çıkacağını ölçmeden bilemezsiniz.

Bu yazı beş sağlayıcının adımlarını ve kurulumun sağlıklı görünüp yine de hiçbir işe yaramadığı durumu anlatıyor.

Bu bir server-side container değil

Karıştırılıyor, ayıralım.

Server-side GTM'de ayrı bir sunucu çalıştırırsınız: tagging server, genelde Cloud Run üzerinde, aylık maliyeti ve bakımı olan bir servis. Etiketler orada işlenir, oradan Google'a gider.

Tag gateway'de böyle bir sunucu yok. CDN'iniz belirli bir yol önekine gelen istekleri Google'ın uç noktasına aktarır. Kendi altyapınızda çalışan bir kod yok, işlenen bir veri yok. Yalnızca bir yönlendirme.

Bu ayrım fiyatlandırmada da önemli: tag gateway'in ek bir sunucu maliyeti yoktur, CDN'inizin zaten yaptığı işi kullanır.

Bütün sağlayıcılarda aynı beş şey

Arayüzler farklı, iş aynı. Hangi CDN olursa olsun beş şeyi kurarsınız.

CDN AYARI · KARŞILIĞI5 sağlayıcıda ortak
  • Yol eşleştirme/olcum/* isteklerini yakala
  • Origin / backendG-XXXXX.fps.goog adresine gönder
  • Host başlığıOrigin adıyla değiştir
  • Coğrafya başlıklarıÜlke, bölge ve konum ilet
  • ÖnbellekKapat, ölçüm isteği önbelleğe alınmaz
  • alan eşleşti
  • alan boş veya tanımlanmamış

G-XXXXX GA4 ölçüm kimliğinizdir. Yol önekini siz seçersiniz ama iki kuralı var: kök yol (/) kullanılamaz ve sitenizde o yol boşta olmalı. Zaten var olan bir yolu seçerseniz o sayfa erişilemez hale gelir.

Sağlayıcı adımları

Cloudflare

En kısa olan burası. İki kayıt, bir ayar.

  1. CNAME kaydı: fps → G-XXXXX.fps.goog
  2. Origin Rule, eşleşme ifadesi:
(http.host eq "example.com" and starts_with(http.request.uri.path, "/olcum"))

Kuralda Host başlığını G-XXXXX.fps.goog olarak yeniden yazın.

  1. Ayarlardan Add visitor location headers açılır. Bu adım atlanırsa coğrafya doğrulaması başarısız olur.

Google Cloud

External Application Load Balancer üzerinden gider.

  1. Internet network endpoint group oluşturun, FQDN G-XXXXX.fps.goog, kapsam global
  2. Backend service, adı measurement-be-svc, tip Internet network endpoint group, protokol HTTPS
  3. İstek başlıkları:
Host: G-XXXXX.fps.goog
X-Forwarded-CountryRegion: {client_region_subdivision}
X-Forwarded-Geolocation: latlong={client_city_lat_long};city={client_city}
  1. Yönlendirme kuralı: host *, yol /olcum/*, backend measurement-be-svc

Amazon CloudFront

Bir origin, bir behavior. Ayarların çoğu varsayılandan farklı, hepsi önemli.

Origin: Origin domain G-XXXXX.fps.goog, Protocol HTTPS Only.

Behavior:

AyarDeğer
Path pattern/olcum/*
Origin and origin groupsG-XXXXX.fps.goog
Compress objects automaticallyNo
Viewer protocol policyHTTPS only
Allowed HTTP MethodsGET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
Cache policyCachingDisabled
Origin request policyAllViewerExceptHostHeader

CachingDisabled ve tüm HTTP metotları zorunlu. Varsayılan behavior yalnız GET ve HEAD geçirir, POST ile giden ölçüm istekleri düşer.

Akamai

Property yapılandırmasına yeni bir sürüm açıp iki şey eklersiniz.

Kural adı Route measurement, eşleşme Path = /olcum/*, Origin Server Hostname G-XXXXX.fps.goog, Forward Host Header ayarı Origin Hostname olur.

Coğrafya için Content Targeting (EdgeScape) davranışı eklenir ve Enable değeri true yapılır.

Fastly

Tek elle kod yazılan sağlayıcı burası.

Condition: tip Request, ad Google Tag Gateway Path, koşul:

req.url.path ~ "^/olcum"

Host: fps.goog, Override host aynı değere ayarlanır.

Sonra iki VCL parçası eklenir, ikisi de aynı kodu içerir: biri vcl_miss biri vcl_pass içine.

set bereq.http.X-Gtg-Tag-Id = "G-XXXXX";
set bereq.http.X-Forwarded-Country = client.geo.country_code;
set bereq.http.X-Forwarded-Region = client.geo.region;
set bereq.http.X-Forwarded-Geolocation =
  "latlong=" + client.geo.latitude + "," + client.geo.longitude +
  ";city=" + client.geo.city;

İki parçanın da eklenmesi gerekiyor. Yalnız vcl_miss eklenirse önbelleği atlayan istekler başlıksız gider.

Doğrulama: iki uç

Kurulum bitince Google'ın iki doğrulama ucu vardır. İkisi de düz metin ok döner.

https://example.com/olcum/healthy
https://example.com/olcum/?validate_geo=healthy

İkincisi coğrafya başlıklarını sınar. Birincisi ok verip ikincisi vermiyorsa yönlendirme çalışıyor ama konum başlıkları iletilmiyor demektir: Cloudflare'de "Add visitor location headers", Akamai'de EdgeScape, Fastly'de VCL parçaları eksiktir.

Asıl tuzak: kurulu, sağlıklı, ve kullanılmıyor

Bu kurulumun en sık takıldığı yer burasıdır ve doğrulama ekranında görünmez.

Geçit CDN tarafında kurulur. İki doğrulama ucu da ok döner. Ölçüm yolu konteynerin tamamını servis eder. Her şey doğru görünür.

Ama sitenin GTM yükleyicisi hâlâ şunu çağırıyor olabilir:

j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;

Bu durumda geçit kuruludur ve kimse onu kullanmıyordur. Konteyner Google'dan yüklenir, ölçüm istekleri de doğal olarak Google'a gider. Kurulum raporu yeşil, kazanç sıfır.

Düzeltmesi tek satır. Yükleyicideki adres kendi yolunuza döner:

j.src = '/olcum/gtm.js?id=' + i + dl;

Yerel geliştirmede o yol olmadığı için değeri ortam değişkeninden okuyun ve boşken googletagmanager.com adresine düşürün. Yoksa localhost üzerinde konteyner hiç yüklenmez.

Ağ sekmesinde ne görmelisiniz

Tarayıcıda Inspect, Network sekmesi, sayfayı yenileyin. Kurulumdan önce ve sonra host listesi değişir.

NETWORK · KURULUMDAN ÖNCEölçümle ilgili istekler
  • googletagmanager.com/gtm.jskonteyner
  • region1.analytics.google.com/g/collectGA4 hit
  • www.google.com/ccm/collectAds dönüşüm
NETWORK · YÜKLEYİCİ DÜZELTİLDİKTEN SONRAölçümle ilgili istekler
  • example.com/olcum/gtm.jskonteyner
  • googletagmanager.com/gtm.js?gtg_health=1sağlık yoklaması
  • region1.analytics.google.com/g/collectGA4 hit

İkinci satırdaki gtg_health=1 isteği normaldir, silinmez: etiket geçidin ayakta olup olmadığını oradan öğrenir.

Üçüncü satır ise hâlâ kırmızı. Konteyner birinci taraftan geliyor ama içindeki etiketler eski adrese göndermeye devam ediyor. Yol bunu taşıyabiliyor, altyapıda eksik yok:

ÖLÇÜM YOLU · UÇ TESTİbeklenen cevaplar
  • /olcum/healthy200 · ok
  • /olcum/?validate_geo=healthy200 · ok
  • /olcum/g/collect204
  • /olcum/gtag/js200 · konteyner

Yani sıra CDN'de değil, GTM tarafında: konteyneri yeniden yayımlamak ve Google etiketi ayarlarını kontrol etmek gerekiyor. Altyapıyı kurup konteyneri yayımlamayı unutmak, bu kurulumun en sık takıldığı yer.

Beş maddelik doğrulama

Kurulumun bittiğini rapor ekranı söylemez. Bu beş maddeyi tek tek geçirin; hepsi doğruysa geçit gerçekten veri taşıyor.

1Yol yönlendirmesi ayakta mı?Tarayıcı
Nerede
Tarayıcıda /olcum/healthy adresini açın.
Doğru cevap
Ekranda düz metin olarak ok yazar, başka hiçbir şey görünmez.
Yanlışsa
404 veya sitenizin kendi sayfası dönüyorsa CDN kuralı isteği yakalamıyor: yol öneki yanlış yazılmış ya da kural pasif.
2Coğrafya başlıkları iletiliyor mu?Tarayıcı
Nerede
/olcum/?validate_geo=healthy adresini açın.
Doğru cevap
Yine ok döner.
Yanlışsa
Birinci madde geçip bu geçmiyorsa konum başlıkları eksik: Cloudflare'de Add visitor location headers kapalı, Akamai'de EdgeScape eklenmemiş, Fastly'de VCL parçaları yok ya da yalnız biri var.
3Konteyner kendi alan adınızdan mı yükleniyor?Tarayıcı
Nerede
Inspect, Network sekmesi, sayfayı yenileyin ve gtm.js aratın.
Doğru cevap
İstek kendi alan adınıza gider. googletagmanager.com satırı yalnızca gtg_health=1 parametresiyle görünür, o sağlık yoklamasıdır.
Yanlışsa
gtm.js hâlâ googletagmanager.com üzerinden geliyorsa yükleyicideki adres değişmemiş. Geçit kurulu ama devrede değil.
4Konteyner yeniden yayımlandı mı?GTM
Nerede
Tag Manager, sağ üstteki Submit ve sürüm geçmişi.
Doğru cevap
Yükleyici değişikliğinden sonra alınmış bir sürüm var.
Yanlışsa
Son sürüm kurulumdan eskiyse etiketler eski yapılandırmayla çalışır: konteyner birinci taraftan gelir ama içindeki etiketler ölçümü yine Google adresine gönderir.
5Olaylar hesaba ulaşıyor mu?GA4
Nerede
GA4, Raporlar, Gerçek zamanlı. Başka bir cihazdan siteyi açın.
Doğru cevap
Kendi ziyaretiniz otuz saniye içinde listede belirir.
Yanlışsa
Ağ sekmesinde istek 200 dönüp GA4'te hiçbir şey görünmüyorsa sorun geçitte değil, ölçüm kimliğinde veya rıza durumundadır.

Beşinci madde neden sonda: ilk dördü altyapıyı sınar, beşincisi sonucu. Altyapı doğruyken beşinci madde düşüyorsa geçidi kurcalamayın, ölçüm tarafına bakın.

Neyi çözmez

TAG GATEWAY NE YAPAR, NE YAPMAZ
ÇözerÇözmez
İstek engellemeÜçüncü taraf alan adına göre engelleme azalırYol adına göre engelleme yapan listeler yine engeller
Çerez ömrüÇerez birinci taraf bağlamında yazılırSafari ITP birinci taraf çerezlerini de sınırlar
RızaKurulumdan bağımsız çalışırConsent Mode yerine geçmez, izinsiz ölçüm yapmaz
Veri kalitesiUlaşan sinyal sayısı artabilirYanlış kurulmuş bir dönüşümü düzeltmez

Son satır en önemlisi. Geçit, ölçtüğünüz şey yanlışsa yanlış veriyi daha güvenilir biçimde taşır. Dönüşümünüz gerçek satışla uyuşmuyorsa önce orayı düzeltin.

Bir de belgelenmiş bir sınır var: <noscript> parçası desteklenmiyor. GTM'in <noscript> iframe'i www.googletagmanager.com adresinde kalır, geçit yoluna çevrilmez.

Sıra

  1. Yol önekini seçin, sitede boşta olduğundan emin olun
  2. CDN'de yönlendirmeyi ve coğrafya başlıklarını kurun
  3. İki doğrulama ucunu çağırın, ikisi de ok dönmeli
  4. Yükleyicideki adresi kendi yolunuza çevirin
  5. Ağ sekmesinde host listesini kontrol edin
  6. GTM konteynerini yeniden yayımlayın
  7. GA4'te gerçek zamanlı raporda olayların geldiğini görün

Dördüncü adımı atlarsanız birinciden üçüncüye kadar yaptığınız her şey raporda yeşil görünür ve hiçbir işe yaramaz.

Ücretsiz audit

Kurulumunuzu 48 saat içinde inceleyelim.

Hesap erişimi gerekmiyor. Site adresi ve kısa bilgi yeterli, kalanını biz kontrol ediyoruz.

  1. 01AuditMevcut kurulum 12 madde üzerinden incelenir.
  2. 02Audit raporu12 maddelik incelemenin sonucu: ne çalışıyor, ne çalışmıyor, hangi sırayla düzeltilmeli.
  3. 03Görüşme30 dakikalık arama, soru-cevap. Yükümlülük yok.
  4. 04KararÇalışmak isterseniz plan çıkarırız. İstemezseniz audit raporu sizde kalır.
  • 12 maddelik inceleme
  • 48 saat içinde
  • Yükümlülük yok

Audit talebi

Göndererek gizlilik politikasını kabul etmiş olursunuz. Hesap erişimi bu aşamada istenmez.