Skip to main content
TRACKLAYER · DELIVERY GUARDRAILS

Stop wasting impressions when
delivery breaks.

When a platform API returns >25% errors for 5 minutes, TrackLayer auto-pauses that destination. No ad spend on broken pipes. 4-hour auto-clear or manual resume.
THE SILENT FAILURE MODE
  • Meta CAPI returns 429s for 90 seconds — pixel still sends, impressions burn
  • TikTok API throttles — events queue, 40% deliver 6 hours late, optimization rots
  • Klaviyo rate limit hits silently — platform accepts events, downstream flow fails
  • Shopify webhook outage — 3-hour outage, no alert, budget pours into broken funnel

In all four cases, the HTTP 200s look identical to last week. The ad platform sees degraded signal and optimizes against it. By the time ops notices, the learning phase has absorbed three days of budget against a broken contract.

$ tracklayer destinations status --live
// live destination status · glass-house.co
PlatformStateError %Last Checked
meta● active2.3%14:02:11
tiktok● paused31.2%14:01:58
klaviyo● active4.1%14:02:09
suggestion: TikTok paused at 14:01:58 (error rate 31.2% > 25% threshold for 5 min). Auto-clear at 18:01:58 or resume manually: tracklayer destinations resume --platform tiktok
// THE PROBLEM

Silent destination failures burn ad budget in three ways.

Impression waste. When Meta CAPI returns 429 or 500, the pixel in the checkout still fires. The user completes purchase, the browser sends the event, TrackLayer queues it, and the destination rejects it. But the ad that drove that click already won the auction and served the impression. Budget burned on a conversion that never happened.

Over a 6-hour API outage on a $50K/month Meta account, that's roughly $1,200 of wasted spend on broken signal. Multiply across seven platforms and it adds up fast.

Optimization decay. Ad platforms learn from the signal they receive. If half of your purchase events fail silently, the model assumes your conversion rate is half of reality. It widens reach, lowers bid confidence, and your CPA drifts up.

The fix is not increasing budget. The fix is a system that stops sending when the pipe breaks and resumes when it heals.

§ 01

5-minute polling with per-merchant policy.

Every 5 minutes, the health worker samples the last 1,000 delivery attempts per platform. If error rate exceeds the merchant's threshold, the destination state flips to paused.
§ 01
Sample last 1,000 deliveries
Per (merchant_id, platform_name). Error rate = (4xx + 5xx + timeouts) / 1000.
§ 02
Compare against threshold
Default: 25%. Tunable per platform via Phase 5.11 auto_pause_on_anomaly capability.
§ 03
Flip state to paused
Destination table updated: state = 'paused', paused_at = now(), paused_reason = 'error_rate_31.2%'.
§ 04
Stop outbound fan-out
Consumer worker checks state before each platform send. Paused platforms skip delivery queue.
§ 05
Alert ops
Slack and email fire with platform, error rate, and auto-clear timestamp.
§ 06
Auto-clear after 4 hours
If error rate drops below threshold, auto-resume. Ops can also resume via POST /v1/destinations/{id}/resume.
// auto_pause_events · last 10 rows
id      | merchant_id | platform   | action       | error_rate | reason                     | created_at
--------+-------------+------------+--------------+------------+----------------------------+--------------------------
ap_8f2c | northfield  | tiktok     | pause        | 31.2%      | rate_threshold_exceeded      | 2026-04-23 14:01:58
ap_8f2d | northfield  | tiktok     | auto_resume  | 2.8%       | auto_clear_4h_window       | 2026-04-23 18:01:58
ap_8f3e | glasshouse  | meta       | pause        | 28.7%      | rate_threshold_exceeded      | 2026-04-23 16:42:11
ap_8f3f | glasshouse  | meta       | manual_resume| —          | ops_intervention            | 2026-04-23 16:45:02
ap_8f4a | halcyon    | klaviyo    | pause        | 41.3%      | rate_threshold_exceeded      | 2026-04-22 09:14:33
§ 02

Plan-gated capability.

Phase 5.11 auto_pause_on_anomaly is available on Pro+ tiers. Each merchant sets per-platform thresholds and suppression windows.
PRO · $599/mo
  • 25% default threshold
  • 5-min polling interval
  • 4-hour auto-clear window
  • Slack + email alerts
  • Dashboard resume UI
ENTERPRISE · custom
  • Custom threshold per platform
  • 1-min polling available
  • Custom auto-clear window (1–24h)
  • Webhook + PagerDuty
  • API-only resume path
§ 03

Manual resume API.

