Your conversion rate dropped forty percent on Tuesday. You found out the following Monday, when the weekly report landed.
Six days of spend went out the door against a broken form, a failed tag, or a landing page that stopped rendering on mobile. The report did its job. It just did it too late to matter.
Alerts fix the timing problem. Here is how to set them up in GA4 and Looker Studio, and what to do about the parts neither tool handles well.
Why is waiting for your weekly report too late?
Reporting cadence is a compromise. Weekly is frequent enough to feel responsive and infrequent enough to be manageable, so most teams settle there and treat it as adequate. It is adequate for trends and useless for incidents, because a weekly cycle means the average incident runs three and a half days before anybody notices it.
The failures that cost the most money are abrupt: a tag breaks after a site deploy, a payment gateway starts rejecting a card type, a campaign exhausts its budget by noon, a competitor doubles their bids. Each of these has a clear before and after, and each continues costing money for exactly as long as it takes someone to notice.
Alerts reduce that to hours.
What is anomaly detection and why does it matter?
Anomaly detection means comparing what happened against what was expected, and flagging the gap when it exceeds a threshold. The hard part is defining expected, which is why the two approaches differ: statistical detection catches what you did not think to watch for, and threshold rules catch the failures you already know are possible.
The hard part is defining expected. A naive rule such as "alert if conversions drop twenty percent" fires every Saturday for a B2B business, and it stays silent through a genuine collapse in a month when volume was rising anyway.
Better approaches account for seasonality, day of week patterns, and trend. GA4's built in detection does some of this automatically. Threshold rules you write yourself do not, unless you build the comparison in.
Both have a place, and most teams need one of each.
How does GA4 built in anomaly detection work, and where does it fall short?
GA4 detects anomalies automatically, using a model that learns your historical patterns and flags what falls outside the expected range. Three limits keep it from being a monitoring system: it does not come to you, it needs weeks of history before it is useful, and its sensitivity is largely out of your hands.
You will see these surfaced in the Insights card on the Reports home.
It is genuinely useful, and it has three limitations worth knowing.
It is not proactive by default. Automated insights appear in the interface. You have to open GA4 to see them, which is precisely the behavior alerts are meant to replace.
The training period matters. New properties, or properties with volatile traffic, produce noisy detection until enough history accumulates.
You cannot tune sensitivity much. For automated insights, the model decides what counts as anomalous. If it is too sensitive for your traffic pattern, you cannot dial it back.
The fix for the first limitation is custom insights, which do support email delivery.
How do I set up custom alerts in GA4?
Custom insights are GA4's alerting mechanism, and they are underused. You create one from the Insights card, choose the metric, the condition and the evaluation frequency, and add an email recipient. Build a small set rather than a large one, because alert fatigue is the failure mode here.
Open Reports, then the Insights card, then Create. Choose Create custom insight rather than one of the suggested templates.
Set the evaluation frequency: hourly, daily, weekly, or monthly. Daily is right for most marketing metrics. Hourly is worth it for high volume ecommerce where a broken checkout is expensive within hours.
Choose your segment and metric. Then set the condition. GA4 offers "has anomaly", which uses the statistical model, or fixed conditions such as less than or greater than a value you specify.
Use both kinds. An anomaly condition on conversions catches unexpected changes. A fixed condition such as "conversions less than 5 per day" catches total failures that a percentage based rule might miss during a low volume period.
Add email recipients. This is the step that converts an insight into an alert.
Conversions, revenue, sessions, and one or two mid funnel events is about right. A team that has learned to ignore these notifications is worse off than a team with none.
How do I build threshold based alerts in Looker Studio?
You work around it, because Looker Studio has no native alerting at all. Two approaches do the job: conditional formatting that makes a breach visible to anyone already looking at the report, and Google Sheets pulling the same data on a schedule and sending the message itself.
Looker Studio has no native alerting, which is its main gap as a reporting layer. There are two practical workarounds.
Conditional formatting as a visual alert. In any table or scorecard, apply conditional formatting so values outside an acceptable range render in a warning colour. This does not notify anyone, but it makes a scheduled report self diagnosing. Someone opening the emailed PDF sees red immediately rather than reading numbers and computing deltas mentally.
Combine this with scheduled delivery and you have a passable daily alert for teams who will reliably open an email.
Google Sheets as an alerting engine. This is the more capable route. Push the metrics you care about into a Sheet on a schedule, using the GA4 connector or a scheduled BigQuery query. Then write a short Apps Script that runs on a time trigger, compares current values against your thresholds or against a trailing average, and sends mail when a rule breaks.
It sounds like more work than it is, and it gives you what neither GA4 nor Looker Studio provides: alerting logic you fully control, comparing across any sources you can get into a Sheet.
How do I get Slack or email notifications when key metrics change?
Email is the default and it is fine for daily digests. It is poor for urgent incidents, because it lands in the same place as everything else. Route anything needing a response within hours to Slack instead, and set quiet hours on everything that is not critical.
The straightforward path is an incoming webhook. Create one in your Slack workspace, then have your Apps Script or Cloud Function post to it when a threshold breaks. The message should carry three things: what changed, by how much compared to what baseline, and a link to the relevant dashboard. A notification that says "conversions are down" without a number or a link generates a conversation rather than an action.
Route different severities to different channels. A dedicated alerts channel for informational movement, and direct messages or an urgent channel for total failures such as zero conversions in a period that normally has many.
On quiet hours: an alert at three in the morning about a nine percent dip trains people to mute the channel, which defeats the entire exercise.
Where to start
Three alerts, not thirty.
One on conversions with an anomaly condition, in GA4, delivered by email. One fixed threshold alert for total failure, such as conversions below a floor value. One on spend, so a runaway campaign surfaces the same day.
Live with those for a month. Note every time an alert fires and whether you acted on it. Alerts that never produce action should be deleted, and gaps you discover the hard way should become new rules.
The goal is not comprehensive monitoring. It is that nothing expensive runs unnoticed for six days again.
FAQ
Does GA4 have built in alerts?
Yes, through custom insights. Open Reports, then the Insights card, then Create, and build a custom insight with an evaluation frequency, a segment, a metric, and a condition. Conditions can use GA4's statistical anomaly model or fixed thresholds you set. Adding email recipients is what turns an insight into a genuine alert rather than something you have to log in to see.
Can Looker Studio send alerts?
Not natively. The two practical workarounds are conditional formatting combined with scheduled email delivery, which makes a report self diagnosing at a glance, or pushing metrics into Google Sheets and using an Apps Script trigger to evaluate thresholds and send notifications. The Sheets approach gives you full control over the alerting logic and can compare across multiple sources.
How do I get GA4 alerts in Slack?
GA4 does not post to Slack directly. Create an incoming webhook in Slack, then have a scheduled script, typically Apps Script or a Cloud Function, evaluate your metrics and post to that webhook when a rule breaks. Include the metric, the size of the change, the baseline it is compared against, and a link to the relevant dashboard.
What metrics should trigger a marketing alert?
Start with conversions, revenue, sessions, and ad spend. Add one or two mid funnel events specific to your funnel, such as add to cart or demo page views. Keep the set small. Every alert that fires without prompting action trains your team to ignore the channel, which makes the genuinely important alerts less effective.
How do I avoid too many false alarms from anomaly alerts?
Compare against a like for like baseline rather than a flat number, because day of week and seasonality cause most false positives. Set a minimum volume floor so low traffic periods do not trigger percentage based rules. Review firing history monthly and delete any alert that has never led to action. Fewer, better tuned alerts outperform comprehensive coverage.