{ "id": "SJrqDqTBIAyaZQkq", "meta": { "instanceId": "workflow-b4515895", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:43.546553", "updatedAt": "2025-09-29T07:07:43.546571", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "name": "UTM Link Creator & QR Code Generator with Scheduled Google Analytics Reports", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "nodes": [ { "id": "5efbd956-51b6-4f94-aebc-07e3e691f7eb", "name": "OpenAI Chat Model1", "type": "n8n-nodes-base.noOp", "position": [ -180, 480 ], "parameters": { "model": { "__rl": true, "mode": "list", "value": "gpt-4o-mini" }, "options": {} }, "credentials": { "openAiApi": { "id": "95QGJD3XSz0piaNU", "name": "OpenAi account" } }, "typeVersion": 1.2, "notes": "This lmChatOpenAi node performs automated tasks as part of the workflow." }, { "id": "a1acd323-ed07-41b4-a51e-614afe361893", "name": "Window Buffer Memory", "type": "n8n-nodes-base.noOp", "position": [ 0, 480 ], "parameters": { "sessionKey": "YOUR_CREDENTIAL_HERE", "sessionIdType": "customKey", "contextWindowLength": 200 }, "typeVersion": 1.3, "notes": "This memoryBufferWindow node performs automated tasks as part of the workflow." }, { "id": "c3c2b5fa-c294-4306-a050-dccd592477fa", "name": "Google Analytics", "type": "n8n-nodes-base.googleAnalyticsTool", "position": [ 160, 480 ], "parameters": { "metricsGA4": { "metricValues": [ { "listName": "sessions" } ] }, "propertyId": { "__rl": true, "mode": "list", "value": "404306108", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "East Coast Concrete Coating" }, "dimensionsGA4": { "dimensionValues": [ {}, { "listName": "sourceMedium" } ] }, "additionalFields": {} }, "credentials": { "googleAnalyticsOAuth2": { "id": "sVZ61SpNfC2D1Z7V", "name": "Google Analytics account" } }, "typeVersion": 2, "notes": "This googleAnalyticsTool node performs automated tasks as part of the workflow." }, { "id": "cbc7b539-2fa6-493b-a66c-13db8d8d420c", "name": "Create UTM Link & Send To Database", "type": "n8n-nodes-base.manualTrigger", "position": [ -440, -80 ], "parameters": {}, "typeVersion": 1, "notes": "This manualTrigger node performs automated tasks as part of the workflow." }, { "id": "5358f2cc-bdb0-4e9b-a6b9-93418f83db02", "name": "Set UTM Parameters For Link", "type": "n8n-nodes-base.set", "position": [ -220, -80 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "28d0a36d-5b03-4b74-9941-ef0e1aab86bf", "name": "website_url", "type": "string", "value": "{{ $env.WEBHOOK_URL }}" }, { "id": "1a2ee174-4684-4246-813f-b67285af48b8", "name": "campaign_id", "type": "string", "value": "12246" }, { "id": "e15a846d-6e37-4fbf-a9f4-b3fce3441295", "name": "campaign_source", "type": "string", "value": "google" }, { "id": "f15e2bb1-08a6-48c4-8458-b753864e9364", "name": "campaign_medium", "type": "string", "value": "display" }, { "id": "548900ab-aa2c-498f-bbd9-a787306e72db", "name": "campaign_name", "type": "string", "value": "summerfun" }, { "id": "fd8d1bd4-a75d-4c49-b795-8fda7c377b66", "name": "campaign_term", "type": "string", "value": "conretecoating" } ] } }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "45daf73a-01c2-40ab-8546-7fdd489e2a1c", "name": "Create UTM Link With Parameters", "type": "n8n-nodes-base.code", "position": [ 40, -140 ], "parameters": { "jsCode": "const items = $input.all();\nconst updatedItems = items.map((item) => {\n const utmUrl = `${item?.json?.website_url}?utm_source=${item?.json?.campaign_source}&utm_medium=${item?.json?.campaign_medium}&utm_campaign=${item?.json?.campaign_name}&utm_term=${item?.json?.campaign_term}&utm_content=${item?.json?.campaign_id}`;\n item.json.utmUrl = utmUrl;\n return item;\n});\nreturn updatedItems;\n" }, "typeVersion": 2, "notes": "This code node performs automated tasks as part of the workflow." }, { "id": "a621984d-eea5-464d-9be3-e620e779abd5", "name": "Submit UTM Link To Database", "type": "n8n-nodes-base.airtable", "position": [ 280, -200 ], "parameters": { "base": { "__rl": true, "mode": "list", "value": "appIXd8a8JeB9bPaL", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Untitled Base" }, "table": { "__rl": true, "mode": "list", "value": "tblXyFxXMHraieGCa", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "UTM_URL" }, "columns": { "value": { "URL": "{{ $env.BASE_URL }}" }, "schema": [ { "id": "id", "type": "string", "display": true, "removed": false, "readOnly": true, "required": false, "displayName": "id", "defaultMatch": true }, { "id": "URL", "type": "string", "display": true, "removed": false, "readOnly": false, "required": false, "displayName": "URL", "defaultMatch": false, "canBeUsedToMatch": true } ], "mappingMode": "defineBelow", "matchingColumns": [ "id" ], "attemptToConvertTypes": false, "convertFieldsToString": false }, "options": {}, "operation": "upsert" }, "credentials": { "airtableTokenApi": { "id": "0ApVmNsLu7aFzQD6", "name": "Airtable Personal Access Token account" } }, "typeVersion": 2.1, "notes": "This airtable node performs automated tasks as part of the workflow." }, { "id": "19074462-d719-4fdf-bc59-d6b2ecd1ce20", "name": "Create QR Code With Submitted QR Link", "type": "n8n-nodes-base.httpRequest", "position": [ 280, -20 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": {} }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "a8c22bb2-f8eb-4e5f-b288-9c25e0aeb648", "name": "Schedule Google Analytics Report To Marketing Manager", "type": "n8n-nodes-base.scheduleTrigger", "position": [ -460, 280 ], "parameters": { "rule": { "interval": [ {} ] } }, "typeVersion": 1.2, "notes": "This scheduleTrigger node performs automated tasks as part of the workflow." }, { "id": "268c110c-2b7c-4450-b5b0-5d5326eac17f", "name": "Google Analytics Data Analysis Agent", "type": "n8n-nodes-base.noOp", "position": [ -100, 280 ], "parameters": { "text": "={{ $json.timestamp }}", "options": { "systemMessage": "\"You are an advanced data analytics AI specializing in executive reporting. Your task is to analyze the provided dataset and generate a structured executive summary that highlights key insights, trends, and actionable takeaways. Structure your summary in the following format:\n\nOverview – Briefly describe the dataset and its significance.\nKey Performance Indicators (KPIs) – Highlight the most important metrics and compare them to previous periods if applicable.\nTrends & Insights – Identify patterns, growth areas, declines, and anomalies.\nOpportunities & Recommendations – Provide strategic recommendations based on the insights.\nConclusion – Summarize the key takeaways concisely.\n*Ensure the tone is professional, clear, and tailored for executives who require quick, data-driven insights without unnecessary details.\"" }, "promptType": "define" }, "typeVersion": 1.7, "notes": "This agent node performs automated tasks as part of the workflow." }, { "id": "1b012731-e67b-4e0d-95b7-a7f587754a05", "name": "Send Summary Report To Marketing Manager", "type": "n8n-nodes-base.gmail", "position": [ 300, 280 ], "webhookId": "a9b88615-c7e2-4b56-891a-98f4d6b34220", "parameters": { "sendTo": "john@marketingcanopy.com", "message": "={{ $json.output }}", "options": {}, "subject": "Google Analytics Metrics Summary Report" }, "credentials": { "gmailOAuth2": { "id": "pIXP1ZseBP4Z5CCp", "name": "Gmail account" } }, "typeVersion": 2.1, "notes": "This gmail node performs automated tasks as part of the workflow." }, { "id": "9da758e1-8aed-446b-a074-8fee5405583f", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -540, -280 ], "parameters": { "width": 500, "height": 400, "content": "Create a marketing link with UTM parameters. Easily store in database and have QR code created and ready as well.\n\nType in requirements:\nwebsite URL\ncampaign id\ncampaign source\ncampaign medium\ncampaign name\ncampaign term\n\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "92f5df8d-88ca-4b58-b544-c0b2d3578a73", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ 0, -380 ], "parameters": { "color": 4, "width": 580, "height": 540, "content": "Code node creates the URL with UTM parameters. \n\nIt then sends to your Airtable database to store for records. It also creates a QR code with the embedded link to be used for materials. \n\nSample Airtable Setup:\n-Website Link UTM column" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "408af10c-4b0e-4d94-b02d-5d887fb150c3", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ -540, 180 ], "parameters": { "color": 5, "width": 1340, "height": 460, "content": "Schedule a Google Analytics Reports with Medium/Source to track UTM link performance. Update the reporting fields to fit your business needs. You can track traffic, conversions and other engagement metrics.\n\n*Sample Google Report Metrics: Sessions. Update metrics as needed." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." } ], "active": false, "pinData": {}, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "versionId": "6e6641fd-a59c-49e9-af43-1b2b9b458544", "connections": { "19074462-d719-4fdf-bc59-d6b2ecd1ce20": { "main": [ [ { "node": "error-handler-19074462-d719-4fdf-bc59-d6b2ecd1ce20", "type": "main", "index": 0 } ], [ { "node": "error-handler-19074462-d719-4fdf-bc59-d6b2ecd1ce20-07500b22", "type": "main", "index": 0 } ], [ { "node": "error-handler-19074462-d719-4fdf-bc59-d6b2ecd1ce20-c16e4fef", "type": "main", "index": 0 } ], [ { "node": "error-handler-19074462-d719-4fdf-bc59-d6b2ecd1ce20-9fe5d75c", "type": "main", "index": 0 } ], [ { "node": "error-handler-19074462-d719-4fdf-bc59-d6b2ecd1ce20-a150d9ab", "type": "main", "index": 0 } ], [ { "node": "error-handler-19074462-d719-4fdf-bc59-d6b2ecd1ce20-8454fe00", "type": "main", "index": 0 } ], [ { "node": "error-handler-19074462-d719-4fdf-bc59-d6b2ecd1ce20-085c779c", "type": "main", "index": 0 } ], [ { "node": "error-handler-19074462-d719-4fdf-bc59-d6b2ecd1ce20-278aa73b", "type": "main", "index": 0 } ], [ { "node": "error-handler-19074462-d719-4fdf-bc59-d6b2ecd1ce20-bf6ea27f", "type": "main", "index": 0 } ] ] }, "5efbd956-51b6-4f94-aebc-07e3e691f7eb": { "main": [ [ { "node": "error-handler-5efbd956-51b6-4f94-aebc-07e3e691f7eb-7d3b4772", "type": "main", "index": 0 } ] ] }, "c3c2b5fa-c294-4306-a050-dccd592477fa": { "main": [ [ { "node": "error-handler-c3c2b5fa-c294-4306-a050-dccd592477fa-81e70d44", "type": "main", "index": 0 } ] ] } }, "description": "Automated workflow: UTM Link Creator & QR Code Generator with Scheduled Google Analytics Reports. This workflow integrates 13 different services: stickyNote, googleAnalyticsTool, httpRequest, airtable, code. It contains 18 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: UTM Link Creator & QR Code Generator with Scheduled Google Analytics Reports. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }