A Custom Google Spreadsheet Function for Tracking Pageviews
GOOGLEANALYTICS
is a custom Google Spreadsheet function that tracks Spreadsheet views with the help of Google Apps Script. It includes the JSDoc @customfunction tag and thus the function will autocomplete when begin typing in a spreadsheet cell.
/**
* Track Spreadsheet views with Google Analytics
*
* @param {string} gaaccount Google Analytics Account like UA-1234-56.
* @param {string} spreadsheet Name of the Google Spreadsheet.
* @param {string} sheetname Name of individual Google Sheet.
* @return The 1x1 tracking GIF image
* @customfunction
*/
function GOOGLEANALYTICS(gaaccount, spreadsheet, sheetname) {
/**
* Written by Amit Agarwal
* Web: www.ctrlq.org
* Email: amit@labnol.org
*/
/* Random ID to prevent browser caching */
var cache_buster = Math.round(Date.now() / 1000).toString();
/* Client ID to anonymously define the device */
var client_id = Utilities.getUuid();
// Event Category set to Google Spreadsheets
var event_category = encodeURIComponent('Google Spreadsheets');
// Event Action set to spreadsheet title
var event_action = encodeURIComponent(spreadsheet || 'Spreadsheet');
// Event Label set to sheet title
var event_label = encodeURIComponent(sheetname || 'Sheet');
var imageURL = [
'https://ssl.google-analytics.com/collect?v=1&t=event',
'&tid=' + gaaccount,
'&cid=' + client_id,
'&z=' + cache_buster,
'&ec=' + event_category,
'&ea=' + event_action,
'&el=' + event_label,
].join('');
return imageURL;
}
Amit Agarwal
Google Developer Expert, Google Cloud Champion
Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.
Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory