Export · Google Sheets

Mějte metriky NowMetrix v Google Sheets

Pomocí Google Apps Scriptu bezpečně načítejte denní data NowMetrix, plánujte aktualizace tabulky a zpřístupněte data pro výpočty, sdílení nebo přehledy v Looker Studio.

Jak propojení funguje

Tabulka funguje jako malý datový most pod vaší kontrolou:

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

Data se neimportují do Google Analytics. Apps Script požádá vybraný endpoint NowMetrix o data pomocí vašeho API klíče a zapíše vrácené řádky do tabulky. Looker Studio pak může tento list použít jako samostatný zdroj dat.

Toto nastavení se hodí pro hodinové nebo denní přehledy. Google Sheets a Looker Studio data ukládají do mezipaměti, proto pro sledování redakce po sekundách používejte přehledový panel NowMetrix.

1. Připravte API klíč a tabulku

  1. V NowMetrix otevřete Nastavení → API a vytvořte samostatný klíč s označením Google Sheets.
  2. Po zobrazení zkopírujte celý klíč. Později ho už nebude možné znovu zobrazit.
  3. Poznamenejte si ID trackeru webu, který chcete exportovat.
  4. Vytvořte nový Google Sheet, například NowMetrix Export.
  5. Nastavte časové pásmo tabulky na stejné časové pásmo, jaké používá tracker NowMetrix.

Níže uvedený příklad exportuje posledních 30 denních řádků z /v1/overview. Každý řádek obsahuje datum, tracker, časové pásmo trackeru, zobrazení stránek a návštěvy.

2. Uložte API klíč do vlastností skriptu

V Google Sheetu vyberte Rozšíření → Apps Script. Potom:

  1. Pomocí ikony ozubeného kola otevřete Nastavení projektu.
  2. V části Vlastnosti skriptu vyberte Přidat vlastnost skriptu.
  3. Přidejte následující dvě vlastnosti:
Vlastnost Hodnota
NOWMETRIX_API_KEY Váš klíč začínající řetězcem nm_
NOWMETRIX_TRACKER_ID ID trackeru, který chcete exportovat
API klíč nikdy nevkládejte do buňky tabulky, parametru přehledu, zdrojového kódu, URL ani zprávy v protokolu. Vlastnosti skriptu ho udrží mimo list, ale lidé s právem upravovat projekt Apps Scriptu musí být stále důvěryhodní.

3. Přidejte exportní skript

Nahraďte obsah souboru Code.gs tímto skriptem. Skript kontroluje konfiguraci, omezuje přístup tabulky na aktuální dokument, zpracovává chyby API a list nahradí pouze po úspěšné odpovědi.

