在閱讀這篇之前,假設讀者都已經知道GA的基礎知識,比如怎麼看GA報表,或已經知道dimensions 以及 metrics的差異等等,這樣才能正確的抓到自己想要的資料
首先,先include ‘gapi.class.php’ 這支程式,從這裡GitHub下載
<?phpinclude_once("/api/gapi.class.php"); $gaUsername = ‘[your ga name]’; //你GA帳號的名稱$gaPassword = ‘[your ga password]’; //你GA帳號的密碼$profileId = ‘123456’;
到這邊為止都是先處理好帳號問題,你要先匯入你自己的GA帳號,API才知道要抓誰的資料
這邊開始要設定想要抓取的 dimensions or metrics,若你不確定要怎麼抓,可以參考此官方英文文件
$dimensions = array(‘eventLabel’); //可換成 eventCategory $metrics = array(‘totalEvents’,’uniqueEvents’); //查詢重複事件與不重複事件$sort = “eventLabel” ; //根據哪個資料排序//如SQL的WHERE 下篩選判斷,想要抓什麼資料 $filter = “eventCategory== AD_Button”;$fromDate = “3daysAgo”; //輸入一個日期區間$toDate = “2daysAgo”;
GA的日期搜尋方式如下顯示:
昨天 : “yesterday”
前天: “2daysAgo”
大前天 : “3daysAgo”
指定日期: ‘2017–06–06’
打好想要的資料,就可以開始 call GA的 API了
//開始call ga api$ga = new gapi($gaUsername, $gaPassword);$ga->requestReportData($profileId, $dimensions, $metrics, $sort, $filter, $fromDate, $toDate, 1, 10000);$gaResults = $ga->getResults(); foreach($gaResults as $results){$GA_uniqueEvents= $results->getMetrics(); //拿 metrics$GA_eventLabel = $results->getDimensions(); //拿Dimension$newarray[‘GA_totalEvents’] = $GA_uniqueEvents[‘totalEvents’] ; //取總點擊$newarray[‘GA_uniqueEvents’] = $GA_uniqueEvents[‘uniqueEvents’]; //取不重複點擊$newarray[‘GA_eventLabel’] = $GA_eventLabel[‘eventLabel’] ;;} return $newarray;?>
之後你就可以利用$newarray去做發揮,想要存在DB或是顯示在前端都可以
注意事項: GA api是有 request上限的,因此不建議在短時間內大量 call這 API,你會被google寄封信說要你提升GA帳號成企業版本,那很貴的
因此好的做法是,每次call GA API有個時間間隔,並且盡量減少次數,最好是能存在DB裡,這樣想用幾次就用幾次,不用一直request
文章出處 —
Daniel Wang,前端工程師。