Last active
May 9, 2020 19:17
-
-
Save cihad/8ff6be6275a00fa44fbab22b15dd2a10 to your computer and use it in GitHub Desktop.
Rails, Turbolinks, Google Tag Manager, Google Analytics
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Google Tag Manager sayfanizda: | |
1. Sol menuden Tetikleyiciler'e tikla | |
a. Yeni'ye tikla | |
1) Acilan sayfanin ustunde tetikleyici adi: Adsız Tetikleyiciyi turbolinksPageView olarak degistirdim. | |
2) Tetikleyici Yapılandırması'na tikla | |
a) Tetikleyici türü seçin: ---->Ozel etkinlik<------ (*) | |
b) Etkinlik adi: turbolinks:load (*) | |
c) Baska bir seye dokunmadan Kaydet diyelim. | |
2. Etiketlere tiklayalim. (*) | |
a. Yeni diyelim. | |
1) Acilan sayfanin ustunde etiket adi olarak ben "GA - All Pages - Page View" verdim. | |
2) Tetikleyicilere tikla | |
a) + tusuna tiklayacak turbolinksPageView'i sec | |
b) Kaydet | |
3. Gonder yayinla gitsin. | |
4. Calisiyor mu dene. | |
(*) Neden Ozel etkinlik ekledik? | |
Turbolinkste sayfa tamamen yuklenmedigi icin bunu google tag manager anlayamiyor. | |
Biz bu islemi elimizle manuel olarak javascript kodu ile sayfamizda | |
yapmamiz gerekiyor. Bu sekilde turbolinks:load eventi ateslendiginde biz de gtm'i | |
atesleyecegiz. Cok atesli olacak. | |
(*) Etkinlik adi olarak ben turbolinks:load verdim. Bu adi js kodunda push olarak kullanacagiz. | |
Siz farkli isimler verebilirsiniz. Yani turbolinks:load vermis olmam kafanizi karistirmasin. | |
Mesela "turbosayfayukleme" gibi bir isim de verebilirsiniz. | |
(*) Eger daha once ekledigimiz Google Analytics etiketi varsa, ve rails uygulamamizda | |
turbolinks kullaniyorsak bu etiketteki tetikleyiciyi 1 numarada ekledigimiz tetikleyiciyi ekleyelim. | |
Sayfa Görüntüleme tetikleyicisi varsa silelim. Neden? Cunku artik turbolinksin eventi olan turbolinks:load | |
ile kendi ozel tetikleyicimizi atesleyecegiz. Hatirlayalim bu turbolinks:load eventimiz sayfa yuklenince | |
atesleniyordu. (bkz. https://github.com/turbolinks/turbolinks#full-list-of-events) | |
Sayfa GOruntuleme tetikleyiisi yoksa Madde 2.a.2'den devam edelim. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<head> | |
<% if Rails.env.production? %> | |
<!-- Google Tag Manager --> | |
<script> | |
document.addEventListener('turbolinks:load', function(event) { | |
var url = event.data.url; | |
dataLayer.push({ | |
'event': 'turbolinks:load', // Aciklamada belirttigim tetikleyicideki etkinlik adini girdik buraya. | |
'virtualUrl': url | |
}); | |
}); | |
(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', KAPSAYICIIDSINIKENDIIDNIZILEDEGISTIRIN); | |
</script> | |
<!-- End Google Tag Manager --> | |
<% end %> | |
</head> | |
<body> | |
<% if Rails.env.production? %> | |
<!-- Google Tag Manager (noscript) --> | |
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=KAPSAYICIIDSINIKENDIIDNIZILEDEGISTIRIN" | |
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> | |
<!-- End Google Tag Manager (noscript) --> | |
<% end %> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment