Google Analytics 4 + Intercom CSAT Weekly Rollup: Correlated Engagement-to-Support Digest via Make
Catch UX degradation before your quarterly review — pull GA4 engagement and Intercom CSAT for the same 7-day window, correlate them automatically, and get a structured digest in Slack every Monday morning.
The stack in the order it runs — data flows from the source through to where it lands.
Support and product teams almost never look at the same dashboards. A new feature ships, engagement drops 20% in GA4, product sees it. CSAT tanks the same week in Intercom, support sees it. Nobody connects the two until a quarterly review — which is 11 weeks too late to do anything useful.
GA4's Data API (v1beta) lets you pull event counts, session metrics, and page engagement via a POST request. No BigQuery required for weekly aggregates. Intercom's Reports API surfaces CSAT scores, conversation volume, and response time. The correlation logic is time-based: same 7-day window, look for co-movement.
Make handles this without a Code node. Both GA4 and Intercom have HTTP module support, and Make's built-in data transformers reshape the JSON inline. If you write JavaScript comfortably, n8n does the same job — the Make advantage here is the visual debugger, which matters when Intercom's API returns nested conversation objects and you need to see exactly where the parse breaks.
Skip this entire setup if your GA4 property isn't tracking core product events properly — session data alone tells you nothing meaningful. Also skip it if your Intercom CSAT response rate is below 20%. At that sample size the scores aren't statistically meaningful and you'll be making decisions on noise.
The stack (5)
Web analytics most teams already run.
The Data API makes traffic a free input for weekly ops digests.
How it runs
- 1
Enable GA4 Data API and create a service account
In Google Cloud Console, enable the 'Google Analytics Data API' for your project. Create a service account, download the JSON key, and add the service account email as a Viewer on your GA4 property under Admin → Account Access Management. In Make, add a Google Analytics 4 connection using the service account JSON — paste the entire JSON blob into the 'Service Account Key' field. Test it with a simple 'Run a Report' module pulling sessions for the last 7 days before moving on.
- 2
Configure the GA4 report module in Make
Add a 'Google Analytics 4 → Run a Report' module to your Make scenario. Set the Property ID in the format `properties/XXXXXXXXX`. Date range: last 7 days and prior 7 days for WoW comparison. Metrics: `sessions`, `engagedSessions`, `eventCount`, `bounceRate`. Dimensions: `date`. This gives you a daily breakdown you can aggregate in a subsequent Make data store step. Also pull a second report with dimension `eventName` filtered to your 3–5 core product events — this is how you see whether specific actions dropped, not just aggregate session counts.
- 3
Pull Intercom CSAT and conversation volume
Add an HTTP module in Make to call `GET https://api.intercom.io/conversations` with your Intercom Bearer token. Filter by `created_at > [7 days ago unix timestamp]` and `state=closed`. Then call `GET https://api.intercom.io/teams/{team_id}/reports/conversation_ratings` for the same window to get aggregate CSAT. Intercom's API is rate-limited to 1,000 requests per minute — for high-volume inboxes, use the conversation search endpoint with pagination and store results in a Make data store between pages.
- 4
Compute WoW deltas in a Make Tools → Set Variable step
Add a 'Tools → Set Multiple Variables' module. Compute: `session_delta_pct = (this_week_sessions - last_week_sessions) / last_week_sessions * 100`, `csat_delta = this_week_csat - last_week_csat`, `conversation_volume_delta_pct` using the same formula. Then set a `correlation_flag` variable: if `session_delta_pct < -10` AND `csat_delta < -5`, flag is 'HIGH' — that's your potential UX incident signal. If only one metric drops, flag is 'WATCH'. Otherwise 'HEALTHY'.
- 5
Generate the one-line interpretation with Claude
Add an HTTP module calling `POST https://api.anthropic.com/v1/messages` with model `claude-3-5-haiku-20241022` — use Haiku here, not Sonnet; cost stays low and you don't need deep reasoning for a one-liner. Prompt: 'You are an ops analyst. Given these metrics for a B2B SaaS product, write one sentence explaining the most important thing to know this week. Be specific about numbers. Do not use marketing language. Metrics: [inject the computed variables].' Cap the response at 100 tokens. This sentence becomes the digest headline.
- 6
Build and post the Slack Block Kit message
Add a Slack 'Create a Message' module using Block Kit JSON. Header block: the Claude-generated sentence. Two column sections using mrkdwn fields — left column: Sessions WoW, Engaged Sessions, Core Event Counts with delta badges; right column: CSAT score, conversation volume, avg first response time. Context block at the bottom with the `correlation_flag` and color coding (🟢 HEALTHY / 🟡 WATCH / 🔴 HIGH). Post to #product-ops every Monday at 8 AM.
- 7
Add an immediate alert path for HIGH correlation flag
After the variable computation step, add a Router module. On the 'HIGH' route, immediately post a separate Slack message to #incidents: '🔴 Possible UX Incident: engagement and CSAT both dropped significantly this week. Review GA4 + Intercom before standup.' This fires as soon as the Make scenario runs — don't wait for the Monday digest. Include a direct link to your GA4 property and your Intercom conversation ratings page in the message body.
- 8
Log weekly results to Google Sheets for trend tracking
Add a Google Sheets 'Add a Row' module at the end of the scenario. Append: `week_ending`, `sessions`, `sessions_wow_pct`, `csat_score`, `csat_delta`, `conversation_volume`, `correlation_flag`, `claude_summary`. After 8 weeks of data, connect Looker Studio to this sheet and visualize the correlation trend. That's when the real insight surfaces — whether your product releases are systematically driving support spikes, which is the whole point of building this in the first place.
Want me to build this for you instead?
Product Audit and CTO Mode run out of this same thinking. If you’re reading this thinking “I want this, but in my product” — let’s talk.
See servicesMore like this
Google Analytics 4 + HubSpot Lifecycle Stage: Weekly Acquisition-Quality Digest to Slack via Pipedream with Claude Narrative
Stop reporting traffic numbers. Report whether the traffic you paid for last week actually became pipeline — with a one-paragraph executive summary written by Claude.
Gmail Thread Aging + Stripe Invoice Overdue: Unified AR Follow-Up Digest to Slack via Zapier
Surface overdue Stripe invoices and the exact age of your last Gmail thread with that customer — every morning at 8:30, automatically — so AR follow-up stops living in someone's head.
Outlook Calendar Load + HubSpot Deal Velocity: Weekly Ops Digest to Microsoft Teams
Every Monday at 07:30, your revenue team gets one Teams card: last week's deal pipeline movement next to each rep's actual meeting load — so you stop guessing whether low close rates are a pipeline problem or a capacity problem.