Home › Blog › IA & Automatización
IA & Automatización

Daily campaign monitoring: rules, scripts and Claude

How to build daily campaign monitoring in Google Ads with rules, scripts and Claude, without ending up muting your own alerts.

Lionel Fenestraz · 25 September 2026 · 11 min read · Updated: September 2026
An espresso beside an open laptop on a desk in early morning light
In this article

A client emailed me on a Tuesday morning asking why his brand campaign hadn’t served for three days. Three days. The rule that should have warned me existed, it was active, and it had sent its email on time every morning. The problem is that email arrived alongside eleven others with a nearly identical subject line, and my Gmail filter had been archiving them by itself for months.

That’s what this post is about, and it isn’t automation. Building rules and scripts is the easy part and it’s already well documented. The hard bit is deciding what deserves to interrupt you on a Tuesday morning. If you’re looking for how to build the rules themselves, I’ve got a separate guide on automated rules in Google Ads and Meta Ads with the conditions step by step. This is the layer above it: what you watch, with which tool, and what you do when something fires.

In 30 seconds:

  • The bottleneck isn’t automating, it’s deciding what deserves an alert. A system that warns you about everything mutes itself.
  • Native rules are the cheap, reliable layer, but they only fire on thresholds you predicted in advance.
  • Scripts see what rules can’t, in exchange for maintenance. Google documents that an error can be logged while the script keeps running.
  • Claude is good at reading an exported report and flagging what looks off. It has no live data and shouldn’t do the arithmetic that decides your budget.
  • A well-built daily review is ten minutes, not an hour of dashboards.

What actually deserves a daily alert?

Only things that meet two conditions: it’s reversible, and finding out a day late costs real money. If one of the two fails, it isn’t an alert, it’s a line in Monday’s report.

That leaves three families, far fewer than most people expect. Something stopped: a campaign not serving, a disapproved ad, an expired card. Something ran away: spend well above the normal pace within a few hours. And something broke underneath, which is usually the most expensive one because you don’t see it looking at the account: conversions stop landing while traffic carries on as normal.

Google already covers part of that first family on its own. Its notifications documentation says one purpose is to “Alert you to a potential problem with your ad delivery or campaign set up” (Google Ads Help). That layer ships by default and plenty of people have it switched off without knowing. Before you build anything, look at what the platform is already sending you.

And the rest? CPA up on a Tuesday, a keyword slipping two positions, the CTR on an ad with forty impressions. None of that deserves an email. It’s noise wearing the costume of urgency, and every one you let through makes the next genuinely important warning land a little more ignored.

The three layers of daily monitoring and where each one stops

Each layer solves a different problem and none replaces the one before it. This is the split I use:

LayerWhat it catches wellWhere it stopsMaintenance
Native notificationsServing, billing, policyKnows nothing about your businessNone
Automated rulesThresholds you defined: spend, CPA, statusOnly fires on what you predictedLow
ScriptsRelative anomalies, joins with other sourcesThey break silentlyMedium-high
Claude on an exportWhat’s odd and why, in plain languageNo live dataLow, but manual

Rules are the foundation and should cover almost everything. You schedule them at whatever cadence you want: Google’s help says to “Select how often you want your rule to run (for example daily, or only once on a particular date and time) from the ‘Frequency’ menu” (Google Ads Help). Their limit is conceptual, not technical. A rule checks a condition you wrote, so it only finds problems you’d already imagined.

Scripts begin where that ends. They’re for the relative stuff: comparing today against the same weekday last week, joining the account to a spreadsheet, checking that landing pages respond. Google’s own anomaly detector “is comparing stats observed so far today with historical stats for the same day of week” (Google Ads scripts). A rule can’t do that.

They come with two costs. An execution ceiling, since “Google Ads scripts for advertiser accounts can execute for a maximum of 30 minutes” (limits). And something worse: they fail quietly. The error documentation puts it plainly, “Error is logged into Changes log, but the script keeps running” (errors). A half-broken script looks healthy. The installation detail is in my post on Google Ads scripts.

Why do you end up muting your own alerts?

Because the cost of an alert isn’t building it, it’s the attention it consumes every time it fires. You pay that bill yourself, every day, until you stop paying it.

Google has clearly accepted this. There’s a whole page dedicated to turning these emails off: “There are three ways to stop getting emails with updates about your rules: you can change the email settings for that particular rule, pause the rule, or remove it” (Google Ads Help). And in the anomaly script, the frequency recommendation ships with the warning built in: hourly to get the most out of it, and “if the alert is too noisy”, daily instead. When the manufacturer warns you about the noise in the manual, the noise is part of the design.

My test for whether an alert survives is one question: can I name the specific action I’ll take when it lands? If the answer is “look at it”, it isn’t an alert. It’s a report dressed as an emergency, and reports go into Monday, batched.

Three things I do so the system lasts more than a month:

  • I split channels by severity. Account stopped or spend running away goes to my phone. Everything else lands in an email label I open once a day, always at the same time.
  • No duplicate alerts. If a rule already watches budget, the script doesn’t watch it too. Two warnings about one problem train you to ignore both.
  • I review the log monthly. Any alert that fired repeatedly without causing a single change gets switched off. Not retuned: off.

That last one is hard for me, because switching an alert off feels like dropping your guard. In my experience the opposite happens. An inbox with three warnings a month gets read in full; one with thirty gets read never.

What does Claude do well here, and what doesn’t it?

One thing well: reading an exported report and telling you what stands out and why, in the language you use with the client. That genuinely saves time, especially with exports running to hundreds of rows.

