Google Tag Manager (GTM) Nedir? | Gökhan Vatancı
ANALYTICS & DATA

GOOGLE TAG MANAGER
DİJİTAL SİNİR SİSTEMİ

🌐
Web Siten
Data Layer Push
GTM BRAIN
GA4
Facebook Pixel
Google Ads

⚠️ Uyarı: Amatörler İçin Değil

Şu an sitende onlarca farklı JavaScript kodu birbirini eziyor, siteni yavaşlatıyor ve verilerini eksik sayıyor. Biliyorum.

Bu rehberin en sonunda, sadece Kıdemli Developerların bildiği ve GTM'i bir "Veri Silahına" çeviren o LOOKUP TABLE stratejisini açıklayacağım. Oraya gelene kadar temelleri sağlam atman şart.

Google Tag Manager Nedir?

Dürüst olalım: Her reklam platformu (Facebook, Google Ads, Linkedin, Tiktok) senden sitene bir kod parçası eklemeni istiyor. Her seferinde yazılımcını arayıp "Abi şu Pixel kodunu Header'a gömer misin?" demekten yorulmadın mı? O kodlar biriktikçe siten bir çöplüğe dönüyor.

GTM, web siten ile pazarlama araçların arasındaki Gümrük Kapısıdır. Sen tüm kodları (tagleri) GTM'e verirsin, GTM sitene tek bir satır kodla bağlanır. "Siteye kod ekle" devri bitti. "Konteyner'ı yönet" devri başladı.

"Veriyi kontrol edemeyen, bütçesini çöpe atar. GTM senin kontrol panelindir."

Hantal Geleneksel

Spagetti Kod Yapısı

  • ❌ Her kampanya için yazılımcıya Ticket açmak.
  • ❌ Kodların head/body alanında çakışması.
  • ❌ Sitenin açılış hızının (LCP) ölmesi.
  • ❌ Hangi kodun çalıştığını asla bilememek.
Dark Metod

Merkezi İstihbarat

  • Sıfır Yazılımcı Bağımlılığı: Kodu kendin yayınla.
  • Versiyon Kontrolü: Hata yaparsan 1 tıkla geri al.
  • Debug Modu: Kod çalışıyor mu diye canlı izle.
  • Asenkron Yükleme: Site hızını etkilemez.

Bunları Bilmen Lazım

Savaş alanındaki mühimmatların. GTM arayüzünü açtığında "bu ne?" diye bakma.

📦
Container

Web sitendeki kutu

🏷️
Tag (Etiket)

Ne yapacak? (Kod)

🔫
Trigger

Ne zaman çalışacak?

💾
Variable

Dinamik Veri

Uygulamalı Workshop

Adım adım veri imparatorluğu kurulumu.

01

Hesap ve Konteyner Oluşturma

Google Tag Manager'a (tagmanager.google.com) Google hesabınla gir. "Create Account" de. Şirket ismini gir. Ülke seç. Container Name kısmına site adresini yaz (örn: www.sitem.com). Hedef platform olarak WEB seç.

GTM Arayüzü
Account Name: My Business
Container: www.mysite.com
Web
iOS
Android
02

Snippet Kodlarını Yerleştirme

Sana iki parça kod verecek.
1. Kod: <head> etiketinin en üstüne (mümkün olduğunca yukarı).
2. Kod: <body> etiketinin hemen açılışından sonraya.
Bunu bir kez yapacaksın, bir daha kodlara dokunmayacaksın.

<!-- Head Kısmı -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[]...</script>
<!-- Body Kısmı -->
<noscript><iframe src="https://www..."></noscript>
03

GA4 Konfigürasyon Etiketi

İlk iş Analytics'i bağlamak. "Tags" > "New" > "Tag Configuration" tıkla. "Google Analytics" seçeneğini seç. Ardından "Google Tag" seç.
Tag ID kısmına GA4 ölçüm kimliğini (G-XXXXXXXX) yapıştır.

Tag Config
Google Tag
Tag ID: G-123456789
04

Tetikleyici (Trigger) Atama

Etiketi oluşturduk ama ne zaman çalışacak? Aşağıdaki "Triggering" kutusuna tıkla. Varsayılan olarak gelen "All Pages" (Tüm Sayfalar) seçeneğini seç. Çünkü Analytics tüm sayfalarda çalışmalı.

Triggering
All Pages
Page View
05

Önizleme (Preview) Modu

Yayına almadan önce test etmelisin. Sağ üstteki "Preview" butonuna bas. Site adresini gir. Yeni bir pencerede siten açılacak ve sağ altta "Tag Assistant Connected" yazacak.

👁️
Tag Assistant
Connected
06

Hata Ayıklama (Debugging)

Tag Assistant penceresinde "Tags Fired" (Ateşlenen Etiketler) kısmına bak. "Google Tag - GA4" etiketini orada görmen lazım. Görüyorsan başardın. Görmüyorsan Trigger hatası vardır.

Tags Fired
Google Tag - GA4 1 time
Tags Not Fired
Conversion - Purchase
07

Yayınlama (Publish)

Test başarılıysa sağ üstteki mavi "Submit" butonuna bas. "Version Name" kısmına ne yaptığını yaz (Örn: GA4 Kuruldu). Ve "Publish" diyerek dünyaya duyur.

08

Custom HTML Ekleme (Facebook Pixel)

Facebook Pixel veya LinkedIn Insight Tag gibi araçlar için hazır şablon yoksa "Custom HTML" etiketini seç. Sana verilen JS kodunu yapıştır. Trigger yine "All Pages".

<script>
!function(f,b,e,v,n,t,s)...
fbq('init', '123123');
fbq('track', 'PageView');
</script>
09

Tıklama Takibi (Click Trigger)

Variables menüsünden "Click" ile ilgili tüm kutucukları işaretle. Sonra yeni bir Trigger oluştur. Tipi "Click - All Elements" olsun. Şart olarak "Click Text" > "contains" > "WhatsApp" seç. Artık WhatsApp butonuna basanları sayabilirsin.

Trigger Configuration
Click - All Elements
Fire on:
Click Text contains "WhatsApp"
10

Sürüm Geri Alma (Rollback)

Bir şeyi bozdun mu? Panik yok. "Versions" sekmesine git. Çalışan eski bir versiyonun yanındaki üç noktaya tıkla ve "Set as Latest Version" veya "Publish" de. Anında eski haline döner.

"Yazılımda CTRL+Z hayat kurtarır, GTM'de Versions hayat kurtarır."

Avantajlar ve Dikkat Edilecek Noktalar

GTM, pazarlama ekiplerinin hızını artırır ve yayına çıkmadan önce güvenli test yapmalarını sağlar. Bununla birlikte, yanlış kural tanımları ya da disiplinli bir dataLayer olmaması raporlarda karmaşaya yol açabilir. Aşağıdaki başlıklarda güçlü yönleri ve dikkat edilmesi gereken noktaları net ifadelerle görebilirsiniz.

  • Hız kazanırsınız: Etiket ekleme, kaldırma ve koşul güncellemelerini dakikalar içinde yapabilir; geliştirme sırasına girmeden ilerleyebilirsiniz.
  • Yayını güvenle kontrol edersiniz: Preview & Debug modunda sorunları yayın öncesinde görebilir ve hataları hızlıca düzeltebilirsiniz.
  • Değişiklikleri izleyebilirsiniz: Versiyonlama sayesinde neyin değiştiğini takip edebilir ve gerekirse önceki bir sürüme geri dönebilirsiniz.
  • Koşullara göre tetikleme yapabilirsiniz: URL, buton tıklaması, form gönderimi ya da kaydırma yüzdesi gibi koşulları kullanarak etiketlerin ne zaman çalışacağını net biçimde kontrol edebilirsiniz.
  • Tek panelde düzen sağlarsınız: Farklı araçlara ait etiketleri bir ekranda yönetebilir ve ekip içi görünürlüğü artırabilirsiniz.
  • Geniş kurallar veri şişirebilir: Çok geniş bir tetikleyici tanımlarsanız etiketi gereksiz sayfalarda çalıştırabilir ve raporlarda gürültü üretebilirsiniz.
  • dataLayer disiplini zorunludur: Düzenli tanımlar ve bir veri sözlüğü oluşturmazsanız, olay adları ve alanlar karışarak analizlerinizi zorlaştırabilir.
  • Fazla etiket performansı etkileyebilir: Gereksiz ya da tekrarlı etiketler sayfa yükünü artırabilir; bu nedenle inceleyerek temizlik yapmanız gerekir.
  • Rıza olmadan tetikleme risklidir: Kullanıcı rızası alınmadan çalışan etiketler yasal risk doğurabilir; bu yüzden rıza (consent) tetikleyicilerini doğru kurgulamanız gerekir.

