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.

Agentic Task
Google AnalyticsSlackMarketingDaily DigestsAI Reports

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.

Additional information

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.

Frequently asked questions

Does this work with Universal Analytics?
No. Universal Analytics was shut down in July 2024 and the data is gone. This digest only works with a GA4 property.
How do I change which Slack channel the digest goes to?
Edit the workflow and update the channel name. You can also point it at a direct message instead of a channel.
Can I add or remove metrics?
Yes. You can ask for any combination of GA4 metrics that supports week-over-week comparison, like revenue per user, new users, or specific conversion events.
What time zone does the week boundary use?
GA4 reports use the time zone configured on your property. The cron is set to 8am local time, which you can change to fit your team.
Will it call out things that did not change?
No. The digest only highlights meaningful movers and threshold crossings, so the Slack post stays short and worth reading.

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.