11 Mayıs 2026 · 14 dk okuma · Google Ads & Conversion Optimization
Google Ads Conversion Tracking 2026 — Adım Adım Tam Rehber (GTM + Sayfa Yükleme + Lead Value)
Conversion tracking olmadan Google Ads para yakar. 2026'da doğru kurulum: sayfa yükleme yöntemi, GTM ile esnek yönetim, lead value ve transaction_id ile veri kalitesi. Gerçek vaka + yaygın hatalar.
Geçtiğimiz hafta sıfırdan bir Google Ads hesabı kurarken kendi sitemizde conversion tracking kurulumunu baştan tasarladık. Düştüğümüz tuzaklar + bulduğumuz doğru yol bu yazının kaynağı.
Önce sansürsüz gerçek: Conversion tracking olmadan Google Ads = para yakma.
Bütçenizin büyüklüğüne bakmadan: 100 TL/gün de 10.000 TL/gün de aynı problem. Otomatik bidding çalışmıyor, hangi reklamın iş getirdiği belli değil, ROAS hesaplaması “umut” işi. 2026’da Google Ads ekosistemi tamamen AI-bidding’e geçti — conversion data yakıt rolünde.
Bu yazıda kurulumu adım adım göreceksiniz: yöntem karşılaştırması, GTM kurulumu, lead value + transaction_id gibi detaylar, test prosedürü, yaygın hatalar.
Hızlı özet: 2026’da Google Ads conversion tracking için sayfa yükleme + GTM yöntemi en sağlam kombinasyon. Direct gtag esnek değil; tıklama yöntemi yanlış lead verisi üretir. GTM’de lead value (örn. 1500 TL) ve transaction_id dolu olmalı — yoksa Target ROAS bid stratejisi çalışmıyor ve duplicate conversion riski var.
Neden Conversion Tracking Olmadan Google Ads Para Yakar
Google Ads 2026 itibarıyla AI-bidding-first:
- Maximize Conversions → “bütçe ile max conversion getir”
- Target CPA → “lead başı maks 300 TL”
- Target ROAS → “her 1 TL → 5 TL getir”
Hepsi conversion data’ya dayanır. Conversion data yoksa:
- Manuel bidding kalır (CPC’leri sen elle ayarlar)
- 2025+‘ta manuel bidding ile aynı performansı yakalamak mümkün değil (AI bidding’in 7/24 öğrenmesi karşısında insan zayıf kalıyor)
- Hangi KW + reklam + cihaz + saat conversion getiriyor → kara kutu
Sonuç: Bütçenizin %30-50’si optimization eksikliğinden boşa gider. 10.000 TL aylık Google Ads bütçesinde bu 3.000-5.000 TL kayıp/ay demek.
Önce conversion tracking, sonra Google Ads. Tersi yanlış.
Sayfa Yükleme vs Tıklama — Hangisi Doğru?
Google Ads conversion oluştururken iki yöntem sunar:
Sayfa Yükleme (Page Load)
Conversion belirli bir sayfa açıldığında fire eder. Genellikle “teşekkür / onay” sayfası:
/tesekkurler//order-complete//danismanlik-talebi-alindi/
Avantaj: Sadece gerçek tamamlamalar sayılır. Form başarısız olduysa redirect olmaz → conversion fire etmez → veri doğru.
Tıklama (Click)
Conversion bir butona tıklandığında fire eder. “Gönder” butonu, “Satın al” butonu vb.
Dezavantaj: Form ⛔ butonuna basan herkes conversion sayılır:
- Bot doldurdu → conversion ❌
- Form validation hatası → sayfa kalı, conversion ❌
- Kullanıcı 5 kez deneyip her seferinde hata aldı → 5 conversion ❌
Yani conversion sayınız şişer, gerçek lead sayısı düşer. Target CPA + ROAS yanlış sinyalle optimize olur.
Ne Zaman Tıklama Kullanılır?
Tek istisnai durumda: sayfa yenilenmeyen aksiyonlar.
- “Sepete ekle” → sayfa kalır, tıklama tek ölçüm yolu
- “WhatsApp’a gönder” → yeni sekme açar, /tesekkurler/ olmaz
- “Telefonu ara” (mobile click-to-call) → sayfa değişmez
Bu durumlarda dataLayer event + tıklama kullan. Diğer her durumda sayfa yükleme.
3 Kurulum Yöntemi Karşılaştırma
A) Direct gtag (en basit, en esneksiz)
Google Ads size doğrudan iki script verir, sitenize manuel yapıştırırsınız:
<!-- Her sayfada (head içinde) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-XXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-XXXXXXX');
</script>
<!-- Sadece teşekkür sayfasında -->
<script>
gtag('event', 'conversion', {
'send_to': 'AW-XXXXXXX/YYYYYYY',
'value': 1500.0,
'currency': 'TRY'
});
</script>
Avantaj: Bağımlılık sıfır, hızlı kurulum. Dezavantaj: Conversion ID/label değiştiğinde site kodunu güncelleyip deploy etmek gerek. Esnek değil.
B) Google Tag Manager (GTM) — önerilen
GTM bir “tag yöneticisi”: tek script yüklersin, içine istediğin kadar tag (Google Ads, GA4, Meta Pixel vb.) eklersin GTM panelinden.
Avantaj:
- Conversion değişikliği panelden, deploy gerek değil
- Test/preview mode disiplinli debug
- Birden fazla platform tek yerde
- Versiyonlama (hata yapınca geri al)
Dezavantaj: İlk kurulum 1-2 saat öğrenme. Sonrası tek tuş.
C) Hibrit — direct gtag + GTM birlikte
Bazı agency’ler “yedek” diye ikisini de kurar. Önerilmez — duplicate conversion riski yüksek (aynı event’i hem direct gtag hem GTM tag fire ederse 2x sayılır). Tek kanal seç.
Sonuç
Bizim önerimiz: %95 durumda GTM. Çok basit single-page site ise direct gtag yeterli olabilir. Hibrit’ten kaçın.
GTM ile Adım Adım Kurulum
1) GTM Container Aç
tagmanager.google.com → “Create Account” → Container Name: site adresi → Target Platform: Web → Create.
Sana 2 kod parçası verir:
<head>içine yapıştırılacak script<body>başlangıcına yapıştırılacak noscript iframe
Sitenize ekle, deploy et. Test: tagassistant.google.com → URL gir → GTM container görünmeli.
2) Google Tag Ekle (yeni gereksinim)
2024’ten itibaren GTM, Google Ads conversion tag’ini fire etmeden önce “Google Tag” denen bir umbrella tag ister. Bu gtag.js’in yeni nesil hali.
GTM panelinde:
- Tags → New
- Tag Configuration → Google Tag
- Tag ID:
GT-XXXXXXX(Google Ads → Conversions → Tag setup içinde göreceksin) - Trigger: Initialization — All Pages
- Name: “Google Tag — GT-XXXXXXX”
- Save.
3) Google Ads’te Conversion Oluştur
ads.google.com → Tools & Settings → Conversions → + New conversion action:
- Website → URL’i gir
- Goal: Submit lead form
- Conversion name: “Lead Form Submission”
- Value: “Use the same value for each conversion” → ortalama lead değeri (TR için tipik 500-3000 TL)
- Count: “One” (lead için kritik — duplicate sayma)
- Click-through window: 30 gün
- Attribution model: “Last click” (başlangıç) → 30+ conversion sonra “Data-driven”
- Save.
Sonra “Tag setup” → “Install the tag yourself” → Event snippet’i aç → send_to: 'AW-XXX/YYY' formundaki AW- ID ve YYY label’i not al.
4) Data Layer Variables Oluştur (önemli)
GTM panelinde:
- Variables → User-Defined Variables → New
Her biri için Data Layer Variable tipi seç:
| Variable Adı | Data Layer Variable Name |
|---|---|
DLV - form_kind | form_kind |
DLV - lead_value | lead_value |
DLV - transaction_id | transaction_id |
DLV - form_source | form_source |
Bu değişkenler senin LeadForm submit edildiğinde push edilen dataLayer event’inden değerleri çekmek için.
5) Custom Event Trigger Oluştur
- Triggers → New
- Trigger Configuration → Custom Event
- Event name:
lead_conversion - This trigger fires on: All Custom Events
- Name: “CE - Lead Conversion”
- Save.
6) Google Ads Conversion Tracking Tag Oluştur
- Tags → New
- Tag Configuration → Google Ads Conversion Tracking
- Conversion ID:
AW-XXXXXXXX(Adım 3’ten) - Conversion Label:
YYYYYYY(Adım 3’ten) - Conversion Value:
{{DLV - lead_value}}(Variable seç) - Currency:
TRY - Order ID:
{{DLV - transaction_id}}(duplicate önler) - Triggering:
CE - Lead Conversion - Name: “Google Ads — Lead Conversion”
- Save.
7) Site Tarafında dataLayer Push’u Ekle
/tesekkurler/ sayfasında (veya hangi onay sayfası varsa) script:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: "lead_conversion",
form_kind: "quote", // ya da audit, subscribe, contact
form_source: "homepage-hero", // hangi sayfa form gönderdi
lead_value: 1500, // ortalama lead value (TRY)
currency: "TRY",
transaction_id: Date.now() + "-" + Math.random().toString(36).slice(2, 8),
});
Form gönderimi başarılı olduğunda kullanıcıyı /tesekkurler/?kind=quote&source=homepage-hero URL’sine yönlendir. Sayfa açılınca yukarıdaki script otomatik fire eder, GTM yakalar.
8) Preview Mode ile Test
GTM sağ üst → Preview → URL gir → Connect. Site açılır, alt tarafta GTM Tag Assistant paneli.
/tesekkurler/sayfasına git (form doldur veya direkt URL ziyaret et)- Panelde “lead_conversion” event listede görünmeli
- “Google Ads — Lead Conversion” tag Fired statüsünde olmalı
- Variables sekmesinde DLV - lead_value = 1500, DLV - transaction_id = bir değer
9) Publish
Preview test başarılı → sağ üst Submit → Version name: “Lead conversion initial setup” → Publish.
10) Google Ads’te Doğrulama
Google Ads → Conversions → “Lead Form Submission” → 24-48 saat içinde “Receiving conversions” statüsüne geçer. İlk gerçek lead geldikten sonra “All conversions” sayısı 1+ olmalı.
Conversion Value: Neden 1500 TL?
Bu rakam ortalama lead değeriniz:
Aylık lead sayısı: 50
Aylık kapanan proje: 5 (kapanma %10)
Ortalama proje değeri: 15.000 TL
Aylık gelir: 75.000 TL
Lead başına gerçek değer: 75.000 / 50 = 1.500 TL
Bu 1.500 TL’yi Google’a verirsen, Google Target ROAS bid strategy “1 TL harca, 5 TL gelir” hesabını yaparken bu değeri esas alır. Boş bırakırsan Google “her conversion = 0 değer” anlar, bid optimization çöker.
Önemli: Her sektör/hizmet için farklı value gönderebilirsin. Örn:
- Lead form → 1500 TL (lead’in %10’u kapanır × 15K proje)
- E-ticaret satın alma → gerçek sipariş değeri (dinamik)
- Premium randevu → 5000 TL (kapanma oranı yüksek)
Bunu GTM’de dinamik variable ile yapabilirsin: dataLayer’a value gönder, GTM tag’inde {{DLV - lead_value}} ile çek.
Transaction ID: Duplicate Engelleme
Senaryo: Kullanıcı form doldurdu → /tesekkurler/ açıldı → F5’e bastı → /tesekkurler/ tekrar açıldı → conversion 2 kez fire etti.
Google Ads bunu “2 ayrı conversion” sayar. Veri yanlış: gerçekte 1 lead var.
Çözüm: Her conversion’a unique bir transaction_id ekle (timestamp + random). Google aynı transaction_id ile gelen ikinci conversion’ı deduplicate eder.
transaction_id: Date.now() + "-" + Math.random().toString(36).slice(2, 8)
// Örnek: "1715456789012-ab3xy7"
GTM tag’inde “Order ID” alanına {{DLV - transaction_id}} ata. Bu kadar.
Test ve Debug
Tag Assistant Companion (önerilen)
Chrome Web Store → “Tag Assistant Companion” (Tag Assistant Legacy değil, yeni). Açık tab’larda gerçek zamanlı tag fire izleme.
GTM Preview Mode
GTM sağ üst → Preview → URL Connect. Alt panel canlı tag fire log gösterir. Hangi tag fire ettiyse hangi variable hangi değerle.
Browser Network Tab
F12 → Network → filtre: pagead/conversion veya googleadservices. Conversion fire ettiyse şu görünür:
https://www.googleadservices.com/pagead/conversion/AW-XXXXX/?label=YYYYY&value=1500¤cy=TRY&...
Yoksa fire etmemiş demektir.
dataLayer Console Test
F12 Console:
dataLayer.find(e => e.event === 'lead_conversion')
Obje dönmeli (value, currency, transaction_id dolu). Yoksa dataLayer push’u çalışmıyor.
Yaygın 6 Hata
1. Conversion ID/label hatalı yapıştırılmış
Boşluk veya yanlış karakter. Yapıştırırken AW-1234567890/AbCdEfGh formatına dikkat — / işareti var.
2. Lead value boş bırakılmış ("")
Target ROAS çalışmaz. Mutlaka dataLayer veya GTM’de default value ata.
3. Transaction ID atlanmış
Duplicate conversion riski. Her seferinde unique bir ID atla — Date.now() + random string en sade çözüm.
4. Test ile production karışmış
Incognito mode’da test edilen conversion gerçek sayılır. Test için mutlaka GTM Preview mode kullan.
5. Conversion Linker eksik (eski setup’larda)
Yeni Google Tag içinde otomatik var. Eski direct gtag setup’ta ayrıca eklenmesi gerek.
6. Astro/Next.js gibi framework’lerde script syntax bug
Build sırasında JSX template literal’lar bazen “script tag içinde block scope” sorunu yaratıyor. Kod canlıda yüklü görünür ama IIFE fire etmez. Çıktıyı curl ile gerçek HTML kontrol et — “function” çağrılıyor mu, yoksa string olarak mı duruyor.
(Bizim sitede tam bu hata oldu — Astro define:vars + JSX {…} kombinasyonu IIFE’yi {} block içine alıp execute etmiyordu. Düzeltme: JSX wrap kaldırıp plain JS bırakmak.)
Kurulum Sonrası İlk 30 Gün
İlk 7 gün
- Test conversion at (incognito + form gönder)
- 24-48 saat içinde Google Ads “All conversions” 1+ göstermeli
- Görünmüyorsa Tag Assistant + GTM Preview ile debug
İlk 30 gün
- 20-30 gerçek conversion biriksin
- Bid strategy “Maximize Conversions” devam etsin
- Search terms report haftalık → yeni negative + positive KW
30+ gün
- 30+ conversion → bid strategy “Target CPA” veya “Target ROAS“‘a geçir
- Hedef CPA = ortalama_lead_value × 0.2-0.3 (örn. 1500 × %25 = 375 TL hedef CPA)
- Search terms haftalık devam
- Asset performance kontrol
KPI’lar Nasıl Okunmalı
| KPI | Anlam | Sağlıklı seviye |
|---|---|---|
| Conversion sayısı | Toplam form/satın alma | Sektöre göre |
| Conv. rate | Tıklama → conversion oranı | %2-8 |
| Cost / conversion | Lead başı maliyet | < lead_value × %30 |
| Conv. value / cost (ROAS) | Reklama 1 TL → kazanım | > 3x |
| Quality Score | KW alaka skoru | 7-10 ideal |
ROAS 1x altıysa: Reklam para kaybediyor, KW + landing page revize. ROAS 3-5x: Sağlıklı, ölçeklendirmeye hazır. ROAS 5x+: Bütçeyi artır + bid strategy daha agresif.
Sonuç
2026’da Google Ads conversion tracking optional değil. Bütçenin büyüklüğüne bakmaksızın kurulum yapmadan reklam başlatma:
- Sayfa yükleme yöntemi (tıklama değil) — doğru lead verisi
- GTM (direct gtag değil) — esnek + sürdürülebilir
- Lead value + transaction_id dolu — Target ROAS + duplicate önleme
- Test prosedürü disiplinli — Tag Assistant + GTM Preview
Bu yazıdaki adımlar bizim kendi sitemizde kurduğumuz akış. Aynı modeli müşterilerimizde de uyguluyoruz.
Conversion tracking kurulumunu kendiniz yapamıyorsanız veya doğru kurulduğundan emin olmak istiyorsanız → GEO/AI Search Audit paketimiz içinde Google Ads conversion + GTM audit dahil. Veya aylık yönetim paketimizden devam edersek bu kurulum sizi hiçbir maliyete sokmadan dahil.
Ücretsiz 30 dakikalık strateji görüşmesi → conversion setup’ınıza birlikte bakalım, doğru kurulduysa onaylarız, yanlışsa ne lazım söyleriz. Bağlayıcı değil.
İlgili yazılar: