GA4 alerts are the cheapest insurance in analytics. A broken tag, a robots.txt that blocks a whole directory, a checkout that silently stops firing purchase events — each of those costs you weeks if you find it in the monthly report, and hours if an email lands the next morning.
The confusing part is naming. There is no menu item called “alerts” in GA4. What you want is custom insights, and once you know that, setup takes five minutes.
Insights versus custom insights
GA4 ships two different things under the Insights banner.
Automated insights appear on the Home screen and in the Insights panel without any configuration. Google’s models scan your data and surface things it thinks are notable: a spike in a channel, an unusual country, a rising page. They are occasionally useful and entirely uncontrollable — you cannot tell GA4 which metrics you care about, and you do not get emailed when one fires. Treat them as ambient curiosity, not monitoring.
Custom insights are the real alerting system. You define the condition, the evaluation frequency, and the recipients. When the condition is met, GA4 emails you. This is the feature to invest in.
Creating a custom insight step by step
From any report, open the Insights panel on the right (or find Insights on the Home screen) and choose to create a new insight. Google offers a set of suggested templates — an anomaly in users, a drop in conversions — and they are a reasonable starting point, but build at least one from scratch so you understand the mechanics.
- Evaluation frequency. Hourly, daily, weekly, or monthly. This is not just how often the check runs; it defines the comparison window. An hourly insight compares this hour to the model’s expectation for this hour.
- Segment. Restrict the insight to a slice of traffic — organic sessions only, one country, one device category. An unsegmented alert on total users will miss a 40% collapse in organic if paid happens to spike the same week.
- Metric. Sessions, users, key events, revenue, event count, engagement rate. GA4 renamed conversions to key events in 2024; the underlying metric is the same one you were watching before.
- Condition. Either “has anomaly” (Google’s model decides) or an explicit rule: greater than, less than, percent change above a threshold.
- Name and recipients. Name it so the email subject makes sense at 7am. “Organic sessions anomaly — daily” beats “Insight 3.”
Save it, then wait. Insights only evaluate going forward; creating one does not backfill alerts for last month.
Anomaly detection versus fixed thresholds
Anomaly detection uses a time-series model trained on your own historical data, so it accounts for weekday-versus-weekend rhythm and gradual growth. That is a real advantage over the old Universal Analytics custom alerts, which only knew fixed percentages. It needs history to work — a property with three weeks of data will produce noisy anomaly alerts, and a property that just changed tagging will flag the change itself as an anomaly for a while.
Fixed thresholds are better in three situations:
- Zero-detection. “Purchases less than 1, evaluated daily” catches a broken ecommerce tag with no ambiguity. An anomaly model may absorb a zero on a low-volume site.
- Business floors. If fewer than 20 leads a week breaks the plan, alert on 20, not on statistical unusualness.
- New properties. No training data, no useful anomaly detection. Use thresholds for the first quarter.
One practical detail about percent-change conditions: they compare against the equivalent previous period, so a weekly insight compares this week to last week, not to a rolling average. On a business with a strong monthly cycle — invoicing software that spikes at month end, a B2B service that dies over the holidays — a plain percent-change rule will fire every time the cycle turns. Either segment those periods out or lean on anomaly detection, which has the seasonality baked in.
Run both types on your most important metric. The anomaly version catches the strange, the threshold version catches the catastrophic.
Five alerts worth setting up today
- Organic sessions anomaly, daily, segmented to organic search. Your early-warning system for algorithm updates, deindexation, and accidental noindex tags.
- Key events below a floor, daily. Set the floor at roughly half your worst normal day. This is the tag-break detector.
- Total users anomaly, hourly. Catches site outages and broken deployments within the hour. Only worth it if someone actually reads email during the workday.
- 404 or error page views above a threshold, daily. Requires that you fire an event or track the error page as a distinct path, and it repays the setup every time a migration goes sideways.
- Referral or unassigned traffic percent change, weekly. A sudden jump in unassigned usually means UTM tagging broke or a redirect is stripping parameters.
Notice what is absent: nothing about rankings. GA4 has no keyword or position data at all. Search queries live in Search Console, and while linking the two properties surfaces a limited set of Search Console fields inside GA4, you cannot build a custom insight on query-level performance or on average position. Ranking alerts have to come from Search Console or a rank tracker.
Limits and gotchas
A handful of realities to design around:
- Per-property caps. GA4 limits how many custom insights a property can hold, and how many a single user can create. It is generous enough for a sane setup and restrictive enough to punish shotgun alerting.
- Email only. There is no native Slack or webhook destination. Route the emails into a Slack channel with an email-to-channel address if that is where your team lives.
- Ownership. Insights belong to the account that made them. When that person loses property access, the emails stop with no notification.
- Late data. GA4 processing can lag several hours, and modeled conversions settle over days. Hourly alerts on small properties will fire on incomplete data.
- Thresholds go stale. A floor set when you did 200 sessions a day is meaningless at 2,000. Review numeric thresholds every quarter.
Avoiding alert fatigue
The failure mode is not too few alerts. It is twenty alerts that fire weekly, get filtered into a folder, and hide the one that mattered. Apply a hard rule: every alert must have a named owner and a documented first action. If nobody can say what they would do when it fires, delete it.
Write the first action into the alert name where you can. “Key events below floor — check GTM container” tells the recipient what to do before they open anything. It sounds trivial; it is the difference between an alert that gets handled in ten minutes and one that sits unread until someone has time to investigate properly, which is never.
Start with three. Live with them for a month. If one fires more than twice without producing an action, either widen the threshold or remove it. Adding alerts is easy; the discipline is in pruning them.
GA4 alerts are monitoring, not reporting
Keep the two jobs separate in your head. Alerts answer “is something broken right now?” — they are binary, urgent, and aimed at whoever can fix it. Reports answer “are we winning?” — they are trends, they need context, and they are aimed at people making budget decisions. Trying to make one system do both produces a monthly report full of red flags and a monitoring setup nobody trusts.
On the reporting side, SEO Rocket connects Search Console and GA4 as ground truth alongside third-party rank estimates, saves a snapshot with movement deltas on each refresh, and writes a plain-English summary of what moved and why it might have. It also offers a read-only client progress dashboard that is free to view, with cost applied only when you refresh the data. It does not build custom dashboards or replace GA4’s own insights engine — for anomaly monitoring, set up your custom insights and let them run.