Weekly GA4 marketing performance digest in Slack
Every Monday at 8am, get a Slack post with last week vs prior week traffic, the biggest channel and page movers, and a 30-second narrative your marketing lead can actually read.
Build an agent workflow that posts a weekly marketing performance digest from my Google Analytics 4 property to a Slack channel.
Trigger: cron, every Monday at 8:00am in my local time zone.
Each run, the agent should pull two windows from Google Analytics using the Run Report (GA4) operation against my configured property: last week (the most recent completed Monday through Sunday) and the prior week (the seven days before that). Use these metrics: totalUsers, sessions, engagementRate, conversions, and totalRevenue. Run the report twice: once broken down by the sessionDefaultChannelGroup dimension, and once broken down by the landingPagePlusQueryString dimension.
Then have the agent compute, for each row, the week-over-week absolute change and percent change. From those:
1. Identify the top 3 channels and top 3 landing pages that gained the most week-over-week traffic, and the top 3 channels and top 3 landing pages that lost the most. Rank by absolute change in sessions, but show both the absolute and percent change.
2. Flag anything that crossed a meaningful threshold: conversions or revenue swinging more than 20 percent week over week, engagement rate moving more than 5 percentage points, or any channel doubling or halving in sessions.
3. Write a short narrative summary at the top (3 to 5 sentences) that a marketing lead can read in 30 seconds: what changed, why it probably matters, and where to look. The narrative is the headline; everything else supports it.
Then post the result to Slack using the Send a Message operation. The destination channel name should be a configurable input on the workflow. Format the message with the narrative at the top, then a short "Top Movers" section with the gainers and losers as bullets, then a "Worth Noting" section with any threshold flags. Use percent change figures and absolute numbers inline (for example, "Organic Search: +14% sessions, +1,820 visits"), never raw tables. Keep the whole message skim-friendly and under one screen.
Inputs the user should configure when setting this up: the GA4 property ID, the destination Slack channel, the local time zone for the cron, and optional overrides for the threshold values.
If a metric is unavailable for the property (for example, no ecommerce setup means totalRevenue is zero everywhere), the agent should gracefully omit that line rather than fail the run.
What does this prompt do?
- Compares last week vs the prior week across users, sessions, engagement, conversions, and revenue from your Google Analytics property.
- Calls out the top 3 landing pages and top 3 marketing channels that gained or lost the most traffic week over week.
- Writes a short narrative summary at the top so a marketing lead can read the whole thing in 30 seconds.
- Posts the digest to a Slack channel every Monday morning with percent changes and absolute numbers, no raw tables.
What do I need to use this?
- A Google Analytics account with access to the GA4 property you want to report on.
- A Slack workspace and the channel you want the digest posted to.
- The numeric ID of the GA4 property and the name of the destination Slack channel.
How can I customize it?
- Change the schedule, for example send the digest on Friday afternoons or split it into a separate paid vs organic post.
- Adjust the metrics or breakdowns, for example swap channels for source or medium, or add device category.
- Pick a different destination, like a private leadership channel or a direct message to the marketing lead.
FAQs
Does this work with Universal Analytics?
How do I change which Slack channel the digest goes to?
Can I add or remove metrics?
What time zone does the week boundary use?
Will it call out things that did not change?
Related templates
Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.
Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.
Score last week's finished live chats against one rubric, let an AI grader draft the notes with quotes, and send coaching straight to the agent.
Every weekday morning, every appointment that fell through yesterday gets a personal text or email inviting them to rebook, plus a task for the right rep.
Pick any date range up to 120 days and see return volume, refund versus exchange mix, and the products behind every number, recalculated each time you open it.
Every newsletter gets read, checked and signed off in one place, so nothing goes out with a broken link or a half-filled greeting.
Stop pasting GA4 screenshots into Slack every Monday.
Connect Google Analytics and Slack once, and Geni delivers a written marketing digest every Monday at 8am.