Don't wait 4 hours. If you confirmed the platform is healthy, resume delivery immediately.
# resume a paused destination manually
curl -X POST \
  -H "Authorization: Bearer $TRACKLAYER_API_KEY" \
  -H "Content-Type: application/json" \
  https://tracklayer-api.sublime.workers.dev/v1/destinations/tiktok_abc123/resume \
  -d '{
    "reason": "Platform confirmed healthy via support ticket #8921"
  }'

# response
{
  "destination_id": "tiktok_abc123",
  "state": "active",
  "resumed_at": "2026-04-23T14:45:02Z",
  "resumed_by": "api",
  "previous_pause_reason": "error_rate_31.2%",
  "paused_at": "2026-04-23T14:01:58Z"
}

The resume action is logged in the auto_pause_events table with action = 'manual_resume' and reason captured. Dashboard shows the full pause/resume timeline per platform.

§ 04

Every pause is logged to the audit trail.

Auto-pause events are written to audit_events with tamper-evident hashing. SOC2-ready compliance proof.
// audit_events · filtered by auto_pause
event_id    | event_type      | resource_id        | actor         | prev_hash       | hash                          | created_at
------------+-----------------+-------------------+---------------+-----------------+-------------------------------+--------------------------
ae_9a2f1   | destination_pause| tiktok_abc123      | system_worker | h8f3a2c...d1   | h9b4e3d...f2 (sha256 prev||mat) | 2026-04-23 14:01:58
ae_9a2f2   | alert_sent      | northfield_merch   | system_worker | h9b4e3d...f2   | ha1c5e9...b3                     | 2026-04-23 14:02:01
ae_9b3e1   | destination_resume| tiktok_abc123      | api_user      | ha1c5e9...b3   | hc2d6f0...a4                     | 2026-04-23 14:45:02
// HOW IT COMPARES

Other tools vs TrackLayer Anomaly Auto-Pause.

CAPABILITYTRACKLAYERStapeElevar
Auto-pause on error-rate threshold
Per-platform tunable thresholds
5-minute polling window
4-hour auto-clear
Manual resume API~
Audit log integration~
Slack + email alerts~~
TRACKLAYER
Auto-pause on error-rate threshold
Per-platform tunable thresholds
5-minute polling window
4-hour auto-clear
Manual resume API
Audit log integration
Slack + email alerts
Stape
Auto-pause on error-rate threshold
Per-platform tunable thresholds
5-minute polling window
4-hour auto-clear
Manual resume API
Audit log integration
Slack + email alerts
~
Elevar
Auto-pause on error-rate threshold
Per-platform tunable thresholds
5-minute polling window
4-hour auto-clear
Manual resume API
~
Audit log integration
~
Slack + email alerts
~
// AVAILABLE ON

Pro+ and Enterprise.

Anomaly auto-pause is part of the Pro+ delivery guardrails ($599/mo). Enterprise adds custom thresholds, 1-minute polling, and webhook integration.
PRO+ · $599/moENTERPRISE · custom
§ A

5-min health polling

Samples last 1,000 delivery attempts per platform every 5 minutes.

§ B

25% error threshold

Default tunable threshold per platform. Flips state on sustained breach.

§ C

4-hour auto-clear

Auto-resumes when error rate drops below threshold or manual intervention.

§ D

Audit-logged pauses

Every pause/resume written to audit_events with hash chain.

FAQ

Common questions about anomaly auto-pause.

What counts as an error?
HTTP 4xx (429, 403, 404), 5xx (500, 502, 503, 504), and timeouts (>10s). Error rate = (errors + timeouts) / total deliveries sampled.
Can I customize the threshold?
Yes. Pro+ uses 25% default. Enterprise can set per-platform thresholds via the destinations API or dashboard. Minimum: 10%. Maximum: 75%.
What happens to queued events when paused?
Events continue to queue in the delivery queue table. When the destination resumes, the consumer worker backfills the queue. No events are lost.
How do I resume manually?
POST /v1/destinations/{id}/resume with a reason. The resume is logged to audit_events and visible in the dashboard timeline.
Does this work for all platforms?
All 24 destinations support auto-pause. Thresholds are per-platform, so you can have stricter rules for Meta and looser rules for TikTok if their API behaves differently.
NEXT

Stop burning budget on broken
destinations.

14-day free trial on the Pro+ plan. Auto-pause runs from your first event. No credit card.
Start free trial →BOOK A DEMO
PRO+ · $599/MO · 14-DAY TRIAL · NO CC · CANCEL ANYTIME

We use essential cookies to keep the site secure and functional. Analytics and third-party tags run only with your consent. See our Cookie Policy.

We use essential cookies to keep the site secure and functional. Analytics and third-party tags run only with your consent. See our Cookie Policy.