Most agencies set up zero GA4 alerts. They check dashboards manually every morning and hope something catches their eye. The minority that does set alerts usually picks the wrong metric (traffic), the wrong threshold (10%), or no minimum-volume floor, and learns to ignore the constant false positives.

Here is the alert that works. One alert per client site, copied across all of them.

The recipe

Trigger: Conversion rate dropped by 30% or more in the last 24 hours, comparing to the trailing 7-day average, AND the trailing 7-day average daily conversions is >= 3.

Why this exact combination

Why conversion rate, not raw conversions

Raw conversions move with traffic. If your client's ad budget is paused on a Saturday, raw conversions drop and you get an alert that is not a problem. Conversion rate normalizes for traffic. If conversion rate is steady, the funnel is healthy regardless of how much traffic showed up. If conversion rate craters while traffic is normal, something broke.

Why 30%, not 10%

Conversion rate naturally bounces 10 to 20% day-to-day, even on stable sites. A 10% threshold triggers constantly on noise. 30% is the floor where "something materially changed" outpaces normal variance.

Why "last 24 hours vs trailing 7-day average"

Comparing to "yesterday" is wrong (Tuesday vs Monday is naturally different). Comparing to "last week same day" handles weekly seasonality but is noisy. The 7-day trailing average is the right balance: it smooths weekly seasonality without dragging in old data.

Why the >= 3 floor

For a low-traffic client that averages 2 conversions per day, a "67% drop" is 2 to 1 conversion. That is noise, not a signal. The 3-conversion floor skips alerts on too-small samples.

How to set it up

Native GA4 Custom Insight

  1. GA4 → Reports → Insights → Create → Custom Insight.
  2. Name: "Conversion rate dropped 30%".
  3. Evaluation frequency: Daily.
  4. Segment: All Users.
  5. Metric: Session conversion rate (or your specific conversion event's rate).
  6. Condition: % change vs Previous period <= -30%.
  7. Add email recipient.
  8. Save.

Note: GA4's Custom Insight does not have a built-in minimum-volume floor or a 7-day average comparison. You will get false positives on low-traffic clients and on Mondays after weekends. This is why agencies past 5 clients move to a tool that handles those nuances natively.

In a multi-site monitor (Parafunnel)

  1. Connect Google account via OAuth (one click).
  2. Set the alert rule once at the agency level: "alert when any client's conversion rate drops 30% vs trailing 7-day avg, min 3 conversions/day".
  3. Pick delivery: email, SMS, Slack.
  4. Done. New clients are auto-monitored.

What this alert catches

  • Form submissions broken by a deployed CSS or JS change
  • Tracking script removed during a site rebuild
  • Payment flow returning errors
  • Landing page A/B test gone wrong
  • Bot traffic spike that dilutes conversion rate
  • Newly added contact-form anti-spam that is too aggressive

What this alert misses

This single alert covers most fires but not all. Three failure modes need their own alert:

  • Conversions = 0 for 24 to 48 hours. If a small site already had a low conversion baseline, the percentage-based alert may not trigger. A separate "zero conversions for 36 hours" alert catches this.
  • Slow-bleed underperformance. A 5% daily drop sustained over a month is invisible to a 30% trigger. Schedule a weekly digest comparing week-over-week.
  • Traffic drop without conversion-rate drop. Same conversion rate, half the traffic = half the leads. Set a "traffic dropped 40%" secondary alert.

Common mistakes

  • Same threshold for every client. A high-volume client and a low-volume client have different signal-to-noise ratios. Tighten thresholds on high-volume sites.
  • Alerting on the wrong "conversion". If the GA4 property has 8 conversion events configured, alerting on the aggregate hides which one broke. Alert on the primary lead event specifically.
  • No on-call rotation. Alerts at 11pm get ignored. Define who is on-call and what tier of alert merits a phone call.
  • Alert recipients silently ignoring it. If alerts go to an inbox no one watches, you do not have monitoring. Pipe to Slack or SMS for at least the most severe alerts.

What to do when the alert fires

A simple 5-step runbook:

  1. Confirm the alert is real (open the GA4 property, sanity-check the chart).
  2. Check if the client deployed anything in the last 24 hours (ask in their team channel).
  3. Test the funnel end-to-end yourself (open the page, submit the form, check the inbox).
  4. If broken, ping the client with the specific failure and a fix-by ETA.
  5. Log the incident so you can spot patterns over months.

Related reading

Set this alert once, monitor every client

Parafunnel applies your alert rules across every connected GA4 property.

Try Parafunnel Free