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 = [
    "&tid=" + gaaccount,
    "&cid=" + client_id,
    "&z="   + cache_buster,
    "&ec="  + event_category,
    "&ea="  + event_action,
    "&el="  + event_label
  return imageURL;