LOW / CODEBlueprints
marketing

UTM Tracking Spreadsheet Sync

Capture UTM parameters from incoming traffic and log each visit to a Google Sheet. Get Slack alerts when high-value campaigns drive new visits so your team can react in real time.

Beginner~10 minn8nMake.com 952 downloads 2692 views

Setup Instructions

1. Create a Google Sheet with columns: Timestamp, Source, Medium, Campaign, Term, Content, Landing Page, and Full URL. 2. In n8n/Make, create a webhook node that receives GET or POST requests with UTM parameters. 3. Add a Set/Transform node to extract utm_source, utm_medium, utm_campaign, utm_term, and utm_content from the query string. 4. Connect a Google Sheets node to append a new row with the extracted UTM values and a timestamp. 5. Add a filter node to check if utm_campaign matches your high-value campaign names (e.g., "product-launch", "black-friday"). 6. For matching campaigns, add a Slack node to post an alert with the campaign name, source, and landing page URL. 7. Deploy the webhook and add the URL as a tracking pixel or redirect endpoint on your landing pages.
Troubleshooting
**UTM parameters not captured:** Ensure the webhook URL is receiving the full query string. Some link shorteners strip query params — test with the raw URL first. **Google Sheets rate limit errors:** Google Sheets API allows ~100 requests per 100 seconds. If you have high traffic, batch writes using a queue node or increase the polling interval. **Slack alerts too noisy:** Tighten the filter condition to only trigger on specific campaign names rather than matching all campaigns. Consider adding a deduplication window (e.g., one alert per campaign per hour). **Missing columns in the sheet:** The Google Sheets node must match column headers exactly. Double-check that there are no trailing spaces in your header row.

Need a custom version?

We can build a tailored automation workflow for your specific needs.

New blueprints weekly

Get notified when we publish new automation workflows.