İçeriğe geç
ceaksan
gtm

Form ve Webhook Dönüşüm Takibi Rehberi: Kapsamlı Teknik Kılavuz

Web formlarında dönüşüm takibini uçtan uca öğrenin. dataLayer, postMessage, webhook, hidden fields ve GTM entegrasyonu ile form gönderimlerini doğru şekilde takip edin.

28 Mar 2026 4 dk okuma
TL;DR

Form dönüşüm takibi üç temel bileşenden oluşur: event yakalama, veri zenginleştirme ve aktarım. Platform fark etmeksizin dataLayer, postMessage ve webhook mekanizmalarını doğru kullanmak, hidden fields ve UTM parametreleri ile veriyi zenginleştirmek ve hem client-side (GTM) hem server-side (webhook) kanallarını birlikte çalıştırmak güvenilir takibin anahtarıdır.

Form gönderimi, web sitelerindeki en kritik dönüşüm noktalarından biri. Lead toplama, e-bülten kayıt, iletişim, sipariş, anket, her biri bir dönüşüm. Ancak form platformlarının çeşitliliği (Typeform, Tally, HubSpot, Shopify Forms, iframe embed formlar) dönüşüm takibini karmaşık hale getiriyor.

Bu rehber, form dönüşüm takibinin temel yapı taşlarını bir araya getiriyor: event mekanizmaları, GTM entegrasyonu, veri zenginleştirme, webhook tabanlı aktarım ve CRM entegrasyonu. Her platform için detaylı uygulama rehberlerine de buradan ulaşabilirsiniz.

Form Dönüşüm Takibinin Temelleri

Form dönüşüm takibi, bir form gönderimini analitik araçlarına (GA4, Google Ads, vb.) ve CRM sistemlerine doğru şekilde bildirme sürecidir. Bu sürecin 3 temel bileşeni vardır:

  1. Event yakalama: Form gönderildiğinde bir event tetiklenmeli
  2. Veri zenginleştirme: Event ile birlikte kaynak, kampanya ve kullanıcı bilgisi taşınmalı
  3. Aktarım: Event ve veriler analitik/CRM sistemlerine iletilmeli

Event Mekanizmaları

Form platformları event’leri farklı yöntemlerle dış dünyaya iletir. Doğru yöntemi seçmek, güvenilir takip için kritik.

dataLayer.push()

Google Tag Manager ile çalışan standart yöntem. Form platformu doğrudan dataLayer.push() çağrısı yapar, GTM bu event’i yakalar:

window.dataLayer = window.dataLayer || [];
dataLayer.push({
  event: "form_submitted",
  formId: "contact-form",
  formName: "İletişim Formu",
});

Kullanan platformlar: Typeform (TypeformSubmit), Tally (Tally.FormSubmitted, GA4 entegrasyonu ile)

Avantaj: GTM doğrudan yakalayabilir, ek kod gerekmez.

window.postMessage

iframe veya embed formlar için en güvenilir yöntem. Form platformu iframe içinden parent sayfaya mesaj gönderir:

// iframe içinden (form platformu)
window.parent.postMessage(
  {
    event: "formSubmitted",
    formId: "abc123",
  },
  "*",
);

// Parent sayfada (listener)
window.addEventListener("message", function (event) {
  if (event.origin === "https://form-platform.com") {
    dataLayer.push({ event: "iframe_form_submitted" });
  }
});

Kullanan platformlar: Tally (ücretsiz, tüm embed’lerde), HubSpot Conversations (chat widget)

Avantaj: Üçüncü taraf çerez kısıtlamalarından etkilenmez, cross-domain sorunlarını aşar.

Detaylı uygulama için GTM ile iFrame Form Etkinliklerini Yakalamak rehberine bakabilirsiniz.

Shadow DOM Event Listener

Bazı platformlar formları Shadow DOM içinde render eder. Bu durumda standart DOM selector’ları çalışmaz, shadowRoot üzerinden erişim gerekir:

const formEmbed = document.querySelector("form-embed");
const shadow = formEmbed.shadowRoot;
if (shadow) {
  const form = shadow.querySelector("form");
  form.addEventListener("submit", function () {
    dataLayer.push({ event: "shopify_form_submitted" });
  });
}

Kullanan platformlar: Shopify Forms

Webhook

Form gönderiminde HTTP POST isteği ile JSON payload gönderilir. Server-side tracking için en doğru yöntem:

{
  "eventType": "FORM_RESPONSE",
  "data": {
    "formId": "FORM_ID",
    "fields": [
      { "label": "Email", "value": "user@example.com" },
      { "label": "utm_source", "type": "HIDDEN_FIELDS", "value": "google" }
    ]
  }
}

Kullanan platformlar: Tally (ücretsiz, sınırsız), Typeform, HubSpot

Avantaj: Tarayıcı bağımsız, ad blocker’lardan etkilenmez, güvenilir.

HubSpot _hsq API

HubSpot’a özel tracking API. _hsq global nesnesi üzerinden sayfa görüntüleme, kullanıcı tanımlama ve özel olay takibi:

var _hsq = (window._hsq = window._hsq || []);
_hsq.push(["trackEvent", { id: "form_submitted", value: 1 }]);

GTM Entegrasyonu

Tüm form platformlarında GTM entegrasyonu benzer pattern’i takip eder:

  1. Event yakalama: dataLayer, postMessage veya Shadow DOM yöntemiyle
  2. Trigger oluşturma: GTM’de Custom Event trigger
  3. Tag oluşturma: GA4 Event, Google Ads Conversion veya diğer platform etiketleri

GTM Custom HTML ile Evrensel Listener

Birden fazla form platformu kullanıyorsanız, tek bir GTM Custom HTML etiketi ile tümünü yakalayabilirsiniz:

<script>
  (function () {
    window.addEventListener("message", function (event) {
      var trustedOrigins = ["https://tally.so", "https://form.typeform.com"];
      if (trustedOrigins.indexOf(event.origin) === -1) return;

      var eventName = null;
      if (event.data && event.data.event === "Tally.FormSubmitted") {
        eventName = "tally_form_submitted";
      } else if (event.data && event.data.event === "TypeformSubmit") {
        eventName = "typeform_form_submitted";
      }

      if (eventName) {
        window.dataLayer.push({ event: eventName });
      }
    });
  })();
</script>
not

Origin kontrolü güvenlik açısından kritiktir. Trusted origins listesine yalnızca güvendiğiniz form platformlarının domain’lerini ekleyin.

Veri Zenginleştirme

Form gönderiminin kendisi yeterli değil. Hangi kaynaktan, hangi kampanyadan, hangi sayfadan geldiğini de bilmeniz gerekir.

Hidden Fields

Form akışında görünmeyen ancak URL parametreleri ile değer alan alanlar:

https://form-platform.com/form/ID?source=email&campaign=q1-launch

Tüm büyük form platformları hidden fields destekler. Tally ve Typeform’da embed formlar için parent sayfanın URL parametreleri otomatik olarak forma aktarılır.

UTM Parametreleri

Reklam kampanyalarından gelen trafiğin form dönüşümlerine atfedilmesi:

https://example.com/kayit?utm_source=google&utm_medium=cpc&utm_campaign=marka

UTM parametreleri hidden fields üzerinden form platformuna taşınır. CRM’e aktarırken bu alanları eşlemeyi unutmayın.

Webhook ile Server-Side Tracking

Client-side tracking’in zayıf olduğu senaryolarda (ad blocker, üçüncü taraf çerez kısıtlamaları, consent gereksinimleri) webhook tabanlı server-side tracking daha güvenilir sonuç verir.

Webhook Güvenliği

Webhook endpoint’lerinizi korumak için:

  1. Signature doğrulama: Platform’un gönderdiği HMAC imzasını kontrol edin
  2. Origin kontrolü: IP whitelist veya token doğrulama kullanın
  3. Idempotency: Aynı event’in tekrar işlenmesini engelleyin
  4. Timeout: 10 saniye içinde 2XX yanıt dönün

Webhook vs Client-Side Tracking

KriterClient-Side (GTM)Server-Side (Webhook)
GüvenilirlikAd blocker’lardan etkilenirTarayıcı bağımsız
Gerçek zamanlılıkAnındaPlatform retry sürelerine bağlı
Veri zenginliğiTarayıcı verileri mevcutSadece form verileri
ConsentConsent gerektirirForm gönderimi = consent
KurulumGTM container yeterliEndpoint geliştirme gerekir

En sağlıklı yaklaşım, her iki yöntemi birlikte kullanmaktır: GTM ile gerçek zamanlı tracking, webhook ile veri doğrulama ve CRM aktarımı.

CRM Entegrasyonu

Form verilerinin CRM’e aktarılmasında 3 yöntem kullanılır:

  1. Doğrudan entegrasyon: Platform’un yerleşik CRM bağlantısı (ör. Typeform-HubSpot)
  2. Otomasyon araçları: Zapier, Make, n8n ile bağlantı
  3. Webhook + API: Doğrudan CRM API’sine veri gönderme

Kaynak bilgisinin (UTM, hidden fields) CRM’e doğru aktarılması için alan eşleştirmelerinin (field mapping) eksiksiz yapılması gerekir. Eşleme yapılmazsa veriler (not set), undefined veya direct olarak işaretlenir.

Platform Rehberleri

Her platform için detaylı kurulum ve uygulama rehberleri:

Platform Karşılaştırması

ÖzellikTypeformTallyHubSpotShopify Forms
dataLayer eventEvetPro_hsq APIShadow DOM
postMessageEvetEvet (ücretsiz)Chat widgetHayır
WebhookEvetEvet (ücretsiz)EvetHayır
Hidden fieldsEvetEvet (ücretsiz)Form APIHayır
UTM trackingEvetHidden fields ileUTM + _hsqHayır
Doğrudan CRMHubSpotHayırKendisi CRMShopify CRM
Zapier/MakeEvetEvetEvetEvet
GTM (embed)ProPro (code injection)Pages entegrasyonuTheme kodu

Checklist

Form dönüşüm takibi kurulumunu tamamladıktan sonra kontrol edin:

  • Form gönderiminde GTM dataLayer’da event görünüyor mu?
  • Hidden fields / UTM parametreleri form gönderiminde taşınıyor mu?
  • Cross-domain tracking aktif mi? Referral exclusion yapıldı mı?
  • CRM’de yeni contact kaynak bilgisi (source) doğru geliyor mu?
  • Webhook (varsa) başarılı teslim ediyor mu? İmza doğrulaması aktif mi?
  • Consent yönetimi GDPR/ePrivacy gereksinimlerini karşılıyor mu?
  • Ad blocker aktifken webhook fallback çalışıyor mu?
Önemli Noktalar
  • 01 Form platformları event'leri üç yöntemle iletir: dataLayer.push() (Typeform, Tally Pro), postMessage (Tally, iframe formlar) ve webhook (server-side)
  • 02 Hidden fields ve UTM parametreleri ile form gönderimlerine kaynak, kampanya ve kullanıcı bilgisi eklenir
  • 03 Client-side (GTM) ve server-side (webhook) tracking birlikte kullanıldığında en güvenilir sonuç elde edilir
  • 04 Webhook tabanlı tracking ad blocker ve üçüncü taraf çerez kısıtlamalarından etkilenmez
  • 05 Cross-domain tracking, iframe embed ve consent yönetimi her form platformunda ayrı ayrı ele alınmalıdır
Sık Sorulan Sorular (FAQ)
+ Form dönüşüm takibinin temel bileşenleri nelerdir?

Üç temel bileşen: event yakalama (form gönderiminde bir event tetiklenmeli), veri zenginleştirme (kaynak, kampanya ve kullanıcı bilgisi event ile birlikte taşınmalı) ve aktarım (event ve veriler analitik/CRM sistemlerine iletilmeli).

+ dataLayer, postMessage ve webhook arasındaki fark nedir?

dataLayer.push() GTM ile doğrudan çalışır ve ek kod gerektirmez. postMessage, iframe embed formlarda ana sayfaya event gönderir ve üçüncü taraf çerez kısıtlamalarını aşar. Webhook ise server-side çalışır, ad blocker'lardan etkilenmez ancak endpoint geliştirmeyi gerektirir.

+ Webhook ve client-side tracking birlikte mi kullanılmalı?

Evet. GTM ile client-side tracking anlık dönüşüm bildirimi sağlar. Webhook ile server-side tracking ise ad blocker, consent kısıtlaması ve çerez sorunlarından bağımsız çalışır. İkisini birlikte kullanmak veri doğrulaması ve CRM aktarımı için en sağlıklı yaklaşımdır.

+ iframe embed formlarda dönüşüm takibi neden sorunlu olur?

iframe içindeki formlar farklı bir domain'de çalıştığında üçüncü taraf çerez kısıtlamaları (Safari ITP, Firefox ETP) nedeniyle GTM/GA4 tracking çalışmayabilir. postMessage yöntemi bu sorunu aşar çünkü event ana sayfaya iletilir ve cookie bağlamı korunur.