Izvoz · Google Sheets

Održavajte metrike NowMetrixa u Google Sheetsu

Pomoću Google Apps Scripta sigurno dohvaćajte dnevne podatke NowMetrixa, osvježavajte proračunsku tablicu prema rasporedu i učinite ih dostupnima za izračune, dijeljenje ili izvješća u Looker Studiju.

Kako funkcionira povezivanje

Proračunska tablica služi kao mali podatkovni most pod Vašom kontrolom:

NowMetrix REST API → Google Apps Script → Google Sheet → optional Looker Studio report

Podaci se ne uvoze u Google Analytics. Apps Script šalje zahtjev odabranoj krajnjoj točki NowMetrixa s Vašim API ključem i upisuje vraćene retke u proračunsku tablicu. Looker Studio zatim može upotrebljavati taj radni list kao zaseban izvor podataka.

Ovo je dobro rješenje za izvješćivanje po satu ili danu. Google Sheets i Looker Studio predmemoriraju podatke, pa za praćenje redakcije iz sekunde u sekundu upotrebljavajte nadzornu ploču NowMetrixa.

1. Pripremite API ključ i proračunsku tablicu

  1. U NowMetrixu otvorite Postavke → API i izradite zaseban ključ s oznakom Google Sheets.
  2. Kopirajte cijeli ključ kada se prikaže. Poslije ga više neće biti moguće prikazati.
  3. Zabilježite ID trackera za web-mjesto čije podatke želite izvesti.
  4. Izradite novi Google Sheet, primjerice NowMetrix Export.
  5. Postavite vremensku zonu proračunske tablice na istu vremensku zonu kao i tracker NowMetrixa.

U primjeru u nastavku izvozi se posljednjih 30 dnevnih redaka iz krajnje točke /v1/overview. Svaki redak sadržava datum, tracker, vremensku zonu trackera, broj pregleda stranica i broj posjeta.

2. Pohranite API ključ u svojstva skripte

U Google Sheetu odaberite Proširenja → Apps Script. Zatim:

  1. Otvorite Postavke projekta pomoću ikone zupčanika.
  2. U odjeljku Svojstva skripte odaberite Dodaj svojstvo skripte.
  3. Dodajte sljedeća dva svojstva:
Svojstvo Vrijednost
NOWMETRIX_API_KEY Vaš ključ koji počinje s nm_
NOWMETRIX_TRACKER_ID ID trackera čije podatke izvozite
API ključ nikada nemojte unositi u ćeliju proračunske tablice, parametar izvješća, izvorni kod skripte, URL ili poruku zapisnika. Svojstva skripte drže ga izvan radnog lista, ali osobama s ovlastima za uređivanje projekta Apps Script i dalje morate vjerovati.

3. Dodajte skriptu za izvoz

Zamijenite sadržaj datoteke Code.gs ovom skriptom. Skripta provjerava konfiguraciju, ograničava pristup proračunskim tablicama na trenutačni dokument, obrađuje pogreške API-ja i zamjenjuje radni list tek nakon uspješnog odgovora.

/**
 * @OnlyCurrentDoc
 */

const NOWMETRIX_BASE_URL = 'https://api.nowmetrix.com';

function fetchNowMetrix(path) {
  const properties = PropertiesService.getScriptProperties();
  const apiKey = properties.getProperty('NOWMETRIX_API_KEY');
  const trackerId = properties.getProperty('NOWMETRIX_TRACKER_ID');

  if (!apiKey || !trackerId) {
    throw new Error('NOWMETRIX_API_KEY or NOWMETRIX_TRACKER_ID is missing.');
  }

  const separator = path.includes('?') ? '&' : '?';
  const url = NOWMETRIX_BASE_URL
    + path
    + separator
    + 'site=' + encodeURIComponent(trackerId);

  const response = UrlFetchApp.fetch(url, {
    method: 'get',
    headers: {
      Authorization: 'Bearer ' + apiKey,
      Accept: 'application/json'
    },
    muteHttpExceptions: true
  });

  const status = response.getResponseCode();
  const body = response.getContentText();

  if (status < 200 || status >= 300) {
    throw new Error('NowMetrix API returned HTTP ' + status + ': ' + body);
  }

  return JSON.parse(body);
}

function toSheetDate(value) {
  const parts = value.split('-').map(Number);
  return new Date(parts[0], parts[1] - 1, parts[2]);
}

function syncNowMetrixDaily() {
  const result = fetchNowMetrix('/v1/overview?days=30');
  const rows = result.daily.map(day => [
    toSheetDate(day.date),
    result.site,
    result.timezone,
    day.pageviews,
    day.visits
  ]);

  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = spreadsheet.getSheetByName('Daily')
    || spreadsheet.insertSheet('Daily');
  const values = [
    ['date', 'tracker', 'timezone', 'pageviews', 'visits'],
    ...rows
  ];

  sheet.clearContents();
  sheet.getRange(1, 1, values.length, values[0].length).setValues(values);
  sheet.setFrozenRows(1);
  sheet.getRange(1, 1, 1, values[0].length).setFontWeight('bold');

  if (rows.length > 0) {
    sheet.getRange(2, 1, rows.length, 1).setNumberFormat('yyyy-mm-dd');
    sheet.getRange(2, 4, rows.length, 2).setNumberFormat('#,##0');
  }

  sheet.autoResizeColumns(1, values[0].length);
}

Nemojte zamijeniti NOWMETRIX_API_KEY stvarnim ključem u izvornom kodu. Skripta ga tijekom izvođenja čita iz svojstava skripte. Ostavite @OnlyCurrentDoc na vrhu: Googleu govori da zatraži pristup ovoj proračunskoj tablici, a ne svim proračunskim tablicama na Vašem računu.

4. Spremite i jednom pokrenite skriptu

  1. Imenujte projekt NowMetrix Google Sheets Export u gornjem lijevom kutu.
  2. Spremite projekt Apps Script pomoću ikone diska ili tipkovničkog prečaca.
  3. U izborniku funkcija na alatnoj traci uređivača odaberite syncNowMetrixDaily.
  4. Odaberite Run pokraj izbornika funkcija.
Nemojte odabrati Deploy. Ovaj izvoz nije web-aplikacija, izvršni API, dodatak ni biblioteka i ne zahtijeva implementaciju. Funkciju pokrenite izravno u uređivaču.

5. Autorizirajte vlastiti projekt Apps Script

Google će prvi put kada se skripta pokrene zatražiti dopuštenje. Odaberite Pregledaj dopuštenja i odaberite Google račun koji je vlasnik proračunske tablice.

Upozorenje poput Google nije potvrdio ovu aplikaciju očekivano je za privatni, samostalno izrađeni projekt Apps Script. E-adresa razvojnog programera koju prikazuje Google trebala bi biti Vaša vlastita e-adresa Google računa. Projekt nije Googleova aplikacija NowMetrixa i NowMetrixu ne daje pristup Vašem Google računu.

  1. Potvrdite da ste izradili projekt Apps Script i da je e-adresa razvojnog programera Vaša.
  2. Na zaslonu s upozorenjem odaberite Napredno.
  3. Nastavite do imenovanog projekta. Google ovu poveznicu može označiti kao nesigurnu jer privatni projekt nije potvrđen.
  4. Pregledajte zatražena dopuštenja i odaberite Dopusti ili Nastavi.
Dopuštenje Zašto je potrebno
Pristup trenutačnoj proračunskoj tablici Izrada ili ažuriranje radnog lista Daily u ovoj Google tablici.
Povezivanje s vanjskom uslugom Slanje HTTPS zahtjeva na https://api.nowmetrix.com.
Zaustavite postupak ako e-adresa razvojnog programera nije Vaša, ako niste izradili projekt ili se kod razlikuje od primjera. Ako Google zatraži pristup svim Vašim proračunskim tablicama, otkažite postupak, provjerite je li @OnlyCurrentDoc na samom vrhu datoteke Code.gs, spremite promjene i ponovno pokrenite funkciju.

Ako ste već odobrili širi pristup proračunskim tablicama, uklonite projekt u odjeljku Google račun → Sigurnost → Povezivanja s aplikacijama i uslugama trećih strana, a zatim ponovno pokrenite spremljenu skriptu kako biste zatražili uži opseg dopuštenja.

Google opisuje ovaj tijek autorizacije i ograničenje @OnlyCurrentDoc u svojem vodiču za autorizaciju Apps Scripta.

6. Provjerite prvi izvoz

Nakon autorizacije Apps Script nastavlja izvođenje. U zapisniku izvođenja pričekajte poruku Izvršavanje je dovršeno, vratite se u proračunsku tablicu i otvorite novi radni list Daily. Rezultat bi trebao izgledati ovako:

date tracker timezone pageviews visits
2026-08-22 TRACKER_ID Europe/Zurich 81,240 53,210
2026-08-23 TRACKER_ID Europe/Zurich 77,480 50,195

7. Zakažite automatska ažuriranja

U Apps Scriptu otvorite Okidači pomoću ikone sata i dodajte okidač:

Funkcija syncNowMetrixDaily
Implementacija Head
Izvor događaja Temeljeno na vremenu
Učestalost Svaki sat ili rjeđe za dnevno izvješće

Okidač se izvršava pod Google računom koji ga je izradio. Taj račun mora ostati aktivan, a obavijesti o pogreškama Apps Scripta redovito provjeravajte. Izbjegavajte nepotrebno često slanje zahtjeva: javni API NowMetrixa trenutačno dopušta 20 zahtjeva u minuti po trackeru, zajednički za ključeve i korisnike.

Primjer pri svakom uspješnom izvođenju zamjenjuje pomičnu tablicu za posljednjih 30 dana. Time se sprječavaju duplicirani datumi i radni list ostaje pregledan.

8. Upotrijebite radni list u Looker Studiju

  1. Izradite ili otvorite izvješće u alatu Looker Studio.
  2. Odaberite Dodaj podatke → Google Sheets.
  3. Odaberite proračunsku tablicu i radni list Daily.
  4. Upotrijebite prvi redak kao zaglavlja i povežite izvor podataka.
  5. Potvrdite da je date datum te da su pageviews i visits numeričke metrike.

Sada možete izraditi grafikone vremenskih nizova, kartice s rezultatima, tablice i izračunata polja kao što je pageviews / visits. Looker Studio ovo čita kao zaseban izvor podataka; vrijednosti NowMetrixa ne pretvara u događaje Google Analyticsa.

Google preostale postavke izvješća opisuje u svojem vodiču za povezivanje Google Sheetsa.

Izvoz drugih podataka NowMetrixa

Slučaj upotrebe Primjer krajnje točke Preporučeno ponašanje radnog lista
Dnevni pregledi stranica i posjeti /v1/overview?days=30 Zamijenite ili ažurirajte retke prema trackeru i datumu
Najpopularnije stranice jučer /v1/recap?preset=yesterday&limit=100 Dodajte jednom dnevno ili zamijenite trenutačni rezultat
Trenutačna snimka podataka uživo /v1/realtime Pri izradi trenda dodajte vremensku oznaku odgovora
Trenutačni izvori prometa /v1/sources Dodajte vremensku oznaku odgovora ili zamijenite trenutačnu snimku
Recap kao što je preset=last30 sadržava ukupne vrijednosti za cijeli pomični raspon. Nemojte te vrijednosti svaki dan dodavati postojećima. Za zbrajajuću povijest članaka izvezite završeno razdoblje, primjerice yesterday, i uz svaki redak pohranite raspon.

Kontrolni popis za sigurnost i dijeljenje

  • Za izvoz upotrebljavajte zaseban API ključ NowMetrixa i dodijelite mu samo potreban pristup trackerima.
  • Ključ pohranjujte samo u svojstvima skripte ili drugom poslužiteljskom spremištu tajni.
  • U skripti zadržite @OnlyCurrentDoc kako biste pristup Google Sheetsu ograničili na ovaj dokument.
  • Ključ nikada nemojte uključivati u ćelije, formule, parametre izvješća, URL-ove, snimke zaslona ili zapisnike.
  • Ograničite ovlasti za uređivanje projekta Apps Script. Urednike morate smatrati pouzdanim korisnicima.
  • Skriptu autorizirajte samo kada Google kao razvojnog programera prikazuje Vaš račun.
  • Za svaki račun NowMetrixa upotrebljavajte zasebnu proračunsku tablicu u vlasništvu korisnika.
  • Prije objave izvješća provjerite postavke dijeljenja Google Sheetsa i Looker Studija.
  • Odmah opozovite API ključ ako postoji mogućnost da su proračunska tablica, skripta ili Google račun ugroženi.
Pristup API-ju slijedi trackere kojima korisnik NowMetrixa smije pristupiti. Uklanjanje tog pristupa ili opoziv ključa zaustavlja buduće izvoze, ali ne briše podatke koji su već kopirani u Google.

Rješavanje problema

Problem Što provjeriti
HTTP 401 API ključ nedostaje, nepotpun je, nevažeći ili opozvan.
HTTP 403 API ključ nema pristup konfiguriranom trackeru.
HTTP 429 Prekoračeno je ograničenje brzine API-ja za tracker. Smanjite učestalost okidača.
HTTP 503 Analitička pozadina trenutačno nije dostupna. Zadržite postojeće podatke u radnom listu i pokušajte ponovno poslije.
Nema radnog lista Daily Ručno pokrenite syncNowMetrixDaily i pregledajte pojedinosti izvođenja u Apps Scriptu.
Google navodi da aplikacija nije potvrđena To je očekivano za Vašu privatnu skriptu. Nastavite samo ako ste izradili projekt i Google prikazuje Vašu vlastitu e-adresu razvojnog programera.
Google traži pristup svim proračunskim tablicama Otkažite postupak, dodajte @OnlyCurrentDoc na vrh datoteke Code.gs, spremite promjene i ponovno pokrenite funkciju.
Datumi izgledaju netočno Uskladite vremensku zonu Google Sheetsa s vremenskom zonom trackera koju vraća API.