Personyze Wiki Personyze Wiki docs
Open Personyze
Docs/ Campaigns/ Automation — Rules That Watch Your Campaigns and Act
Campaigns

Automation — Rules That Watch Your Campaigns and Act

Automation lets Personyze watch your campaigns and your site for you, and act on what it sees — pause a campaign whose conversion rate has collapsed, publish a…

8 min read Updated 3 hours ago

Automation lets Personyze watch your campaigns and your site for you, and act on what it sees — pause a campaign whose conversion rate has collapsed, publish a promo when site-wide revenue slips two weeks running, email you the moment a test crosses a threshold, or put a campaign live on a date you set. Every rule is one plain sentence: when something happens, then do this.

You’ll find it in two places, and they build the same kind of rule:

  • The Automation screen (account level) — rules that watch every campaign at once, or the whole site. This is also the hub that shows you what your rules have done and whether anything needs you.
  • The Automation step inside a campaign — rules scoped to that one campaign, or to a single action inside it, plus schedule rules that publish or retire it on a date.

Every rule is WHEN → THEN

A rule has two halves, and they’re drawn as two labelled blocks so it’s always clear which part is the condition and which is the consequence:

  • WHEN — what should start it (a number crossing a line, a change against last period, a milestone, a campaign going silent, or a date arriving).
  • THEN — what happens (tell a person, or change what’s running). A rule can carry several THEN actions, and all of them run.

Read out loud, a saved rule sounds like the thing it does:

  • When this campaign’s conversion rate is below 2% over 7 days, email me and pause the campaign.
  • When site-wide revenue is down 30% vs the previous 14 days, publish “Win-back promo”.
  • When “Summer sale” reaches 100,000 impressions, email the team (once).
  • On 20 August at 09:00, publish “Back-to-school banner”.

WHEN — what can start a rule

Two choices define the trigger: what it watches, and how it decides to fire.

What it watches

Scope Measures Can pause / publish?
This campaign Only the visitors this campaign actually reached. Yes — itself.
One action in it A single action inside the campaign, judged on its own. Yes — the campaign.
Any campaign The same test applied to every campaign, judged one at a time, naming the ones that cross it. No — it matches many at once, so it can only tell you.
The whole site How the business is doing, whether or not a campaign is involved. Yes — the campaign it was written on. That’s the point: “launch the promo when the business dips.”
A schedule Nothing — it reads a clock, not data, and works on a campaign that has never run. Yes.

How it decides to fire

Trigger Fires when… Example
Crosses a number A metric is above / below a fixed value over the window. CTR below 2% over 7 days.
Changes vs the period before A metric moves by X% against the equal window immediately before it. Revenue down 30% week on week.
Reaches a total (once) A running total since the campaign started passes a milestone. Fires once, never again. Reached 100,000 impressions.
Stops completely Something that was running now shows nothing at all. A campaign that went silent — a broken feed, a targeting change.
A date arrives (once) A date and time you pick passes. No data is read. Go live Friday; come down after the sale.

Windows. Measured rules compare over 1, 7, 14, or 30 days. Every figure is measured on complete days only — the window never includes today’s partial day — so a rule can’t fire (or fail to fire) because of when today’s data happened to be tallied. The email states the exact number measured and the as-of date, not a rounded threshold.

What it can watch — the metrics

The metrics a rule can watch are exactly the ones the campaign’s Performance charts already show, so an alert and the chart it links to can never disagree. Which ones appear depends on the campaign type (an email campaign offers open and unsubscribe rates; a web-push subscribe campaign offers subscribe rate, and so on). Grouped the way you think about them:

  • Reach — impressions, delivered, visits reached, unique & new visitors, recommendation widgets seen, sent / opened (email).
  • Engagement — clicks, click-through rate, dismissals & dismissal rate, open rate, click-to-open, unsubscribe rate, subscribe rate, failures.
  • Visit quality — bounce rate, pages per visit, average time on site, mobile share.
  • Conversion & revenue — goal completions, conversion rate, goal value, purchases, revenue, revenue per visit, average order value.
  • Recommendations — items clicked, added to cart, purchased, revenue from recommendations, recommendation click rate.

Site-scoped rules use a separate, business-level vocabulary from the same daily roll-up: sessions, visitors, new-visitor share, bounce rate, pages per session, average session time, orders, revenue, conversion rate, average order value, goal completions.