What it doesn’t do is see your live data. A model works on what you paste in or what a connected tool hands it, and its own knowledge has an expiry date. Anthropic defines that cutoff as “The date through which the model’s knowledge is most extensive and reliable” (Anthropic). It isn’t a dashboard. It’s a fast reader of documents you give it.

I also don’t hand it arithmetic that decides money. Anthropic’s own guidance on hallucinations is explicit: “while these techniques significantly reduce hallucinations, they don’t eliminate them entirely. Always validate critical information, especially for high-stakes decisions” (Anthropic). The same page recommends giving it permission to admit it doesn’t know. A model that goes quiet when it isn’t sure is worth far more than one that fills gaps.

So the split that works for me: the machine detects the change, Claude proposes the explanation, I decide. Never the other way round. For concrete workflows I’ve written about Claude applied to search terms, automating reports with Claude and Looker and when an agent earns its keep and when it’s overkill.

What a real daily review looks like

Ten minutes, same order, every working day. I’ll use an ecommerce account with three Search campaigns and one Shopping campaign as the example.

  1. I open the email label, not the account. If there’s nothing there, I’m done in thirty seconds. That’s the point of the whole system.
  2. I check native notifications. Disapprovals, payment warnings, serving problems. Usually zero, and when they aren’t, they’re the most urgent thing that day.
  3. I compare yesterday’s spend against the same weekday last week. Not against the previous day. Monday looks nothing like Sunday, and comparing consecutive days manufactures a false positive every seven days.
  4. I confirm conversions landed. Normal traffic with conversions at zero almost always means the tag broke, not that people stopped buying.
  5. If something fires, I export and ask. This is where Claude comes in, with a fourteen-day report pasted in and a specific instruction: tell me which rows break the pattern and what I’d check first. And flag whatever it can’t know from that data.
  6. I write the decision in two lines. What I saw, what I did, what I expect. Without this, in three weeks nobody remembers why that budget changed.

One detail that prevents a lot of scares: today’s data isn’t complete. Google’s data freshness page says click and cost stats are “subject to a 1-hour data freshness Service Level Objective (SLO)”, while conversion tracking data takes “3 hours” on last click and “15 hours” on other attribution models (Google Ads Help). An alert comparing this morning against a full day will lie to you, always in the same direction.

Who watches the watchers?

Nobody, unless you build it deliberately. It’s the failure I run into most when auditing accounts that already had automation: the system has been down for months and the feeling of being covered is perfectly intact.

The fix is inelegant and it works: a heartbeat. Have one of your scripts send a summary every Monday even when nothing happened. If one Monday that email doesn’t arrive, you know the machinery broke, not the account. It’s the cheap way to tell “all good” apart from “I haven’t had data in three weeks”.

Once a quarter I also review the inventory: which rules are live, which scripts run, and who receives what. It depends on account size, but wherever several people have touched the account is where the junk piles up. For that deep clean I use the framework in my Google Ads account audit guide, and if your alerts touch bid targets, revisit how Smart Bidding in Google Ads behaves first.

Frequently asked questions

How often should I review a Google Ads account?

Daily, but reviewing alerts rather than dashboards. The daily pass exists to catch broken things, and that’s five to ten minutes. Performance analysis needs longer windows and enough conversions to mean anything. Mixing the two leads to changing bids because of the noise on a random Tuesday.

Do automated rules replace scripts?

No, they cover different ground. Rules evaluate thresholds you define and run at the frequency you choose. Scripts handle relative comparisons, joins with external data and checks no interface condition can express. In most cases you start with rules and only move up to scripts when you hit a specific limit.

Can I connect Claude directly to my Google Ads account?

Yes, through connected tools, but the workflow still needs human review before changes get applied. And the connection doesn’t fix the underlying issue: the model interprets what it receives, it doesn’t verify the data is correct. I wrote about this setup in Claude and MCP for consultants, including the permissions worth withholding.

How many alerts are too many?

When you stop opening them one by one. There’s no correct number since it depends on account volume, but as a rule of thumb: if you’ve ignored half your warnings this month, the system isn’t protecting you. Switch off the ones that never produced an action before adding any new ones.

What if a script stops working and I don’t notice?

Build a periodic heartbeat, because scripts fail silently. Google documents that an error can be logged to the change history while execution continues, so from the outside the script looks healthy. A weekly summary that always arrives, even empty, turns the absence of an email into the alert itself.

The real cost of an alert is the attention it consumes

If you take one idea from this: building the automation is the cheap part, which is why everyone starts there. The expensive part is judgement. Deciding what deserves to pull you out of whatever you’re doing, and accepting that the good list is shorter than your manager anxiety would like.

I’ve seen accounts with twenty live rules where nobody knew which did what, and accounts with four where the manager heard about everything important the same day. The difference wasn’t the tool. It was that somebody sat down one afternoon and decided what counted as an emergency, then had the discipline to switch off the rest.

Start small, because small is what survives. Three alerts you actually care about beat a complete system you’ll stop reading in a fortnight. If you’d like me to look at your account and build that short list together, book 30 minutes of consulting.

Lionel Fenestraz — Freelance Google Ads & Meta Ads Consultant
Lionel Fenestraz
Freelance PPC & CRO Consultant · Google Partner · CXL Certified · Google Ads Search Certified
7+ years managing Google Ads and Meta Ads for vacation rental, B2B and ecommerce. Trilingual ES/EN/FR.
Free first call

Could your ad campaigns
perform better?

30 minutes to review your situation and tell you exactly what I would change. No pitch, no sales proposal.

Book a call →
30 min · Google Meet · No commitment