var GA_TRACKING_ID = 'UA-xxxxxxxx-y';

// Powiązanie pól formularza z polami w GA.
var data_mapping = {
  0: 'cid', // identyfikator klienta
  1: 'uid', // identyfikator użytkownika
  2: 'tr',  // wartość transakcji
  3: 'in',  // nazwa przedmiotu
}

function trackForm(e) {
  var data = [],
    item,
    res = e.response.getItemResponses();

  for (var i=0; i< res.length; i++){
    item = res[i].getItem();
    if(data_mapping[item.getIndex()]) {
      data.push([
        data_mapping[item.getIndex()],
        res[i].getResponse()
      ]);
    }
  }

  data.push(
    ['tid', GA_TRACKING_ID], // Identyfikator zdefiniowany na początku skryptu.
    ['v' , '1'],             // Wersja protokołu.
    // ['cid', Math.floor(Math.random()*10E7)],
    // Jeżeli nie posiadasz identyfikatora klienta, usuń ukośniki z powyższego wiersza. Zostanie użyta losowa wartość.
    ['t' , 'transaction'], // Zdarzenie musi być typu:
                           // 'pageview', 'appview', 'event',
                           // 'transaction', 'item', 'social',
                           // 'exception', 'timing'.
    ['ti', Math.floor(Math.random()*10E7)], // Nadanie identyfikatorowi transakcji losowej wartości.
    ['z' , Math.floor(Math.random()*10E7)]  // Przeładowanie pamięci podręcznej.
  );

  var payload = data.map(function(el){return el.join('=')}).join('&');

  var options = {
    'contentType': 'application/json',
    'method' : 'post',
    'payload' : payload
  };
  UrlFetchApp.fetch('http://www.google-analytics.com/collect', options);
}