Kurulum Kontrol Listesi (Önizleme)




Kutucukları işaretledikçe ilerleme artar.
İpucu: Canlıda beklenmedik bir davranış görürsen versiyon geçmişinden güvenli şekilde geri dönebilirsin.
Kurulum & Kullanım

GTM’yi Adım Adım Kuruyoruz (WordPress Odaklı)

Bu bölümde hesabı açmaktan başlayıp WordPress’e eklemeye, ilk GA4 etiketini oluşturmaya ve yayına güvenle almaya kadar olan süreci adım adım ilerleteceğiz. Anlatım başlangıç seviyesine uygundur; her adımda “neden böyle yapıyoruz?” sorusuna da kısa cevap veriyoruz.

1) Hesap & Konteyner Oluşturma

GTM hesabını aç

GTM Paneline Git →

Hesap adı olarak şirket adını kullanabilir ve ülke seçimini yapabilirsin. Ardından bir konteyner oluştur ve “Web” platformunu seç.

Konteyner kodunu al

GTM sana iki parça kod verir. Üst kısım <head> içine; yedekleme amaçlı bölüm ise <body> tag’inin hemen altına eklenmelidir. Bu ayrım, etiketlerin en erken noktada yüklenebilmesini sağlar.

2) Kodu Siteye Yerleştirme (Platforma Göre)

WordPress’te en pratik yol, temayı bozmadan kodu yönetecek bir eklenti kullanmaktır. Aşağıdaki yöntemle iki parçalı GTM kodunu doğru alanlara yerleştirebilirsin.

  1. “Header & Footer” veya “Site Kit by Google” gibi güvenilir bir eklentiyi kur ve etkinleştir.
  2. Aşağıdaki head ve body kodlarını ilgili alanlara yapıştır.
  3. Değişiklikleri kaydet ve siteni ön yüzde açarak kaynak kodda GTM snippet’ını gör.
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXXX');</script>
<!-- End Google Tag Manager -->
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->



Kutucukları işaretledikçe ilerleme artar.

Shopify’da theme.liquid dosyasında <head> ve <body> bölgelerine GTM kodlarını yerleştirebilirsin. Checkout için Plus olmayan mağazalarda sınırlamalar bulunduğunu unutma.

Özel yazılımda <head> ve <body> çıkışına erişimin varsa iki parçayı doğrudan şablona ekleyebilir ve ortam bazlı (dev/stage/prod) yapılandırma sağlayabilirsin.

3) İlk Etiket: GA4 Yapılandırma (Config)

Başlangıç için en güvenli adım, GA4 yapılandırma etiketini tüm sayfalarda çalıştırmaktır. Bu etiket, sayfa görüntüleme gibi temel verileri GA4’e gönderir ve izleme altyapısının sağlıklı olduğunu doğrulamanı sağlar.

  1. GTM panelinde Tags → New seç ve “Google Analytics: GA4 Configuration” tipini seç.
  2. GA4 ölçüm kimliğini (G-XXXXXXXX) gir.
  3. Tetikleyici olarak All Pages yerine “Initialization - All Pages” veya normal “All Pages” seçebilirsin. Başlangıç için “All Pages” yeterlidir.
  4. Kaydet ve önizlemede doğrula.
“All Pages” neden bazen riskli görünür?

Geniş tetikleyiciler, etiketi istemediğin sayfalarda da çalıştırabilir. Başlangıçta temel ölçüm için uygundur; ancak özel dönüşümlerde URL veya öğe bazlı filtrelerle kapsamı daraltman daha sağlıklı sonuç verir.

4) Tetikleyiciler: URL, Buton, Form

Tetikleyiciler, etiketlerin ne zaman çalışacağını belirler. Aşağıdaki örnekler en sık kullanılan temel senaryoları kapsar ve başlangıçta net bir kontrol sağlar.

URL Bazlı

“Teşekkürler” sayfası gibi belirli URL’lerde dönüşümü işaretlemek istersen “Page View → Some Pages → Page URL contains /tesekkurler” şeklinde koşul tanımlayabilirsin.

Buton Tıklaması

