Google Analytics Node: Credentials Problem

Hello everyone,

since today I have problems with the connection to Google Analytics.
Thank for your help!

Best
Friedemann

Describe the problem/error/question

The connection to Google Analytics via Google Analytics Node is no longer possible. An access token is requested. However, this can no longer be entered in the credentials (only Client ID and Client Secret).

What is the error message (if any)?

{
“errorMessage”: “Unable to sign without access token”,
“errorDetails”: {
“rawErrorMessage”: [
“Unable to sign without access token”
]
},
“n8nDetails”: {
“nodeName”: “Google Analytics Letzte 7 Tage”,
“nodeType”: “n8n-nodes-base.googleAnalytics”,
“nodeVersion”: 2,
“resource”: “report”,
“operation”: “get”,
“time”: “18.1.2025, 16:43:23”,
“n8nVersion”: “1.74.3 (Self Hosted)”,
“binaryDataMode”: “default”,
“stackTrace”: [
“NodeApiError: Unable to sign without access token”,
" at ExecuteContext.googleApiRequest (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Google/Analytics/v2/transport/index.js:47:15)“,
" at processTicksAndRejections (node:internal/process/task_queues:95:5)”,
" at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Google/Analytics/v2/actions/report/get.ga4.operation.js:554:25)“,
" at ExecuteContext.router (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Google/Analytics/v2/actions/router.js:56:36)”,
" at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Google/Analytics/v2/GoogleAnalyticsV2.node.js:16:16)“,
" at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/WorkflowExecute.js:632:19)”,
" at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/WorkflowExecute.js:872:51",
" at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/WorkflowExecute.js:1206:20"
]
}
}

Please share your workflow

{
“name”: “GA Report: EP Subflow Weekly”,
“nodes”: [
{
“parameters”: {
“jsCode”: “return {\n // Berechnung des Startdatums: Vorjahr, gleiche Woche, 7 Tage zurück\n startDate: (() => {\n const date = new Date();\n date.setFullYear(date.getFullYear() - 1); // Zurück ins Vorjahr\n date.setDate(date.getDate() - 7); // 7 Tage zurück\n return date.toISOString().split(‘T’)[0];\n })(),\n \n // Berechnung des Enddatums: Vorjahr, heutiges Datum\n endDate: (() => {\n const date = new Date();\n date.setFullYear(date.getFullYear() - 1); // Zurück ins Vorjahr\n return date.toISOString().split(‘T’)[0];\n })(),\n};\n”
},
“type”: “n8n-nodes-base.code”,
“typeVersion”: 2,
“position”: [
-840,
300
],
“id”: “a1f8a606-a519-44e5-8d68-523fe4e7bf4d”,
“name”: “Code”
},
{
“parameters”: {
“propertyId”: {
“__rl”: true,
“value”: “345060083”,
“mode”: “list”,
“cachedResultName”: “https://www.ep-reisen.de – GA4”,
“cachedResultUrl”: “Redirecting...
},
“metricsGA4”: {
“metricValues”: [
{
“listName”: “screenPageViews”
},
{},
{
“listName”: “sessions”
},
{
“listName”: “sessionsPerUser”
},
{
“listName”: “other”,
“name”: “averageSessionDuration”
},
{
“listName”: “other”,
“name”: “ecommercePurchases”
},
{
“listName”: “other”,
“name”: “averagePurchaseRevenue”
},
{
“listName”: “other”,
“name”: “purchaseRevenue”
}
]
},
“dimensionsGA4”: {
“dimensionValues”: [
{}
]
},
“additionalFields”: {}
},
“type”: “n8n-nodes-base.googleAnalytics”,
“typeVersion”: 2,
“position”: [
-1540,
300
],
“id”: “25e4e5bb-8188-425c-9663-218fb9b76623”,
“name”: “Google Analytics Letzte 7 Tage”,
“credentials”: {
“googleAnalyticsOAuth2”: {
“id”: “onRKXREI8izfGzv0”,
“name”: “Google Analytics account”
}
}
},
{
“parameters”: {
“fieldsToSummarize”: {
“values”: [
{
“aggregation”: “sum”,
“field”: “Aufrufe”
},
{
“aggregation”: “sum”,
“field”: “Nutzer”
},
{
“aggregation”: “sum”,
“field”: “Sitzungen”
},
{
“aggregation”: “average”,
“field”: “Sitzungen pro Nutzer”
},
{
“aggregation”: “average”,
“field”: “Sitzungsdauer”
},
{
“aggregation”: “sum”,
“field”: “Käufe”
},
{
“aggregation”: “average”,
“field”: “Revenue pro Kauf”
},
{
“aggregation”: “sum”,
“field”: “Revenue”
},
{
“field”: “date”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.summarize”,
“typeVersion”: 1,
“position”: [
-1080,
300
],
“id”: “169aa68a-bdca-4169-bb02-4e3273a65ac0”,
“name”: “Summarize”
},
{
“parameters”: {
“assignments”: {
“assignments”: [
{
“id”: “9c2f8b9a-e964-49a0-8837-efb0dfd7bcae”,
“name”: “Aufrufe”,
“value”: “={{ $json.screenPageViews }}”,
“type”: “number”
},
{
“id”: “8b524518-1268-4971-b5c9-ae7da09d94f9”,
“name”: “Nutzer”,
“value”: “={{ $json.totalUsers }}”,
“type”: “number”
},
{
“id”: “ca7279b9-c643-425f-aa99-cb17146e9994”,
“name”: “Sitzungen”,
“value”: “={{ $json.sessions }}”,
“type”: “number”
},
{
“id”: “591288f7-e8cf-445e-872a-5b83f997b825”,
“name”: “Sitzungen pro Nutzer”,
“value”: “={{ $json.sessionsPerUser }}”,
“type”: “number”
},
{
“id”: “dc1a43da-3f3a-4dca-bbde-904222d7f693”,
“name”: “Sitzungsdauer”,
“value”: “={{ $json.averageSessionDuration }}”,
“type”: “number”
},
{
“id”: “eac0b53e-c452-40b8-92bc-8af8ea349984”,
“name”: “=Käufe”,
“value”: “={{ $json.ecommercePurchases }}”,
“type”: “number”
},
{
“id”: “b96439be-189d-4ebe-b49e-d5c31fefe9f0”,
“name”: “Revenue pro Kauf”,
“value”: “={{ $json.averagePurchaseRevenue }}”,
“type”: “number”
},
{
“id”: “94835d43-2fc8-49c0-97f0-6f0f8699337a”,
“name”: “Revenue”,
“value”: “={{ $json.purchaseRevenue }}”,
“type”: “number”
},
{
“id”: “d70f8138-3b84-4b88-a98f-eb929e1cc29a”,
“name”: “date”,
“value”: “={{ $json.date }}”,
“type”: “string”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.set”,
“typeVersion”: 3.4,
“position”: [
-1300,
300
],
“id”: “0f551e9c-220d-4b9e-9fb3-82026c167a4b”,
“name”: “Edit Fields”
},
{
“parameters”: {
“assignments”: {
“assignments”: [
{
“id”: “9c2f8b9a-e964-49a0-8837-efb0dfd7bcae”,
“name”: “Aufrufe”,
“value”: “={{ $json.screenPageViews }}”,
“type”: “number”
},
{
“id”: “8b524518-1268-4971-b5c9-ae7da09d94f9”,
“name”: “Nutzer”,
“value”: “={{ $json.totalUsers }}”,
“type”: “number”
},
{
“id”: “ca7279b9-c643-425f-aa99-cb17146e9994”,
“name”: “Sitzungen”,
“value”: “={{ $json.sessions }}”,
“type”: “number”
},
{
“id”: “591288f7-e8cf-445e-872a-5b83f997b825”,
“name”: “Sitzungen pro Nutzer”,
“value”: “={{ $json.sessionsPerUser }}”,
“type”: “number”
},
{
“id”: “dc1a43da-3f3a-4dca-bbde-904222d7f693”,
“name”: “Sitzungsdauer”,
“value”: “={{ $json.averageSessionDuration }}”,
“type”: “number”
},
{
“id”: “eac0b53e-c452-40b8-92bc-8af8ea349984”,
“name”: “=Käufe”,
“value”: “={{ $json.ecommercePurchases }}”,
“type”: “number”
},
{
“id”: “b96439be-189d-4ebe-b49e-d5c31fefe9f0”,
“name”: “Revenue pro Kauf”,
“value”: “={{ $json.averagePurchaseRevenue }}”,
“type”: “number”
},
{
“id”: “94835d43-2fc8-49c0-97f0-6f0f8699337a”,
“name”: “Revenue”,
“value”: “={{ $json.purchaseRevenue }}”,
“type”: “number”
},
{
“id”: “dd8255c6-65b1-41ce-b596-70c09108d6e2”,
“name”: “=date”,
“value”: “={{ $json.date }}”,
“type”: “string”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.set”,
“typeVersion”: 3.4,
“position”: [
-420,
300
],
“id”: “b1fc66cd-551f-4a03-b967-fa0db084ad32”,
“name”: “Edit Fields1”
},
{
“parameters”: {
“propertyId”: {
“__rl”: true,
“value”: “345060083”,
“mode”: “list”,
“cachedResultName”: “https://www.ep-reisen.de – GA4”,
“cachedResultUrl”: “Redirecting...
},
“dateRange”: “custom”,
“startDate”: “={{ $json.startDate }}”,
“endDate”: “={{ $json.endDate }}”,
“metricsGA4”: {
“metricValues”: [
{
“listName”: “screenPageViews”
},
{},
{
“listName”: “sessions”
},
{
“listName”: “sessionsPerUser”
},
{
“listName”: “other”,
“name”: “averageSessionDuration”
},
{
“listName”: “other”,
“name”: “ecommercePurchases”
},
{
“listName”: “other”,
“name”: “averagePurchaseRevenue”
},
{
“listName”: “other”,
“name”: “purchaseRevenue”
}
]
},
“dimensionsGA4”: {
“dimensionValues”: [
{}
]
},
“additionalFields”: {}
},
“type”: “n8n-nodes-base.googleAnalytics”,
“typeVersion”: 2,
“position”: [
-600,
300
],
“id”: “1630a20d-4b49-4744-8d46-f0e7760a83f8”,
“name”: “Google Analytics Letzte 7 Tage Vorjahr”,
“credentials”: {
“googleAnalyticsOAuth2”: {
“id”: “onRKXREI8izfGzv0”,
“name”: “Google Analytics account”
}
}
},
{
“parameters”: {
“modelId”: {
“__rl”: true,
“value”: “gpt-4o”,
“mode”: “list”,
“cachedResultName”: “GPT-4O”
},
“messages”: {
“values”: [
{
“content”: “=Bitte analysiere die folgenden Daten und gib die Ergebnisse in Tabellenform aus:\n\n| Metrik | Letzte 7 Tage | Vorjahr | Prozentuale Veränderung |\n|-------------------------------|---------------|---------|\n| Summe Aufrufe | {{ $(‘Summarize’).item.json.sum_Aufrufe }} | {{ $(‘Summarize Vorjahr’).item.json.sum_Aufrufe }} | Prozentuale Veränderung |\n| Summe Nutzer | {{ $(‘Summarize’).item.json.sum_Nutzer }} | {{ $(‘Summarize Vorjahr’).item.json.sum_Nutzer }} | Prozentuale Veränderung |\n| Summe Sitzungen | {{ $(‘Summarize’).item.json.sum_Sitzungen }} | {{ $(‘Summarize Vorjahr’).item.json.sum_Sitzungen }} | Prozentuale Veränderung |\n| Durchschnitt Sitzungen/Nutzer | {{ $(‘Summarize’).item.json.average_Sitzungen_pro_Nutzer }} | {{ $(‘Summarize Vorjahr’).item.json.average_Sitzungen_pro_Nutzer }} | Prozentuale Veränderung |\n| Durchschnitt Sitzungsdauer | {{ $(‘Summarize’).item.json.average_Sitzungsdauer }} | {{ $(‘Summarize Vorjahr’).item.json.average_Sitzungsdauer }} | Prozentuale Veränderung |\n| Summe Käufe | {{ $(‘Summarize’).item.json[‘sum_Käufe’] }} | {{ $(‘Summarize Vorjahr’).item.json[‘sum_Käufe’] }} | Prozentuale Veränderung |\n| Durchschnittlicher Umsatz/Kauf | {{ $(‘Summarize’).item.json.average_Revenue_pro_Kauf }} | {{ $(‘Summarize Vorjahr’).item.json.average_Revenue_pro_Kauf }} | Prozentuale Veränderung |\n| Summe Umsatz | {{ $(‘Summarize’).item.json.sum_Revenue }} | {{ $(‘Summarize Vorjahr’).item.json.sum_Revenue }} | Prozentuale Veränderung |\n\nFormat für Zahlen:\n- Punkt (.) bei Tausender-Zahlen (z. B. 4.000)\n- Komma (,) für Kommazahlen (z. B. 3,4)\n- Umrechnung Durchschnittliche Sitzungsdauer in Minuten statt Sekunden\n- Durchschnittlicher Umsatz/Kauf und Summe Umsatz in €\n\nBitte schreibe über der Tabelle eine kurze Zusammenfassung der analysierten Daten (in maximal 3 Sätzen!)\n\nWICHTIG:\nSchreibe nichts außer der Zusammenfassung und der darunterstehenden Tabelle!\nKEINE EINLEITUNG, KEIN ABSCHLUSS!”
}
]
},
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.openAi”,
“typeVersion”: 1.7,
“position”: [
60,
300
],
“id”: “5c6e2d84-fb11-4127-9aa9-4b5723d18949”,
“name”: “OpenAI”,
“credentials”: {
“openAiApi”: {
“id”: “niikB3HA4fT5WAqt”,
“name”: “OpenAi account”
}
}
},
{
“parameters”: {
“fieldsToSummarize”: {
“values”: [
{
“aggregation”: “sum”,
“field”: “Aufrufe”
},
{
“aggregation”: “sum”,
“field”: “Nutzer”
},
{
“aggregation”: “sum”,
“field”: “Sitzungen”
},
{
“aggregation”: “average”,
“field”: “Sitzungen pro Nutzer”
},
{
“aggregation”: “average”,
“field”: “Sitzungsdauer”
},
{
“aggregation”: “sum”,
“field”: “Käufe”
},
{
“aggregation”: “average”,
“field”: “Revenue pro Kauf”
},
{
“aggregation”: “sum”,
“field”: “Revenue”
},
{
“field”: “date”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.summarize”,
“typeVersion”: 1,
“position”: [
-220,
300
],
“id”: “35020550-5cea-4d90-9db0-c5f41df6e14c”,
“name”: “Summarize Vorjahr”
},
{
“parameters”: {},
“type”: “n8n-nodes-base.executeWorkflowTrigger”,
“typeVersion”: 1,
“position”: [
-1780,
300
],
“id”: “71abda26-8aef-4cf6-b3d2-18660ff0fc06”,
“name”: “Execute Workflow Trigger”
},
{
“parameters”: {},
“type”: “@n8n/n8n-nodes-langchain.toolCalculator”,
“typeVersion”: 1,
“position”: [
160,
520
],
“id”: “4901b6f0-b745-479a-ae6d-79fb924503d4”,
“name”: “Calculator”
}
],
“pinData”: {},
“connections”: {
“Code”: {
“main”: [
[
{
“node”: “Google Analytics Letzte 7 Tage Vorjahr”,
“type”: “main”,
“index”: 0
}
]
]
},
“Google Analytics Letzte 7 Tage”: {
“main”: [
[
{
“node”: “Edit Fields”,
“type”: “main”,
“index”: 0
}
]
]
},
“Summarize”: {
“main”: [
[
{
“node”: “Code”,
“type”: “main”,
“index”: 0
}
]
]
},
“Edit Fields”: {
“main”: [
[
{
“node”: “Summarize”,
“type”: “main”,
“index”: 0
}
]
]
},
“Edit Fields1”: {
“main”: [
[
{
“node”: “Summarize Vorjahr”,
“type”: “main”,
“index”: 0
}
]
]
},
“Google Analytics Letzte 7 Tage Vorjahr”: {
“main”: [
[
{
“node”: “Edit Fields1”,
“type”: “main”,
“index”: 0
}
]
]
},
“OpenAI”: {
“main”: [

]
},
“Summarize Vorjahr”: {
“main”: [
[
{
“node”: “OpenAI”,
“type”: “main”,
“index”: 0
}
]
]
},
“Execute Workflow Trigger”: {
“main”: [
[
{
“node”: “Google Analytics Letzte 7 Tage”,
“type”: “main”,
“index”: 0
}
]
]
},
“Calculator”: {
“ai_tool”: [
[
{
“node”: “OpenAI”,
“type”: “ai_tool”,
“index”: 0
}
]
]
}
},
“active”: false,
“settings”: {
“executionOrder”: “v1”
},
“versionId”: “a952c122-18e7-4404-a2b4-45cc590c022c”,
“meta”: {
“instanceId”: “558d88703fb65b2d0e44613bc35916258b0f0bf983c5d4730c00c424b77ca36a”
},
“id”: “ploQFf5BtgCC6ryu”,
“tags”:
}

Share the output returned by the last node

Unable to sign without access token

Information on your n8n setup

  • n8n version: 1.74.3
  • Database (default: SQLite): SQLite
  • n8n EXECUTIONS_PROCESS setting (default: own, main): Default
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker Compose (Self Hosted AI Starter Kit)
  • Operating system: Raspberry OS (Debian)

Deleting credentials and create new one worked!

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.