What this audit checks
Authentication & access
- REST API key + account email valid (Basic auth on /dev/api/users/current-user)
- Account domain resolves to the correct subdomain host
- Account plan exposes campaign-log + tracking endpoints (some endpoints are plan-gated)
List & subscriber health
- Marketable audience (active, non-unsubscribed, non-bounced contacts) shrinking vs prior period
- Share of bounced contacts on a list above 5% (list decay)
- Unsubscribe rate above 2% sustained over the window
- Lists with zero growth and rising inactive share (stale list)
Deliverability
- Delivery rate below 95% (sender-reputation or list-quality drift)
- Hard bounce rate above 5%
- Spam-complaint rate above 0.3% (Agile CRM / upstream ESP throttling risk)
- Unsubscribe rate above 2% on a single campaign
Campaign & automation performance
- Open rate below 10% or click-to-open below 3% (content/segment problem)
- Enabled automation flow with last_enrolled_time stale > 24h (broken trigger)
- Flow status distribution skewed to paused/draft (automations not running)
- Revenue-per-send collapsing vs prior period despite steady send volume
Revenue & checkout funnel
- Checkout-to-order rate below baseline (tail-of-funnel leak)
- Refund rate above 8% on tracked orders
- Placed-orders total down vs prior period while sends held flat
Cross-channel: revenue-at-risk (the killer area)
- Campaigns with a healthy open rate but ~0 attributed ecom revenue when an ecommerce sibling is connected (sibling = bigcommerce/shopify/adobe_commerce.order joined on utm_source/contact_email)
- Ecom customers absent from every Agile CRM list - missed lifecycle email revenue
- Engaged subscribers (repeat clickers) with zero ecom purchases - nurture-to-purchase gap
- Agile CRM tracked orders with no matching ecom-platform order within 24h (attribution / sync drift)
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
delivery_rate | 97 | 95 |
bounce_rate | 2 | 5 |
spam_complaint_rate | 0.1 | 0.3 |
unsubscribe_rate | 0.5 | 2 |
open_rate | 15 | 10 |
refund_rate | 5 | 8 |
Data sources
GET https://{domain}.agilecrm.com/dev/api/users/current-user- Auth + account sanityGET https://{domain}.agilecrm.com/dev/api/contacts/count- Marketable-audience size + subscriber driftGET https://{domain}.agilecrm.com/dev/api/lists- List inventory, sizes, typeGET https://{domain}.agilecrm.com/dev/api/filters- Saved-segment inventoryGET https://{domain}.agilecrm.com/dev/api/campaign-logs- Send / delivery / open / click / bounce / spam / unsubscribe / revenue statsGET https://{domain}.agilecrm.com/dev/api/workflows- Automation flow inventory + status + last-enrolledGET https://{domain}.agilecrm.com/dev/api/track/orders- Checkout-started / placed / refunded tracked orders for funnel + attribution