Rates aren’t judged on thin traffic. A click-through rate over four impressions isn’t a number worth waking anyone for. Rate metrics carry a minimum-volume floor (for example, CTR isn’t judged below 100 impressions); below it the rule reports “too little traffic to judge” rather than firing on noise.

THEN — what happens when it fires

Add as many as you like; every one runs. They fall into two families:

Tell a person

  • Email someone — a message; nothing on the site changes. Leave the address blank to use your account’s login addresses (the one list that can’t go stale).
  • Post to Slack — into your connected Slack channel. Connect it once under Integrations and every rule can use it.
  • Call a webhook — POSTs the rule and the numbers that fired it to your endpoint as JSON, so your own systems can react (a ticket, a spreadsheet row, a Zapier/Make/n8n flow):
{
  "source": "personyze-campaign-automation",
  "state": "firing",
  "rule": { "id": 12, "name": "CTR watch", "scope": "campaign",
            "metric": "ctr", "metric_label": "Click-through rate",
            "trigger": "level", "operator": "below",
            "threshold": 2, "period_days": 7 },
  "matched": [ { "campaign_id": 1203, "campaign": "Summer sale",
                 "measured": 0.013, "threshold": 0.02 } ],
  "time": "2026-08-05 14:00:00"
}

Change what’s running

  • Pause / publish this campaign — take the current campaign down, or put it live.
  • Pause / publish another campaign — the fallback pattern: retire an underperformer and start a replacement.
  • Pause / publish a campaign group — switch a whole group at once. Personyze warns you before saving when a group reaches several campaigns, because the reach is easy to underestimate from just the group’s name.

How often a rule repeats

A rule that stays true doesn’t nag. It tells you once when it starts matching, once a day for as long as it keeps matching, and once when it recovers. An action that changes a campaign waits a day between changes, so a number sitting right on the line can’t flip a campaign on and off repeatedly. Milestones and schedules are one-shot — they fire a single time and are done.

Scheduling — publish and retire on a date

A schedule rule reads no data, so it works on a campaign that has never run — the clean way to say “go live on the 20th” or “take this down after the sale.” Pick the date and time in your own timezone. It’s precise to within a few minutes: the rule acts on the first check at or after the moment you set. Because editing a date on a rule that already fired would be ambiguous, changing it re-arms the rule so it can fire again.

Good practice & the guardrails Personyze adds

The editor warns you about the traps before you save:

  • A rule that pauses the campaign it watches can’t undo itself — once paused, the campaign stops collecting the very number the rule reads, so it can never see it recover. If you want it to come back on its own, add a second rule to do that.
  • Site rules are noisy by nature. Site numbers move for reasons that have nothing to do with you — a holiday, an outage, a bad week for ads. Prefer “changes vs the period before” over a fixed line, and give it a window long enough to ride out a quiet weekend.
  • A fixed threshold on a raw count (clicks, revenue) only means something at the current traffic level and needs revisiting as you grow. A rate, or a change comparison, keeps its meaning on its own. (Raw counts are exactly right for a milestone, though.)
  • “Any campaign” rules can’t pause or publish — one rule that switched off every campaign it matched is how a mistyped threshold takes an account dark, so that combination isn’t offered.
  • Webhooks must be public HTTPS endpoints — private/internal addresses are refused, and the URL is validated before the rule is saved so it doesn’t fail silently from a cron pass nobody is watching.

The Automation hub — what needs you, at a glance

The account-level Automation screen is a status page, not just a list. A strip across the top surfaces anything that needs attention — a feed failing, a campaign a rule has paused, a rule currently firing, a feed with no alert watching it, an action that failed to deliver. Sections with a problem open themselves; healthy ones stay closed, so the page is short when all is well and long exactly when it shouldn’t be. Below the strip you’ll find:

  • Changed by automation — campaigns a rule paused or published that a person hasn’t since changed back. “Publish it now” here actually means something, because the row disappears the moment you take the state back by hand.
  • Each rule’s track record — what it has actually done (paused, published, emailed, posted to Slack, called a webhook), with failures pulled to the front regardless of age.
  • History — the full, filterable log of every automation event.

Related

Did this page answer your question?
Thank you — that goes to whoever maintains this page.