[React] react 使用 Google Analytics - 追蹤 button、select
react 使用 Google Analytics (以下簡稱GA),
你也可以不使用套件,直接使用GA上提供的「全域網站代碼(gtag.js)」
1.安裝 GA 套件
2.初始化 GA
3.將 url 加入 GA
4.將 button 加入 GA
5.將 select 加入 GA
6.將其寫成 component 置於 src/index.js
1.安裝 GA 套件
npm i react-ga4
2.初始化 GA
import ReactGA from 'react-ga4' ReactGA.initialize('G-XXXXXXXXXX') //你的GA評估ID
3.將 url 加入 GA
ReactGA.send('https://www.xxx.xxx') //你要偵測的URL
理論上加完,並執行該網頁,就會在GA平台上看到如下的狀況
4.將 button 加入 GA
const gaEventTrack = () => { // body 外無 hasAttribute 方法,避免錯誤 const body = document.querySelector('body'); body.addEventListener('click', (e) => { let target = e.target; // 查找元素不包含 data-ga-action,且到 BODY 後跳出 while(target.hasAttribute('data-ga-action') === false && target.tagName !== 'BODY'){ // 父元素覆寫當下元素 target = target.parentNode; } if(target.hasAttribute('data-ga-action')){ const dataGaCategory = target.getAttribute('data-ga-category'); // 分類:網站頁面 const dataGaAction = target.getAttribute('data-ga-action'); // 事件:功能名稱 ReactGA.event({ category: dataGaCategory, action: dataGaAction, }); return false; } }, false); }; useEffect(() => { gaEventTrack(); }, []);
5.將 select 加入 GA
const gaEventTrack = () => { ... 4. button ... // select 專用 body.addEventListener('change', (e) => { let target = e.target; // checkbox 跳出 if(target.tagName === 'INPUT') return; // 查找元素不包含 data-ga-action,且到 BODY 後跳出 while(target.hasAttribute('data-ga-category') === false && target.tagName !== 'BODY'){ // 父元素覆寫當下元素 target = target.parentNode; } if(target.hasAttribute('data-ga-category')){ const dataGaCategory = target.getAttribute('data-ga-category'); // 分類:網站頁面 const dataGaAction = target.value; // 事件:功能名稱(取得 option name) ReactGA.event({ category: dataGaCategory, action: dataGaAction, }); } }, false); ... 4. useEffect() ... };
6.將其寫成 component 置於 src/index.js
const GATracker = () => { const gaEventTrack = () => { ... 4. button ... 5. select ... 4. userEffect() }; } const Main = () => ( ... <GATracker/> ... );
留言
張貼留言