NowMetrix-Metrike in Google Sheets aktuell halte
Holled Si mit Google Apps Script täglich NowMetrix-Daten sicher ab, aktualisiered Si d’Tabelle nach Plan und mached Si d’Daten für Berechnige, zum Teile oder für Looker-Studio-Bericht verfügbar.
So funktioniert d’Verbindig
D’Tabelle dient als chliini, vo Ihne verwalteti Datenbrugg:
NowMetrix REST API → Google Apps Script → Google Sheet → optional Looker Studio report
D’Daten werded nöd in Google Analytics importiert. Apps Script fordert de uusgwählte NowMetrix- Endpoint mit Ihrem API-Key aa und schribt d’zrugggehne Zeile i d’Tabelle. Looker Studio cha das Tabellenblatt nachher als separati Datenquelle verwände.
1. Bereited Si de API-Key und d’Tabelle vor
- Öffned Si in NowMetrix Iistellige → API und erstelled Si en separate Key mit de Bezeichnig Google Sheets.
- Kopiered Si de vollständigi Key, sobald er azeigt wird. Spöter cha er nöd nomal azeigt werde.
- Notiered Si d’Tracker-ID vo de Website, wo Si exportiere möchted.
- Erstelled Si es nöis Google Sheet, zum Biispil NowMetrix Export.
- Stelled Si d’Ziitzone vo de Tabelle uf die gliichi Ziitzone wie de NowMetrix-Tracker.
S’Biispil exportiert d’letschte 30 täglichi Ziile vo /v1/overview. Jede Zeile enthaltet
s’Datum, de Tracker, d’Tracker-Ziitzone, Pageviews und Bsüech.
2. Speichered Si de API-Key i de Skripteigeschafte
Wähled Si im Google Sheet Erwiiterige → Apps Script uus. Denn:
- Öffned Si mit em Zahnrad-Symbol d’Projektiistellige.
- Wähled Si under Skripteigeschafte Skripteigeschaft dezuefüege uus.
- Füeged Si die zwei Properties i:
| Eigenschaft | Wert |
|---|---|
NOWMETRIX_API_KEY |
Ihr Key, wo mit nm_ aafangt |
NOWMETRIX_TRACKER_ID |
D’Tracker-ID, wo exportiert werde söll |
3. Füeged Si s’Export-Script i
Ersetzed Si de Inhalt vo Code.gs mit dem Script. Es prüeft d’Konfiguration, beschränkt
de Zuegriff uf s’aktuelle Dokument, verarbeitet API-Fehler und ersetzt s’Tabellenblatt erst nach ere
erfolgreiche Antwort.
/**
* @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);
}
Ersetzed Si NOWMETRIX_API_KEY nöd im Quelltext mit em echte Key. S Script liist de Key
während de Uusfüehrig us de Skripteigeschafte. Lönd Si @OnlyCurrentDoc obe stah:
De Eintrag seit Google, dass nur uf das Google Sheet und nöd uf alli Tabelle i Ihrem Konto zuegriffe
werde söll.
4. Speichered Si s’Script und füehred Si es einisch uus
- Gebed Si em Projekt obe links de Name NowMetrix Google Sheets Export.
- Speichered Si s’Apps-Script-Projekt mit em Disk-Symbol oder em Tastaturkürzel.
- Wähled Si im Funktionsmenü i de Editor-Werkzügliiste
syncNowMetrixDailyuus. - Wähled Si näbed em Funktionsmenü Uusfüehre uus.
5. Autorisiered Si Ihr eigets Apps-Script-Projekt
Google fragt bim erschte Lauf nach de Berechtigung. Wähled Si Berechtigunge prüefe und denn s’Google-Konto, wo d’Tabelle ghört.
E Warnig wie Google het die App nöd verifiziert isch bi eme private, sälber erstellte Apps-Script-Projekt normal. D’Entwickler-E-Mail, wo Google azeigt, söll zu Ihrem eigene Google-Konto ghöre. S’Projekt isch kei NowMetrix-Google-App und git NowMetrix kei Zuegriff uf Ihr Google-Konto.
- Bestätiged Si, dass Si s’Apps-Script-Projekt erstellt händ und d’Entwickler-E-Mail Ihri isch.
- Wähled Si uf de Warnigsiite Erwiiteret uus.
- Fahred Si mit Ihrem benannte Projekt fort. Google cha de Link als unsicher bezeichne, will s’private Projekt nöd verifiziert isch.
- Prüefed Si d’verlangte Berechtigung und wähled Si Zuelah oder Wiiter uus.
| Berechtigung | Wofür sie bruucht wird |
|---|---|
| Zuegriff uf d’aktuelle Tabelle | S’Tabellenblatt Daily i dem Google Sheet erstellä oder aktualisiere. |
| Mit eme externe Dienscht verbinde | En HTTPS-Request an https://api.nowmetrix.com sende. |
@OnlyCurrentDoc ganz obe i Code.gs staht, speichered
Si und füehred Si d’Funktion nomal uus.
Wenn Si breiteri Tabellenberechtigung scho bestätigt händ, entferned Si s’Projekt under Google-Konto → Sicherheit → Verbindige zu Drittanbieter-Apps und -Dienscht. Füehred Si s’gspeicherete Script nachher nomal uus, zum d’reduzierte Berechtigung aafordere.
Google beschreibt dä Autorisierigsablauf und d’Beschränkig mit @OnlyCurrentDoc i de
Apps-Script-Autorisierigsanleitig.
6. Prüefed Si de erschte Export
Nach de Autorisierig setzt Apps Script de Lauf fort. Warted Si im Uusfüehrigslog uf Uusfüehrig abgschlosse, gönd Si zrugg zur Tabelle und öffned Si s’neue Daily-Tabellenblatt. S’Ergebnis sött ungefähr so uusgseh:
| 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. Planed Si automatischi Aktualisierige
Öffned Si in Apps Script mit em Uhr-Symbol Triggers und füeged Si en Trigger i:
| Funktion | syncNowMetrixDaily |
|---|---|
| Bereitstellig | Head |
| Ereignisquelle | Ziitgsteuert |
| Hüüfigkeit | Jedi Stund oder für en tägliche Bericht weniger oft |
De Trigger lauft under em Google-Konto, wo en erstellt het. Lönd Si das Konto aktiv und prüefed Si d’Fehler-Nochrichte vo Apps Script. Vermeided Si unnötig hüüfigi Requests: D’öffentligi NowMetrix-API erlaubt aktuell 20 Requests pro Minute und Tracker, über alli Keys und Nutzer teilt.
S’Biispil ersetzt d’rollendi 30-Täg-Tabelle bi jedem erfolgreiche Lauf. So verhindered Si doppeldi Datum und halted s’Tabellenblatt kompakt.
8. Verwänded Si s’Tabellenblatt i Looker Studio
- Erstelled Si en Bericht oder öffned Si en im Looker Studio.
- Wähled Si Date dezuefüege → Google Sheets uus.
- Wähled Si d’Tabelle und s’Daily-Tabellenblatt uus.
- Verwänded Si d’erscht Zeile als Überschrifte und verbinded Si d’Datenquelle.
- Prüefed Si, dass
datees Datum isch undpageviewssowievisitsnumerischi Metrike sind.
Jetzt chönd Si Ziitreihe-Diagramm, Kennzahlkarte, Tabelle und berechneti Fälder wie
pageviews / visits erstellä. Looker Studio liist das als separati Datenquelle i;
NowMetrix-Wert werded nöd zu Google-Analytics-Events.
Google beschreibt d’weitere Bericht-Iistellige i de Google-Sheets-Connector-Anleitig.
Anderi NowMetrix-Daten exportiere
| Verwändig | Biispil für en Endpoint | Empfohlni Verwaltig im Tabellenblatt |
|---|---|---|
| Täglichi Pageviews und Bsüech | /v1/overview?days=30 |
Zeile nach Tracker und Datum ersetze oder aktualisiere |
| Top-Siite vo geschter | /v1/recap?preset=yesterday&limit=100 |
Einisch pro Tag aahänke oder s’aktuelle Ergebnis ersetze |
| Aktuelli Live-Uufnahm | /v1/realtime |
Für en Trend mit em Antwort-Ziitstempel aahänke |
| Aktuelli Traffic-Quälle | /v1/sources |
Mit em Antwort-Ziitstempel aahänke oder d’aktuelle Uufnahm ersetze |
preset=last30 enthaltet Totalwert für de ganze rollende Ziitruum. Hänged
Si die Wert nöd täglich aa und addiered Si sie nöd. Für e additivi Artikel-Historie exportiered Si
en abgeschlossene Ziitruum wie yesterday und speichered Si de Ziitruum i jeder Zeile.
Checkliste für Sicherheit und Teile
- Verwänded Si en separate NowMetrix-API-Key für de Export und gebed Si nur de nötige Tracker-Zuegriff frei.
- Speichered Si de Key nur i de Skripteigeschafte oder eme andere serverseitige Secret Store.
- Lönd Si
@OnlyCurrentDocim Script, zum de Google-Sheets-Zuegriff uf das Dokument z’beschränke. - Nehmed Si de Key nie i Zelle, Formle, Berichtparameter, URLs, Screenshots oder Logs uf.
- Beschränked Si de Bearbeitigs-Zuegriff uf s’Apps-Script-Projekt. Behandled Si Bearbeiter als vertrauenswürdig.
- Autorisiered Si s’Script nur, wenn Google Ihr eigets Konto als Entwickler azeigt.
- Verwänded Si für jedes NowMetrix-Konto es separates, vom Kunde verwaltets Tabellenblatt.
- Prüefed Si vor em Veröffentliche vo eme Bericht d’Teile-Iistellige vom Google Sheet und vo Looker Studio.
- Sperred Si de API-Key sofort, wenn s’Tabellenblatt, s’Script oder s’Google-Konto möglicherwiis kompromittiert isch.
Problem löse
| Problem | Was Si prüefe sötted |
|---|---|
HTTP 401 |
De API-Key fehlt, isch unvollständig, ungültig oder gsperrt. |
HTTP 403 |
De API-Key het kei Zuegriff uf de konfigurierte Tracker. |
HTTP 429 |
D’API-Limite für de Tracker isch überschritte. Reduziered Si d’Hüüfigkeit vom Trigger. |
HTTP 503 |
S Analytics-Backend isch vorübergehend nöd verfüegbar. Behalted Si d’bestehende Date im Tabellenblatt und probiered Si es spöter nomal. |
| Kei Daily-Tabellenblatt | Füehred Si syncNowMetrixDaily manuell uus und prüefed Si d’Details vo de Apps-Script-Uusfüehrig. |
| Google seit, d’App segi nöd verifiziert | Das isch bi Ihrem private Script normal. Fahred Si nur fort, wenn Si s’Projekt erstellt händ und Google Ihri eigeti Entwickler-E-Mail azeigt. |
| Google verlangt Zuegriff uf alli Tabelle | Breched Si ab, füeged Si @OnlyCurrentDoc ganz obe i Code.gs i, speichered Si und füehred Si d’Funktion nomal uus. |
| Datum gsehnd falsch uus | Gliched Si d’Ziitzone vom Google Sheet mit de Tracker-Ziitzone ab, wo d’API zrugg git. |