Alerts & audiences

Threshold and anomaly alert rules delivered to Slack, webhooks and email; audience segments with CSV, webhook, Meta and TikTok activation.

Updated 2026-09-02

Alerts#

Rules live under Alerts and are evaluated by the scheduler every 15 minutes.

ModeFires when
THRESHOLDA metric crosses a value for the scope (clicks, installs, conversions, revenue, spend, cpi, cvr, roas, invalid_rate, uninstalls, reengagements, events:<name>) over the window
ANOMALYThe metric's z-score against the trailing 28-day same-hour baseline exceeds the sensitivity (default 3σ)

Scopes: organization, campaign or app. Channels: Slack incoming webhook, generic webhook (JSON), email. Alert events record status (OPEN, ACKED, RESOLVED) and are returned by the MCP recent_alerts tool.

Webhook payload
{ "type": "alert.fired", "rule": "Invalid rate spike", "metric": "invalid_rate", "scope": { "type": "CAMPAIGN", "id": "…", "name": "Brand — Search" }, "value": 0.41, "threshold": 0.2, "window": "1h", "url": "https://app.whichclick.is/dashboard/alerts" }

Audiences#

Audiences are saved segments over installs, events and conversions built in the Audiences editor (visual builder over a safe SQL subset):

Text
installs where campaign in ("TikTok TR") and platform = ios
  and events.purchase.count(30d) >= 1 and not events.subscribe.exists

Membership is recomputed on demand or on a schedule; sizes are shown live.

ExportPayload
CSVHashed device ids (SHA-256 IDFV / GAID) plus attributes
WebhookBatches of members as JSON
Meta custom audienceUploaded via Marketing API (hashed identifiers)
TikTok custom audienceUploaded via Marketing API

Audience activations require a partner connection under Integrations and are logged as AudienceExport records with counts and status.