# Bir PrestaShop mağazasına Google Tag Manager kurulumu

> PrestaShop’ta Google Tag Manager, temaya bir kez eklenen bir konteyner anlamına gelir; ardından GA4, Ads, Meta gibi tüm etiketler yeniden yayına almaya gerek kalmadan GTM arayüzünden yönetilir. Bununla birlikte kurduğum ön koşul, PrestaShop tarafından beslenen bir dataLayer’dır; aksi hâlde GTM’in okuyacağı hiçbir şey olmaz.

- Source canonique : [https://allaux.fr/tr/services/tracking/google-tag-manager-prestashop](https://allaux.fr/tr/services/tracking/google-tag-manager-prestashop)
- Langue : TR
- Dernière mise à jour : 2026-09-30

## Doğrudan yanıt

> Konteyneri Google Tag Manager’da oluşturun, ardından ilk kod parçasını displayHeader, ikincisini displayAfterBodyOpeningTag hook’u üzerinden yerleştirin; kodu themes//templates/ altına kopyalamayın. Sonra PrestaShop’un ürün, sepet ve sipariş değişkenlerini dataLayer’a göndermesini sağlayın, aksi hâlde konteynerin okuyacağı bir şey olmaz. Tümünü Önizleme modunda order-confirmation sayfasına kadar kontrol edin.

## Ele aldığım durumlar

- Pazarlama araçlarını birer birer ekliyor ve her seferinde temaya dokunmak zorunda kalıyorsunuz
- GTM kurulu ama hiçbir etiket düzgün tetiklenmiyor
- Konteynerin iki kod parçasını nereye düzgün yerleştireceğinizden emin değilsiniz
- PrestaShop dataLayer’ı sepette ve siparişte boş veya eksik
- Sitede birden fazla kişi çalışıyor ve takip kodu birden fazla yerde tekrarlanıyor

## GTM’i PrestaShop’a nasıl kuruyorum

1. **GTM konteynerinin oluşturulması** — Google Tag Manager arayüzünde konteyneri oluşturuyorum; bu, biri head için diğeri body etiketinin hemen açılışından sonrası için olmak üzere iki kod parçası üretir.
2. **PrestaShop temasına yerleştirme** — İlk kod parçasını temanın head.tpl dosyasına, kapanışından hemen önce; ikincisini ise her sayfaya kopyalanan bir dosyaya koda yazmak yerine displayAfterBodyOpeningTag hook’una yerleştiriyorum.
3. **dataLayer’ın oluşturulması** — GTM’in okuyacağı verisi olsun diye, PrestaShop’un ürün, sepet ve sipariş değişkenlerini (items, value, currency, transaction_id) ürün sayfasında, sepette ve order-confirmation sayfasında doğru anda göndermesini sağlıyorum.
4. **Etiketlerin GTM arayüzünden eklenmesi** — dataLayer hazır olduktan sonra, tema koduna geri dönmeden GA4 ve diğer pazarlama etiketlerini doğrudan GTM içinde ekliyorum.
5. **Önizleme modunda test** — Konteyneri yayına almadan önce, hangi etiketlerin hangi dataLayer değişkenleriyle tetiklendiğini sayfa sayfa kontrol ediyorum.

## Her etiketi koda yazmak yerine neden GTM kullanıyorum

Bir etiket yöneticisi olmadan, yeni bir pazarlama aracı, bir Meta pikseli, bir Google Ads etiketi, PrestaShop temasının düzenlenmesini ve önbelleğin temizlenmesini gerektirir. GTM ile tek bir konteyner yalnızca bir kez eklenir ve sonraki tüm etiketler yeniden yayına almaya gerek kalmadan arayüzden yönetilir.

Konteyner tek başına yeterli değildir: GTM bir dataLayer okur; bu, PrestaShop tarafından doğru anda ürün, sepet ve sipariş bilgileriyle beslenmesi gereken bir JavaScript veri katmanıdır. Yapılandırılmış bir dataLayer olmadan, konteyner doğru kurulmuş olsa bile GTM’e eklenen ecommerce etiketlerinin okuyacağı hiçbir şey olmaz.

Tek bir bakım noktası korumak için, iki kod parçasını birden fazla kopyalanmış şablona koda yazmak yerine tema dosyaları ve PrestaShop’un yerleşik hook’ları üzerinden yerleştirmeyi tercih ediyorum.

## Bir konteyner, iki konum

> İlk GTM kod parçası head etiketine gider: konteyneri yükleyen ve her şeyi çalıştıran odur. Body etiketinin hemen açılışından sonrasına konulan ikincisi ise bir iframe içeren bir noscript etiketidir: yalnızca tarayıcıda JavaScript devre dışı bırakılmışsa çalışır ve o zaman da dataLayer veya ecommerce olayı olmadan yalnızca bir sayfa görüntülemesi bildirir. Kapsamı bu nedenle çok sınırlıdır, ancak Google konteynerle birlikte verdiği için yine de yerleştiriyorum.

## İlgili sayfalar

- **PrestaShop’ta Google Analytics 4** — GTM konteyneri kurulduktan sonra eklenecek ilk etiket. ([/services/tracking/google-analytics-4-prestashop](/services/tracking/google-analytics-4-prestashop))
- **Mükerrer istatistikler: nedenleri** — Bir GTM konteyneri aynı sayfaya iki kez kurulduğunda ne olduğu. ([/services/tracking/doublons-statistiques-causes](/services/tracking/doublons-statistiques-causes))
- **Ücretli araç olmadan etiket kurulumunu doğrulama** — Bir etiketin gerçekten tetiklendiğini kontrol etmek için ücretsiz araçlar. ([/services/tracking/verifier-installation-balise-sans-outil-payant](/services/tracking/verifier-installation-balise-sans-outil-payant))
- **PrestaShop, ana çalışma alanım** — Günlük olarak ele aldığım diğer PrestaShop konuları. ([/prestashop](/prestashop))

## FAQ

### GTM konteyneri Google Analytics 4’ün yerini alır mı?

Hayır, GTM bir etiket yöneticisidir. GA4 ölçüm aracı olmaya devam eder: konteyner kurulduktan sonra içine bir etiket olarak eklenir.

### GTM ve gtag.js’i aynı anda kurabilir miyim?

Hayır: bu durumda GA4 iki kez yüklenir ve her olay çift gönderilir. Bir yöntemi seçiyorum, aynı sitede asla ikisini birden kullanmıyorum.

### GTM kurmak için bir PrestaShop eklentisine ihtiyacım var mı?

Bir eklenti iki kod parçasının yerleştirilmesini kolaylaştırabilir, ancak genellikle tam konum üzerinde kontrol sahibi olmak ve diğer takip eklentileriyle çakışmayı önlemek için doğrudan tema dosyaları üzerinden ilerliyorum.

### PrestaShop dataLayer’ının doğru beslendiğini nasıl kontrol ederim?

Google Tag Manager’ın önizleme modu, bir etiket tetiklendiğinde her sayfadaki dataLayer içeriğini gösterir; bu sayede value veya transaction_id gibi bir değişkenin boş olduğunu hemen görebilirsiniz.

### GTM etiketleri tetiklemeden önce ziyaretçi onayı almam gerekiyor mu?

GTM’in kendisi hiçbir şey toplamaz: söz konusu olan onun tetiklediği etiketlerdir, GA4, Ads, Meta. GA4, standart yapılandırmasında CNIL’in muafiyet kriterlerini karşılamıyor ve bu nedenle ilke olarak ziyaretçinin ön onayını gerektiriyor.