/**
 * @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);
}

Nenahrazujte NOWMETRIX_API_KEY skutečným klíčem ve zdrojovém kódu. Skript ho při spuštění načte z vlastností skriptu. Ponechte @OnlyCurrentDoc nahoře: Google tak požádá o přístup k této tabulce, nikoli ke všem tabulkám ve vašem účtu.

4. Uložte a jednou skript spusťte

  1. V levém horním rohu pojmenujte projekt NowMetrix Google Sheets Export.
  2. Uložte projekt Apps Scriptu pomocí ikony disku nebo klávesové zkratky.
  3. V nabídce funkcí na panelu nástrojů editoru vyberte syncNowMetrixDaily.
  4. Vedle nabídky funkcí vyberte Spustit.
Nevybírejte Nasadit. Tento export není webová aplikace, spustitelné API, doplněk ani knihovna a nevyžaduje žádné nasazení. Funkci spusťte přímo v editoru.

5. Autorizujte vlastní projekt Apps Scriptu

Google při prvním spuštění skriptu požádá o oprávnění. Vyberte Prohlédnout oprávnění a zvolte účet Google, který vlastní tabulku.

U soukromého projektu Apps Scriptu, který jste vytvořili sami, se očekává upozornění Google tuto aplikaci neověřil. E-mail vývojáře zobrazený Googlem by měl patřit vašemu účtu Google. Projekt není aplikací Google ani NowMetrix a neposkytuje NowMetrix přístup k vašemu účtu Google.

  1. Potvrďte, že jste projekt Apps Scriptu vytvořili vy a že e-mail vývojáře patří vám.
  2. Na obrazovce s upozorněním vyberte Rozšířené.
  3. Pokračujte do svého pojmenovaného projektu. Google může tento odkaz označit jako nebezpečný, protože soukromý projekt není ověřený.
  4. Prohlédněte si požadovaná oprávnění a vyberte Povolit nebo Pokračovat.
Oprávnění Proč je potřeba
Přístup k aktuální tabulce Vytvoření nebo aktualizace listu Daily v tomto Google Sheetu.
Připojení k externí službě Odeslání požadavku HTTPS na https://api.nowmetrix.com.
Zastavte se, pokud e-mail vývojáře nepatří vám, projekt jste nevytvořili nebo se kód liší od příkladu. Pokud Google požaduje přístup ke všem vašim tabulkám, zrušte akci, ověřte, že @OnlyCurrentDoc je úplně nahoře v souboru Code.gs, uložte projekt a spusťte funkci znovu.

Pokud jste již schválili širší přístup k tabulkám, odeberte projekt v části Účet Google → Zabezpečení → Připojení k aplikacím a službám třetích stran a uložený skript znovu spusťte, aby požádal o omezená oprávnění.

Google tento proces autorizace a omezení @OnlyCurrentDoc popisuje v příručce k autorizaci Apps Scriptu.

6. Ověřte první export

Po autorizaci Apps Script pokračuje ve spuštění. V protokolu spuštění počkejte na Spuštění dokončeno, vraťte se do tabulky a otevřete nový list Daily. Výsledek by měl vypadat podobně:

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. Naplánujte automatické aktualizace

V Apps Scriptu otevřete pomocí ikony hodin Spouštěče a přidejte spouštěč:

Funkce syncNowMetrixDaily
Nasazení Head
Zdroj události Řízené časem
Četnost Každou hodinu, nebo méně často u denního přehledu

Spouštěč běží pod účtem Google, který ho vytvořil. Tento účet udržujte aktivní a kontrolujte oznámení o chybách Apps Scriptu. Vyhněte se zbytečně častým požadavkům: veřejné API NowMetrix aktuálně umožňuje 20 požadavků za minutu na tracker, sdílených mezi klíči a uživateli.

Příklad při každém úspěšném spuštění nahradí průběžnou tabulku za posledních 30 dní. Zabrání tak duplicitním datům a udrží tabulku přehlednou.

8. Použijte list v Looker Studio

  1. Vytvořte nebo otevřete přehled v Looker Studio.
  2. Vyberte Přidat data → Google Sheets.
  3. Vyberte tabulku a list Daily.
  4. Použijte první řádek jako záhlaví a připojte zdroj dat.
  5. Ověřte, že date je datum a pageviews a visits jsou číselné metriky.

Nyní můžete vytvářet časové grafy, karty s hodnotami, tabulky a vypočítaná pole, například pageviews / visits. Looker Studio tato data načítá jako samostatný zdroj dat; hodnoty NowMetrix nepřevádí na události Google Analytics.

Zbývající nastavení přehledu Google popisuje v příručce ke konektoru Google Sheets.

Exportujte další data NowMetrix

Případ použití Příklad endpointu Doporučené chování listu
Denní zobrazení stránek a návštěvy /v1/overview?days=30 Nahradit nebo aktualizovat řádky podle trackeru a data
Nejčtenější stránky za včerejšek /v1/recap?preset=yesterday&limit=100 Jednou denně přidat, nebo nahradit aktuální výsledek
Aktuální živý snímek /v1/realtime Při tvorbě trendu přidat čas odpovědi
Aktuální zdroje návštěvnosti /v1/sources Přidat čas odpovědi, nebo nahradit aktuální snímek
Recap, například preset=last30, obsahuje součty za celé průběžné období. Tyto hodnoty každý den nepřidávejte a nesčítejte. Pro sčítatelnou historii článků exportujte uzavřené období, například yesterday, a rozsah uložte ke každému řádku.

Kontrolní seznam zabezpečení a sdílení

  • Pro export používejte samostatný API klíč NowMetrix a udělte mu pouze potřebný přístup k trackeru.
  • Klíč ukládejte pouze do vlastností skriptu nebo jiného úložiště tajných údajů na serveru.
  • Ponechte ve skriptu @OnlyCurrentDoc, aby se přístup omezil na tento dokument Google Sheets.
  • Klíč nikdy neuvádějte v buňkách, vzorcích, parametrech přehledů, URL, snímcích obrazovky ani protokolech.
  • Omezte přístup k úpravám projektu Apps Scriptu. S editory zacházejte jako s důvěryhodnými uživateli.
  • Skript autorizujte pouze tehdy, když Google jako vývojáře zobrazuje váš vlastní účet.
  • Pro každý účet NowMetrix používejte samostatný spreadsheet vlastněný zákazníkem.
  • Před zveřejněním přehledu zkontrolujte nastavení sdílení Google Sheetu i Looker Studio.
  • Pokud může být tabulka, skript nebo účet Google napaden, API klíč okamžitě zneplatněte.
Přístup k API se řídí trackery, ke kterým má uživatel NowMetrix oprávnění. Odebrání tohoto přístupu nebo zneplatnění klíče zastaví budoucí exporty, ale nesmaže data, která již byla zkopírována do Googlu.

Řešení problémů

Problém Co zkontrolovat
HTTP 401 API klíč chybí, je neúplný, neplatný nebo zneplatněný.
HTTP 403 API klíč nemá přístup ke konfigurovanému trackeru.
HTTP 429 Byl překročen limit API pro daný tracker. Snižte četnost spouštěče.
HTTP 503 Analytický backend je dočasně nedostupný. Zachovejte stávající data v tabulce a zkuste to později.
Chybí list Daily Spusťte syncNowMetrixDaily ručně a zkontrolujte podrobnosti spuštění Apps Scriptu.
Google uvádí, že aplikace není ověřená U soukromého skriptu je to očekávané. Pokračujte pouze tehdy, když jste projekt vytvořili vy a Google zobrazuje váš vlastní e-mail vývojáře.
Google požaduje přístup ke všem tabulkám Zrušte akci, přidejte @OnlyCurrentDoc na začátek Code.gs, uložte projekt a spusťte funkci znovu.
Data vypadají nesprávně Nastavte časové pásmo Google Sheetu na časové pásmo trackeru vrácené API.