“Teklif Al” butonu için “Click – All Elements” olayını dinleyip Click Text veya CSS Selector ile filtreleyebilirsin. Böylece yalnızca ilgili buton tıklanınca etiketi tetikleyebilirsin.

Form Gönderimi

Form eklentine göre “Form Submission” tetikleyicisi ya da dataLayer eventi kullanabilirsin. Form ID’si veya URL ile filtre yapman, diğer formları etkilemeden ölçüm yapmanı sağlar.

Scroll / Video

Scroll derinliği ile ilgileniyorsan “Scroll Depth” tetikleyicisini yüzde değerleriyle ayarlayabilir; videolarda ise YouTube tetikleyicisini kullanarak başlatma/durdurma gibi olayları izleyebilirsin.

5) Preview & Publish: Yayın Öncesi Güvenlik

Yayınlamadan önce hataları görmek ve verinin doğru aktığını kontrol etmek için Preview & Debug modunu kullanmalısın. Bu mod, hangi etiketin nerede ve hangi koşulda tetiklendiğini açıkça gösterir.

  1. Preview butonuna tıkla ve siteni açarak etiket akışını incele.
  2. Variables panelinde Click Text, Page URL gibi değişkenlerin değerlerini doğrula.
  3. Her şey yolundaysa Submit → Publish ile sürümü yayınla ve versiyon notu düş.
Doğrulama sırasında neye bakmalıyım?

Etiketin tetiklendiği olayın doğru koşullarda çalıştığını; veride beklenen alanların dolu olduğunu ve “fire” sıralamasında çakışma olmadığını kontrol etmelisin.

Data Layer Oluşturucu

Yazılımcına "bunu siteye ekle" diyeceğin kodu senin yerine ben yazıyorum. Event adını ve parametreleri gir.

dataLayer.push({
  'event': 'generate_lead',
  'currency': 'TRY'
});
Buraya Kadar Gelenlere Özel

Sır Tutabilir Misin? 🤫

"Sektörde herkes her Pixel için ayrı bir Tag oluşturur. 50 tane Pixel varsa 50 tane Tag olur. Bu aptallıktır. GTM'in gerçek gücü LOOKUP TABLE değişkenindedir. Tek bir Tag ile 50 farklı Pixel'i yönetebilirsin."

LOGIC_FRAMEWORK_V1.0
// TEK TAG TEORİSİ
Variable Type: Lookup Table
Input Variable: {{Page Path}}

// Girdi -> Çıktı Eşleşmesi
Input: "/tesekkurler"  -> Output: "Pixel_ID_1"
Input: "/sepet"        -> Output: "Pixel_ID_2"
Input: "/blog"         -> Output: "Pixel_ID_3"

// Sonuç:
50 Farklı Tag yerine, ID kısmına sadece {{Lookup Table}} yazarsın.
GTM, sayfaya göre ID'yi kendi değiştirir.
                    

Merak Edilenler (FAQ)

GTM kullanırsam site hızım düşer mi?

Hayır, aksine artar. GTM "asenkron" çalışır. Yani sitenin görsel yüklenmesini engellemeden arka planda kodları çalıştırır. Ayrıca kodları temizlediğin için siten rahat nefes alır.

GTM kullanmak için yazılımcı olmalı mıyım?

Hayır. GTM pazarlamacılar için yapılmıştır. Ancak "Data Layer" gibi konularda ileri seviyeye geçmek için temel HTML/JS mantığını anlaman (bu rehberdeki gibi) seni öne geçirir.

Eski kodlarımı (Analytics vb.) siteden silmeli miyim?

KESİNLİKLE EVET. GTM üzerinden GA4 kurup, sitede de hardcoded GA4 kodu bırakırsan veriler iki kez sayılır (Double Counting). GTM'e taşıdığın her şeyi sitenin kaynak kodundan sildir.

Sahne Sende

Okumak yetmez. Şimdi git ve GTM hesabını aç, o spagetti kodları temizle.

🚀 Veri Takibin Hatalı mı?

GTM kurulumun yanlışsa reklam bütçen çöp oluyor demektir. Conversion API, Server-Side Tagging ve kusursuz veri akışı için profesyonel destek al. Hataları sıfıra indirelim.

Gökhan Vatancı ile Hızlıca Görüşün
Picture of <b>Gökhan Vatancı</b>
Gökhan Vatancı

Freelance SEO Uzmanı

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir