Google Tag Manager nədir və niyə hər dəfə developer gözləməməlisiniz

Marketinq komandası yeni bir kampaniya işə salır — deyək ki, Facebook-da konversiyaya hədəflənmiş reklam. Reklamın işləməsi üçün saytda kiçik bir dəyişiklik lazımdır: kimsə "Sifariş ver" düyməsini basanda Facebook-a bir siqnal getməlidir. Bu bir sətir kod qədər xırda görünür, amma saytın kodunu kim dəyişir? Developer. Developer isə həmin an başqa bir işin ortasındadır, "iki gündən sonra baxaram" deyir — kampaniya isə artıq işə düşüb. İlk üç günün datası bir daha geri qayıtmır, çünki o günlərdə heç nə ölçülməyib.
Bu, tək dəfəlik hadisə deyil. Yeni Instagram pikseli, ayrı bir "forma dolduruldu" siqnalı, TikTok üçün konversiya kodu, remarketinq siyahısı üçün ayrı bir işarə — hər biri eyni sıraya düşür: marketinq gözləyir, developer başqa işdədir, dəyişiklik kiçik olsa da prioritet siyahısının sonuna yazılır. Google Tag Manager (qısaca GTM) bu gözləmə sırasını tamamilə aradan qaldırmır, amma onu kimin idarə etdiyini dəyişir — və düzgün qurulmasa, əvəzində başqa problem yaradır.
Google Tag Manager konkret olaraq nə edir
GTM sadə bir prinsiplə işləyir: saytınıza bir dəfə bir kod parçası — "konteyner" — yerləşdirilir. Bundan sonra hər yeni ölçmə və ya marketinq kodu artıq sayt kodunun özündə deyil, GTM-in öz veb interfeysində saxlanılır. Google-un öz izahına görə, sistem üç element üzərində qurulub: etiketlər (tags — hər hansı üçüncü tərəf kodu, məsələn Facebook pikseli), tetikləyicilər (triggers — həmin etiketin nə vaxt işə düşəcəyini müəyyən edən şərt, məsələn "düymə basıldı") və dəyişənlər (variables — etiketin istifadə etdiyi məlumat, məsələn səhifə ünvanı və ya sifariş məbləği). Yeni bir pikseli əlavə etmək artıq kod yazmaq deyil, GTM panelində üç sahəni doldurmaqdır.
Konteyner koduna sayt daxilində yalnız bir dəfə ehtiyac var — Google-un öz sənədləri təsdiqləyir ki, hər səhifə üçün ayrı konteyner deyil, saytın bütün domeni üçün tək bir konteyner kifayətdir. Bu, developerin işini bir dəfəlik, kiçik bir tapşırığa endirir: konteyner kodunu bir dəfə yerləşdirmək. Ondan sonrakı hər dəyişiklik artıq deploy tələb etmir.
Nəticədə developer bir dəfə konteyner kodunu quraşdırır, marketinq komandası isə bundan sonra öz alətlərini — analitika, reklam pikselləri, remarketinq siqnalları — developer olmadan idarə edir.
Developer tam kənarda qalır? Yox — səlahiyyət səviyyələri buna görə var
Bu, developerin nəzarəti tamamilə itirdiyi demək deyil, tez-tez elə anlaşılsa da. GTM-in istifadəçi icazə sistemi beş səviyyəyə bölünür: girişi yoxdur, yalnız oxuma, redaktə, təsdiq və nəşr (publish). Developer öz hesabında "təsdiq" səlahiyyətini saxlaya bilər — marketinq komandası konteynerdə istədiyi qədər dəyişiklik edə, test edə bilər, amma dəyişiklik canlı sayta yalnız developerin təsdiqi ilə çıxır. Nəticədə sürət artır, nəzarət isə itmir — sadəcə kimin nəyə baxdığı dəqiqləşir.
Yeni etiketi təhlükəsiz əlavə etmək — dörd addım
- Workspace-də yarat. Marketinq komandası öz iş sahəsində (workspace) yeni etiket, tetikləyici və dəyişən əlavə edir. Bu, hələ heç bir canlı təsir yaratmır.
- Preview rejimində yoxla. GTM-in preview alətinə görə, sayt elə açılır ki, sanki yeni versiya artıq nəşr olunub — real ziyarətçilər üçün isə heç nə dəyişmir. Hansı etiketin hansı ardıcıllıqla işə düşdüyü, hansı məlumatı ötürdüyü ekranda görünür.
- Nəticəni paylaş.
Sürətə təsiri — səhv istifadə həqiqətən nə deməkdir
Burada real bir risk var, və o, "GTM saytı yavaşladır" deyilən yayğın fikirdən fərqlidir — problem GTM-in özündə deyil, konteynerə nə qədər və necə yığılmasındadır. Web.dev-in performans bələdçisinə görə, etiketlər zamanla toplanır, çünki əlavə olunur, amma nadir hallarda silinir — hər biri ayrılıqda kiçik görünsə də, onlarla, hətta yüzlərlə etiket eyni səhifədə birləşəndə, bant genişliyi və prosessor vaxtı üzərindəki yük ciddiləşir. Eyni mənbə xüsusi olaraq xəbərdarlıq edir: custom HTML tipli etiketlər ən yüksək riski daşıyır, çünki onlar səhifəyə sərbəst JavaScript əlavə edir; sadə piksel etiketləri isə daha yüngüldür.
Praktikada bu belə görünür: kimsə bir kampaniya üçün müvəqqəti izləmə kodu əlavə edir, kampaniya bitir, kod isə silinmir. Altı ay sonra konteynerdə on-beş belə "unudulmuş" etiket olur, hamısı səhifə açılan kimi işə düşür, və vaxtilə sürətli olan sayt indi ilk ekranın görünməsində nəzərəçarpacaq gecikmə verir. Google-un tövsiyəsi konkretdir: mütləq lazım olmayan etiketləri "Window Loaded" (səhifə tam yükləndikdən sonra) tetikləyicisinə keçirin ki, ilk yüklənişə mane olmasınlar, və konteyneri müntəzəm nəzərdən keçirib artıq istifadə olunmayan etiketi silin.
GA4 ilə birgə necə işləyir
GTM tək başına ölçmə aləti deyil — o, ölçmə kodunu daşıyan boru xəttidir. Ən çox yayılmış istifadə halı budur: GA4-ün əsas kodu bir dəfə konteynerə qoyulur, sonra hər yeni "hadisə" — sifariş tamamlandı, forma dolduruldu, video izlənildi — ayrıca bir etiket kimi GTM üzərindən GA4-ə göndərilir, sayt kodu bir daha toxunulmadan. Bu birləşmə səliqəsiz qurulsa, rahatlıq əvəzinə səssiz xətalar yaradır — hadisənin iki dəfə sayılması və ya heç ötürülməməsi kimi, çünki heç bir xəta mesajı çıxmır, sadəcə hesabatda rəqəm görünmür.
Ən çox rast gəlinən xəta budur: bir vaxtlar developer GA4 kodunu birbaşa sayt koduna əlavə edib, sonra kimsə eyni GA4 hesabını GTM üzərindən də qoşub, köhnə kodu isə silməyi unudub. Nəticədə hər səhifə görüntüsü, hər sifariş iki dəfə hesabata yazılır — konversiya sayı real satışdan yüksək çıxır, reklam performansı olduğundan yaxşı görünür, və heç kim bunun səbəbini axtarmır, çünki rəqəm "yaxşı" görünür. Bunu tapmağın yolu sadədir: brauzerin şəbəkə panelində eyni hadisə üçün iki ayrı sorğu gedirsə, təkrarlama var deməkdir.
Konteynerə əlavə olunan hər yeni etiket pulsuz görünür — hesabını isə sürət ödəyir.
Əgər saytınızda illər ərzində toplanmış etiketlər varsa və onların neçəsinin hələ işlədiyini bilmirsinizsə, bunu təxmin etməyə ehtiyac yoxdur — pulsuz sürət auditi alətimiz səhifənin real yüklənmə göstəricilərini çıxarır. Konteynerin özündən başlayaraq, ölçmə infrastrukturunun düzgün qurulması xidmətimiz GTM və GA4-ü elə bağlayır ki, marketinq komandası sürətdən itirmədən sərbəst işləyə bilsin.