Last active
March 8, 2016 04:43
-
-
Save yukihirai0505/80e75c5493698a85f927 to your computer and use it in GitHub Desktop.
GASでGoogleAnalyticsのPV・UUを取得してスプレッドシートにセットするスクリプト
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
/** | |
アナリティクスからデータを取得してくる | |
@param startDate 開始日 | |
@param endDate 終了日 | |
@param optArgs metricsやfilterなど | |
@return analyticsの結果 | |
**/ | |
function getAnalyticsData(startDate, endDate, optArgs) { | |
var profileId = [ビューID]; | |
var tableId = 'ga:' + profileId; | |
var startDate = startDate; | |
var endDate = endDate; | |
var results = Analytics.Data.Ga.get( | |
tableId, | |
startDate, | |
endDate, | |
'ga:pageviews,ga:visitors', // metrics ga:pageviews(ページビュー数),ga:visitors(UU数) | |
optArgs); | |
return results; | |
} | |
/** | |
PVとUUのデータを取得してスプレッドシートにセット | |
@param sh シート | |
@param startDate 開始日 | |
@param endDate 終了日 | |
@param columnNum カラム番号 | |
**/ | |
function setTotalPVAndUU(sh, startDate, endDate, columnNum) { | |
var pvColumn = sh.getRange(2, columnNum); | |
var uuColumn = sh.getRange(3, columnNum); | |
var pcColumn = sh.getRange(6, columnNum); | |
var spColumn = sh.getRange(7, columnNum); | |
var totalArgs = {}; | |
var totalAnalyticsData = getAnalyticsData(startDate, endDate, totalArgs).rows[0]; | |
var mobileArgs = { | |
'filters': 'ga:deviceCategory==mobile' | |
}; | |
var mobileAnalyticsData = getAnalyticsData(startDate, endDate, mobileArgs).rows[0]; | |
var totalPV = Number(totalAnalyticsData[0]); | |
var totalUU = Number(totalAnalyticsData[1]); | |
var spUU = Number(mobileAnalyticsData[1]); | |
var pcUU = totalUU - spUU; | |
pvColumn.setValue(totalPV); | |
uuColumn.setValue(totalUU); | |
spColumn.setValue(spUU); | |
pcColumn.setValue(pcUU); | |
} | |
/** | |
指定した値をPATHに含むUUのデータを取得してスプレッドシートにセット | |
@param sh シート | |
@param startDate 開始日 | |
@param endDate 終了日 | |
@param columnNum カラム番号 | |
**/ | |
function setUUFromPath(sh, startDate, endDate, columnNum, path) { | |
var totalArgs = { | |
'filters': 'ga:pagePath=~.*' + path + '.*' | |
}; | |
var totalAnalyticsData = getAnalyticsData(startDate, endDate, totalArgs).rows[0]; | |
var mobileFromArgs = { | |
/* [,]でつなぐとOR検索で[;]でつなぐとAND検索 */ | |
'filters': 'ga:deviceCategory==mobile;' + 'ga:pagePath=~.*' + path + '.*' | |
}; | |
var mobileAnalyticsData = getAnalyticsData(startDate, endDate, mobileFromArgs).rows[0]; | |
if (path === '\?mag-from') { | |
var uuColumn = sh.getRange(21, columnNum); | |
var pcColumn = sh.getRange(22, columnNum); | |
var spColumn = sh.getRange(23, columnNum); | |
var totalUU = Number(totalAnalyticsData[1]); | |
var spUU = Number(mobileAnalyticsData[1]); | |
var pcUU = totalUU - spUU; | |
uuColumn.setValue(totalUU); | |
pcColumn.setValue(pcUU); | |
spColumn.setValue(spUU); | |
} | |
if (path === '\?app-from=push') { | |
var uuColumn = sh.getRange(24, columnNum); | |
var totalUU = Number(totalAnalyticsData[1]); | |
uuColumn.setValue(totalUU); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment